From 780d311a65844f31a3e581585fae226f49c5c32b Mon Sep 17 00:00:00 2001 From: John Fallows Date: Fri, 11 Oct 2024 18:38:40 -0700 Subject: [PATCH 01/16] Update CHANGELOG.md --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e671fae5d4..8c4e88a0dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [0.9.99](https://github.com/aklivity/zilla/tree/0.9.99) (2024-10-12) + +[Full Changelog](https://github.com/aklivity/zilla/compare/0.9.98...0.9.99) + +**Merged pull requests:** + +- Update advertised protocol version in pgsql server binding [\#1294](https://github.com/aklivity/zilla/pull/1294) ([akrambek](https://github.com/akrambek)) +- Support cancel request [\#1293](https://github.com/aklivity/zilla/pull/1293) ([akrambek](https://github.com/akrambek)) + ## [0.9.98](https://github.com/aklivity/zilla/tree/0.9.98) (2024-10-10) [Full Changelog](https://github.com/aklivity/zilla/compare/0.9.97...0.9.98) From cb44f1e8975e16e9cb3071920986e75f18f6ee38 Mon Sep 17 00:00:00 2001 From: John Fallows Date: Sat, 12 Oct 2024 12:35:49 -0700 Subject: [PATCH 02/16] Include prefer wait in watch request even after initial 404 read request (#1295) --- .../zilla/runtime/filesystem/http/internal/HttpPath.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/runtime/filesystem-http/src/main/java/io/aklivity/zilla/runtime/filesystem/http/internal/HttpPath.java b/runtime/filesystem-http/src/main/java/io/aklivity/zilla/runtime/filesystem/http/internal/HttpPath.java index 99bc466f5a..4996741b55 100644 --- a/runtime/filesystem-http/src/main/java/io/aklivity/zilla/runtime/filesystem/http/internal/HttpPath.java +++ b/runtime/filesystem-http/src/main/java/io/aklivity/zilla/runtime/filesystem/http/internal/HttpPath.java @@ -358,11 +358,12 @@ HttpRequest newWatchRequest() { HttpRequest.Builder request = HttpRequest.newBuilder() .GET() - .uri(location); + .uri(location) + .header("Prefer", "wait=86400"); if (etag != null) { - request = request.headers("If-None-Match", etag, "Prefer", "wait=86400"); + request = request.header("If-None-Match", etag); } return request.build(); From 1f53f03835cf4abf6af2aeda1f34fc9735a702da Mon Sep 17 00:00:00 2001 From: bmaidics Date: Mon, 14 Oct 2024 18:08:39 +0200 Subject: [PATCH 03/16] Upgrade agrona version (#1281) --- .../manager/internal/commands/install/ZpmInstall.java | 1 - pom.xml | 6 +++--- .../zilla/runtime/engine/internal/poller/Poller.java | 10 +++------- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/manager/src/main/java/io/aklivity/zilla/manager/internal/commands/install/ZpmInstall.java b/manager/src/main/java/io/aklivity/zilla/manager/internal/commands/install/ZpmInstall.java index ddd1fd7a32..5252c170d5 100644 --- a/manager/src/main/java/io/aklivity/zilla/manager/internal/commands/install/ZpmInstall.java +++ b/manager/src/main/java/io/aklivity/zilla/manager/internal/commands/install/ZpmInstall.java @@ -753,7 +753,6 @@ private void generateLauncher() throws IOException "JAVA_OPTIONS=\"$JAVA_OPTIONS -Dzilla.directory=$ZILLA_DIRECTORY\"", String.format(String.join(" ", Arrays.asList( "exec $ZILLA_DIRECTORY/%s/bin/java", - "--add-opens java.base/sun.nio.ch=org.agrona.core", "$JAVA_OPTIONS", "-m io.aklivity.zilla.runtime.command/io.aklivity.zilla.runtime.command.internal.ZillaMain \"$@\"")), imageDir))); diff --git a/pom.xml b/pom.xml index d0393b6c0d..7fe8c4d9ca 100644 --- a/pom.xml +++ b/pom.xml @@ -55,7 +55,7 @@ io/aklivity/zilla/conf/checkstyle/configuration.xml io/aklivity/zilla/conf/checkstyle/suppressions.xml 4.13.0 - 1.21.1 + 1.23.1 1.7.36 5.10.2 4.0.23 @@ -430,7 +430,7 @@ maven-surefire-plugin 3.0.0-M5 - @{jacoco.java.option} -Xshare:off --add-opens java.base/sun.nio.ch=ALL-UNNAMED + @{jacoco.java.option} -Xshare:off @@ -443,7 +443,7 @@ maven-failsafe-plugin 3.0.0-M4 - @{jacoco.java.option} -Xshare:off --add-opens java.base/sun.nio.ch=ALL-UNNAMED -Djdk.attach.allowAttachSelf=true + @{jacoco.java.option} -Xshare:off -Djdk.attach.allowAttachSelf=true diff --git a/runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/internal/poller/Poller.java b/runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/internal/poller/Poller.java index 1ec0d888a6..dc0a9371e1 100644 --- a/runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/internal/poller/Poller.java +++ b/runtime/engine/src/main/java/io/aklivity/zilla/runtime/engine/internal/poller/Poller.java @@ -20,7 +20,7 @@ import java.nio.channels.ClosedChannelException; import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; -import java.util.function.ToIntFunction; +import java.util.function.Consumer; import java.util.stream.Stream; import org.agrona.LangUtil; @@ -28,7 +28,7 @@ public final class Poller extends TransportPoller { - private final ToIntFunction selectHandler; + private final Consumer selectHandler; public Poller() { @@ -41,14 +41,10 @@ public int doWork() try { - if (selector.selectNow() != 0) - { - workDone = selectedKeySet.forEach(selectHandler); - } + workDone += selector.selectNow(selectHandler); } catch (Throwable ex) { - selectedKeySet.reset(); LangUtil.rethrowUnchecked(ex); } From 54117b42a7546e3d7041ddc875d38e2da38d6961 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Tue, 15 Oct 2024 21:28:17 +0530 Subject: [PATCH 04/16] protobuf validation failure fix (#1292) --- .../stream/KafkaCacheClientProduceFactory.java | 2 +- .../internal/ProtobufReadConverterHandler.java | 5 ++++- .../internal/ProtobufWriteConverterHandler.java | 10 ++++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/runtime/binding-kafka/src/main/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/KafkaCacheClientProduceFactory.java b/runtime/binding-kafka/src/main/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/KafkaCacheClientProduceFactory.java index c0b2ec05cf..d369f095e6 100644 --- a/runtime/binding-kafka/src/main/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/KafkaCacheClientProduceFactory.java +++ b/runtime/binding-kafka/src/main/java/io/aklivity/zilla/runtime/binding/kafka/internal/stream/KafkaCacheClientProduceFactory.java @@ -760,7 +760,7 @@ private void onClientInitialData( flushClientFanInitialIfNecessary(traceId); } - if ((flags & FLAGS_INCOMPLETE) != 0x00) + if ((flags & FLAGS_INCOMPLETE) != 0x00 || error == ERROR_INVALID_RECORD) { markEntryDirty(traceId, stream.partitionOffset); } diff --git a/runtime/model-protobuf/src/main/java/io/aklivity/zilla/runtime/model/protobuf/internal/ProtobufReadConverterHandler.java b/runtime/model-protobuf/src/main/java/io/aklivity/zilla/runtime/model/protobuf/internal/ProtobufReadConverterHandler.java index 65de751711..d338341ea8 100644 --- a/runtime/model-protobuf/src/main/java/io/aklivity/zilla/runtime/model/protobuf/internal/ProtobufReadConverterHandler.java +++ b/runtime/model-protobuf/src/main/java/io/aklivity/zilla/runtime/model/protobuf/internal/ProtobufReadConverterHandler.java @@ -188,7 +188,6 @@ private int validate( try { DynamicMessage message = builder.mergeFrom(in).build(); - builder.clear(); if (!message.getUnknownFields().asMap().isEmpty()) { break validate; @@ -215,6 +214,10 @@ private int validate( { event.validationFailure(traceId, bindingId, ex.getMessage()); } + finally + { + builder.clear(); + } } } return valLength; diff --git a/runtime/model-protobuf/src/main/java/io/aklivity/zilla/runtime/model/protobuf/internal/ProtobufWriteConverterHandler.java b/runtime/model-protobuf/src/main/java/io/aklivity/zilla/runtime/model/protobuf/internal/ProtobufWriteConverterHandler.java index 21b8d985a0..d5a1913954 100644 --- a/runtime/model-protobuf/src/main/java/io/aklivity/zilla/runtime/model/protobuf/internal/ProtobufWriteConverterHandler.java +++ b/runtime/model-protobuf/src/main/java/io/aklivity/zilla/runtime/model/protobuf/internal/ProtobufWriteConverterHandler.java @@ -111,13 +111,16 @@ private boolean validate( try { DynamicMessage message = builder.mergeFrom(in).build(); - builder.clear(); status = message.getUnknownFields().asMap().isEmpty(); } catch (IOException ex) { event.validationFailure(traceId, bindingId, ex.getMessage()); } + finally + { + builder.clear(); + } } } return status; @@ -175,7 +178,6 @@ private int serializeJsonRecord( { parser.merge(input, builder); DynamicMessage message = builder.build(); - builder.clear(); if (message.isInitialized() && message.getUnknownFields().asMap().isEmpty()) { out.wrap(out.buffer()); @@ -187,6 +189,10 @@ private int serializeJsonRecord( { event.validationFailure(traceId, bindingId, ex.getMessage()); } + finally + { + builder.clear(); + } } } return valLength; From 8d054cfa5bd0e24054f7f813a24173b08e52c62b Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Wed, 16 Oct 2024 22:43:19 +0530 Subject: [PATCH 05/16] syntax check mqtt topic names in zilla.yaml (#1297) --- .../proxy.when.publish.topic.invalid.yaml | 34 ++++++++++++++++ .../proxy.when.subscribe.topic.invalid.yaml | 40 +++++++++++++++++++ .../kafka/schema/mqtt.kafka.schema.patch.json | 12 ++++-- .../binding/mqtt/kafka/config/SchemaTest.java | 13 ++++++ .../server.when.publish.topic.invalid.yaml | 32 +++++++++++++++ .../server.when.subscribe.topic.invalid.yaml | 32 +++++++++++++++ .../mqtt/schema/mqtt.schema.patch.json | 6 ++- .../specs/binding/mqtt/config/SchemaTest.java | 13 ++++++ 8 files changed, 176 insertions(+), 6 deletions(-) create mode 100644 specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/config/proxy.when.publish.topic.invalid.yaml create mode 100644 specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/config/proxy.when.subscribe.topic.invalid.yaml create mode 100644 specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/config/server.when.publish.topic.invalid.yaml create mode 100644 specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/config/server.when.subscribe.topic.invalid.yaml diff --git a/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/config/proxy.when.publish.topic.invalid.yaml b/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/config/proxy.when.publish.topic.invalid.yaml new file mode 100644 index 0000000000..0b2c3ff84e --- /dev/null +++ b/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/config/proxy.when.publish.topic.invalid.yaml @@ -0,0 +1,34 @@ +# +# Copyright 2021-2023 Aklivity Inc +# +# Licensed under the Aklivity Community License (the "License"); you may not use +# this file except in compliance with the License. You may obtain a copy of the +# License at +# +# https://www.aklivity.io/aklivity-community-license/ +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. +# + +--- +name: test +bindings: + mqtt0: + type: mqtt-kafka + kind: proxy + options: + topics: + sessions: mqtt-sessions + messages: mqtt-messages + retained: mqtt-retained + routes: + - exit: kafka0 + when: + - publish: + - topic: "*" + with: + messages: sensors.${params.sensorId} + diff --git a/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/config/proxy.when.subscribe.topic.invalid.yaml b/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/config/proxy.when.subscribe.topic.invalid.yaml new file mode 100644 index 0000000000..0bed6ad67c --- /dev/null +++ b/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/config/proxy.when.subscribe.topic.invalid.yaml @@ -0,0 +1,40 @@ +# +# Copyright 2021-2023 Aklivity Inc +# +# Licensed under the Aklivity Community License (the "License"); you may not use +# this file except in compliance with the License. You may obtain a copy of the +# License at +# +# https://www.aklivity.io/aklivity-community-license/ +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. +# + +--- +name: test +bindings: + mqtt0: + type: mqtt-kafka + kind: proxy + options: + topics: + sessions: mqtt-sessions + messages: mqtt-messages + retained: mqtt-retained + routes: + - exit: kafka0 + when: + - subscribe: + - topic: sensor/one + with: + messages: mqtt-sensors + - exit: kafka0 + when: + - subscribe: + - topic: device/one# + - topic: sensor/two + with: + messages: mqtt-devices diff --git a/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/schema/mqtt.kafka.schema.patch.json b/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/schema/mqtt.kafka.schema.patch.json index 30666066b2..ea85b24140 100644 --- a/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/schema/mqtt.kafka.schema.patch.json +++ b/specs/binding-mqtt-kafka.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/kafka/schema/mqtt.kafka.schema.patch.json @@ -143,13 +143,15 @@ "topic": { "title": "Topic", - "type": "string" + "type": "string", + "pattern": "^(\\/?([\\w{}-]*|\\+)(\\/((?![-_])[\\w{}-]*|\\+))*(\\/#)?|#|\\/|\\$SYS(\\/((?![-_])[\\w{}-]*|\\+))*(\\/#)?)$" } }, "additionalProperties": false } } - } + }, + "additionalProperties": false }, { "properties": @@ -166,13 +168,15 @@ "topic": { "title": "Topic", - "type": "string" + "type": "string", + "pattern": "^(\\/?([\\w{}-]*|\\+)(\\/((?![-_])[\\w{}-]*|\\+))*(\\/#)?|#|\\/|\\$SYS(\\/((?![-_])[\\w{}-]*|\\+))*(\\/#)?)$" } }, "additionalProperties": false } } - } + }, + "additionalProperties": false } ] } diff --git a/specs/binding-mqtt-kafka.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/kafka/config/SchemaTest.java b/specs/binding-mqtt-kafka.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/kafka/config/SchemaTest.java index ab35535c80..ecd108076c 100644 --- a/specs/binding-mqtt-kafka.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/kafka/config/SchemaTest.java +++ b/specs/binding-mqtt-kafka.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/kafka/config/SchemaTest.java @@ -18,6 +18,7 @@ import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; +import jakarta.json.JsonException; import jakarta.json.JsonObject; import org.junit.Rule; @@ -80,4 +81,16 @@ public void shouldValidateProxyWhenClientTopicSpace() assertThat(config, not(nullValue())); } + + @Test(expected = JsonException.class) + public void shouldRejectProxyWhenPublishTopicInvalid() + { + schema.validate("proxy.when.publish.topic.invalid.yaml"); + } + + @Test(expected = JsonException.class) + public void shouldRejectProxyWhenSubscribeTopicInvalid() + { + schema.validate("proxy.when.subscribe.topic.invalid.yaml"); + } } diff --git a/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/config/server.when.publish.topic.invalid.yaml b/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/config/server.when.publish.topic.invalid.yaml new file mode 100644 index 0000000000..e8c0c19e8a --- /dev/null +++ b/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/config/server.when.publish.topic.invalid.yaml @@ -0,0 +1,32 @@ +# +# Copyright 2021-2023 Aklivity Inc. +# +# Aklivity licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +--- +name: test +bindings: + net0: + type: mqtt + kind: server + routes: + - when: + - session: + - client-id: "*" + - publish: + - topic: command/#/one + - topic: command/two + - subscribe: + - topic: reply + exit: app0 diff --git a/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/config/server.when.subscribe.topic.invalid.yaml b/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/config/server.when.subscribe.topic.invalid.yaml new file mode 100644 index 0000000000..5136f9e036 --- /dev/null +++ b/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/config/server.when.subscribe.topic.invalid.yaml @@ -0,0 +1,32 @@ +# +# Copyright 2021-2023 Aklivity Inc. +# +# Aklivity licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +--- +name: test +bindings: + net0: + type: mqtt + kind: server + routes: + - when: + - session: + - client-id: "*" + - publish: + - topic: command/one + - topic: command/two + - subscribe: + - topic: reply* + exit: app0 diff --git a/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/schema/mqtt.schema.patch.json b/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/schema/mqtt.schema.patch.json index 806f7c9c51..7303b0ad33 100644 --- a/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/schema/mqtt.schema.patch.json +++ b/specs/binding-mqtt.spec/src/main/scripts/io/aklivity/zilla/specs/binding/mqtt/schema/mqtt.schema.patch.json @@ -83,7 +83,8 @@ "topic": { "title": "Topic", - "type": "string" + "type": "string", + "pattern": "^(\\/?([\\w{}-]*|\\+)(\\/((?![-_])[\\w{}-]*|\\+))*(\\/#)?|#|\\/|\\$SYS(\\/((?![-_])[\\w{}-]*|\\+))*(\\/#)?)$" } } } @@ -99,7 +100,8 @@ "properties": { "topic": { "title": "Topic", - "type": "string" + "type": "string", + "pattern": "^(\\/?([\\w{}-]*|\\+)(\\/((?![-_])[\\w{}-]*|\\+))*(\\/#)?|#|\\/|\\$SYS(\\/((?![-_])[\\w{}-]*|\\+))*(\\/#)?)$" } } } diff --git a/specs/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/config/SchemaTest.java b/specs/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/config/SchemaTest.java index f7a5c71950..b078af070b 100644 --- a/specs/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/config/SchemaTest.java +++ b/specs/binding-mqtt.spec/src/test/java/io/aklivity/zilla/specs/binding/mqtt/config/SchemaTest.java @@ -19,6 +19,7 @@ import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; +import jakarta.json.JsonException; import jakarta.json.JsonObject; import org.junit.Ignore; @@ -144,4 +145,16 @@ public void shouldValidateServerWhenRouteToNonDefault() assertThat(config, not(nullValue())); } + + @Test(expected = JsonException.class) + public void shouldRejectServerWhenPublishTopicInvalid() + { + schema.validate("server.when.publish.topic.invalid.yaml"); + } + + @Test(expected = JsonException.class) + public void shouldRejectServerWhenSubscribeTopicInvalid() + { + schema.validate("server.when.subscribe.topic.invalid.yaml"); + } } From 5d1fc53ddeef1d1fd8f21bb6f94ab14aab961179 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Thu, 17 Oct 2024 10:10:17 +0530 Subject: [PATCH 06/16] Log missing enviroment variables (#1299) --- .../env/internal/EnvironmentResolverSpi.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/runtime/resolver-env/src/main/java/io/aklivity/zilla/runtime/resolver/env/internal/EnvironmentResolverSpi.java b/runtime/resolver-env/src/main/java/io/aklivity/zilla/runtime/resolver/env/internal/EnvironmentResolverSpi.java index 7432904dc8..c96627ea4d 100644 --- a/runtime/resolver-env/src/main/java/io/aklivity/zilla/runtime/resolver/env/internal/EnvironmentResolverSpi.java +++ b/runtime/resolver-env/src/main/java/io/aklivity/zilla/runtime/resolver/env/internal/EnvironmentResolverSpi.java @@ -23,6 +23,17 @@ public class EnvironmentResolverSpi implements ResolverSpi public String resolve( String var) { - return System.getenv(var); + String value = System.getenv(var); + + if (value == null) + { + System.err.println("Environment variable %s is not set.".formatted(var)); + } + else if (value.isEmpty() || value.isBlank()) + { + System.err.println("Environment variable %s is empty.".formatted(var)); + } + + return value; } } From 9e34ab8b487d8e59b66f9188384c7e3b9dee8aa3 Mon Sep 17 00:00:00 2001 From: Akram Yakubov Date: Mon, 21 Oct 2024 22:35:46 -0700 Subject: [PATCH 07/16] Replace jsqlparser with antlr gramma (#1298) --- .../docker-image/src/main/docker/assembly.xml | 1 - incubator/binding-pgsql-kafka/NOTICE | 2 +- incubator/binding-pgsql-kafka/pom.xml | 7 +- .../PgsqlKafkaKeyAvroSchemaTemplate.java | 40 +- .../PgsqlKafkaValueAvroSchemaTemplate.java | 68 +- .../stream/PgsqlKafkaProxyFactory.java | 167 +- .../src/main/moditect/module-info.java | 2 +- incubator/binding-pgsql/pom.xml | 12 +- .../binding/pgsql/parser/PostgreSqlLexer.g4 | 1667 +++++ .../binding/pgsql/parser/PostgreSqlParser.g4 | 5616 +++++++++++++++++ .../parser/LexerDispatchingErrorListener.java | 86 + .../ParserDispatchingErrorListener.java | 86 + .../binding/pgsql/parser/PgsqlParser.java | 123 + .../pgsql/parser/PostgreSqlLexerBase.java | 95 + .../pgsql/parser/PostgreSqlParserBase.java | 171 + .../parser/listener/SqlCommandListener.java | 75 + .../listener/SqlCreateFunctionListener.java | 107 + .../SqlCreateMaterializedViewListener.java | 62 + .../listener/SqlCreateStreamListener.java | 73 + .../listener/SqlCreateTableTopicListener.java | 99 + .../parser/listener/SqlDropListener.java | 45 + .../pgsql/parser/model/FunctionArgument.java | 21 + .../pgsql/parser/model/FunctionInfo.java | 27 + .../pgsql/parser/model/StreamInfo.java} | 18 +- .../binding/pgsql/parser/model/TableInfo.java | 25 + .../binding/pgsql/parser/model/ViewInfo.java | 21 + .../src/main/moditect/module-info.java | 5 + .../binding/pgsql/parser/PgsqlParserTest.java | 356 ++ .../create.function.python/client.rpt | 4 +- .../create.function.python/server.rpt | 4 +- .../create.function.return.struct/client.rpt | 4 +- .../create.function.return.struct/server.rpt | 4 +- .../create.function.return.table/client.rpt | 4 +- .../create.function.return.table/server.rpt | 4 +- .../effective/create.function/client.rpt | 4 +- .../effective/create.function/server.rpt | 4 +- .../create.stream.with.includes/client.rpt | 6 +- .../create.stream.with.includes/server.rpt | 6 +- .../client.rpt | 16 +- .../server.rpt | 16 +- .../pgsql/create.function.python/client.rpt | 2 +- .../pgsql/create.function.python/server.rpt | 2 +- .../create.function.return.struct/client.rpt | 2 +- .../create.function.return.struct/server.rpt | 2 +- .../create.function.return.table/client.rpt | 2 +- .../create.function.return.table/server.rpt | 2 +- .../streams/pgsql/create.function/client.rpt | 2 +- .../streams/pgsql/create.function/server.rpt | 2 +- .../create.stream.with.includes/client.rpt | 6 +- .../create.stream.with.includes/server.rpt | 7 +- .../client.rpt | 7 +- .../server.rpt | 7 +- incubator/binding-risingwave/NOTICE | 2 +- incubator/binding-risingwave/pom.xml | 7 +- .../statement/RisingwaveCommandTemplate.java | 124 +- .../RisingwaveCreateFunctionTemplate.java | 81 +- ...ingwaveCreateMaterializedViewTemplate.java | 46 +- .../RisingwaveCreateSinkTemplate.java | 19 +- .../RisingwaveCreateSourceTemplate.java | 35 +- .../RisingwaveCreateTableTemplate.java | 24 +- .../RisingwaveCreateTopicTemplate.java | 48 +- .../statement/RisingwaveDescribeTemplate.java | 10 +- .../statement/RisingwaveSqlCommandParser.java | 104 - .../stream/RisingwaveProxyFactory.java | 180 +- .../src/main/moditect/module-info.java | 2 +- .../RisingwaveCreateFunctionTemplateTest.java | 178 + ...aveCreateMaterializedViewTemplateTest.java | 93 + .../RisingwaveCreateSourceTemplateTest.java | 162 + .../RisingwaveCreateTableTemplateTest.java | 96 + pom.xml | 5 - 70 files changed, 9647 insertions(+), 765 deletions(-) create mode 100644 incubator/binding-pgsql/src/main/antlr4/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlLexer.g4 create mode 100644 incubator/binding-pgsql/src/main/antlr4/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlParser.g4 create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/LexerDispatchingErrorListener.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/ParserDispatchingErrorListener.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PgsqlParser.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlLexerBase.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlParserBase.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCommandListener.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateFunctionListener.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateMaterializedViewListener.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateStreamListener.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateTableTopicListener.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlDropListener.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/FunctionArgument.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/FunctionInfo.java rename incubator/{binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableCommand.java => binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/StreamInfo.java} (56%) create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/TableInfo.java create mode 100644 incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/ViewInfo.java create mode 100644 incubator/binding-pgsql/src/test/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PgsqlParserTest.java delete mode 100644 incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveSqlCommandParser.java create mode 100644 incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateFunctionTemplateTest.java create mode 100644 incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateMaterializedViewTemplateTest.java create mode 100644 incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSourceTemplateTest.java create mode 100644 incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableTemplateTest.java diff --git a/cloud/docker-image/src/main/docker/assembly.xml b/cloud/docker-image/src/main/docker/assembly.xml index eaf132aa3e..7e0d989f1a 100644 --- a/cloud/docker-image/src/main/docker/assembly.xml +++ b/cloud/docker-image/src/main/docker/assembly.xml @@ -66,7 +66,6 @@ org/junit/** com/google/** org/checkerframework/** - com/github/jsqlparser/** diff --git a/incubator/binding-pgsql-kafka/NOTICE b/incubator/binding-pgsql-kafka/NOTICE index c6b7d9c015..3913dbbc71 100644 --- a/incubator/binding-pgsql-kafka/NOTICE +++ b/incubator/binding-pgsql-kafka/NOTICE @@ -10,5 +10,5 @@ WARRANTIES OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This project includes: - JSQLParser library under GNU Library or Lesser General Public License (LGPL) V2.1 or The Apache Software License, Version 2.0 + zilla::incubator::binding-pgsql under Aklivity Community License Agreement diff --git a/incubator/binding-pgsql-kafka/pom.xml b/incubator/binding-pgsql-kafka/pom.xml index 5779c09cb9..c3bcc8b6ab 100644 --- a/incubator/binding-pgsql-kafka/pom.xml +++ b/incubator/binding-pgsql-kafka/pom.xml @@ -24,7 +24,7 @@ - 0.82 + 0.86 0 @@ -42,8 +42,8 @@ provided - com.github.jsqlparser - jsqlparser + io.aklivity.zilla + binding-pgsql ${project.groupId} @@ -195,7 +195,6 @@ io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/types/**/*.class - net/sf/jsqlparser/parser/* diff --git a/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/schema/PgsqlKafkaKeyAvroSchemaTemplate.java b/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/schema/PgsqlKafkaKeyAvroSchemaTemplate.java index cecef1e11f..6885f5ee94 100644 --- a/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/schema/PgsqlKafkaKeyAvroSchemaTemplate.java +++ b/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/schema/PgsqlKafkaKeyAvroSchemaTemplate.java @@ -14,11 +14,9 @@ */ package io.aklivity.zilla.runtime.binding.pgsql.kafka.internal.schema; -import java.util.List; +import java.util.Map; -import net.sf.jsqlparser.statement.create.table.ColumnDefinition; -import net.sf.jsqlparser.statement.create.table.CreateTable; -import net.sf.jsqlparser.statement.create.table.Index; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; public class PgsqlKafkaKeyAvroSchemaTemplate extends PgsqlKafkaAvroSchemaTemplate { @@ -35,12 +33,12 @@ public PgsqlKafkaKeyAvroSchemaTemplate( public String generateSchema( String database, - CreateTable createTable) + TableInfo createTable) { schemaBuilder.setLength(0); final String newNamespace = namespace.replace(DATABASE_PLACEHOLDER, database); - final String recordName = String.format("%s_key", createTable.getTable().getName()); + final String recordName = String.format("%s_key", createTable.name()); schemaBuilder.append("{\n"); schemaBuilder.append("\"schemaType\": \"AVRO\",\n"); @@ -52,10 +50,10 @@ public String generateSchema( schemaBuilder.append(" \\\"namespace\\\": \\\"").append(newNamespace).append("\\\","); schemaBuilder.append(" \\\"fields\\\": ["); - for (ColumnDefinition column : createTable.getColumnDefinitions()) + for (Map.Entry column : createTable.columns().entrySet()) { - String fieldName = column.getColumnName(); - String pgsqlType = column.getColDataType().getDataType(); + String fieldName = column.getKey(); + String pgsqlType = column.getValue(); String avroType = convertPgsqlTypeToAvro(pgsqlType); @@ -72,28 +70,4 @@ public String generateSchema( return schemaBuilder.toString(); } - - public String primaryKey( - CreateTable statement) - { - String primaryKey = null; - - final List indexes = statement.getIndexes(); - - if (indexes != null && !indexes.isEmpty()) - { - match: - for (Index index : indexes) - { - if ("PRIMARY KEY".equalsIgnoreCase(index.getType())) - { - final List primaryKeyColumns = index.getColumns(); - primaryKey = primaryKeyColumns.get(0).columnName; - break match; - } - } - } - - return primaryKey; - } } diff --git a/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/schema/PgsqlKafkaValueAvroSchemaTemplate.java b/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/schema/PgsqlKafkaValueAvroSchemaTemplate.java index fe53279963..ebfaea7915 100644 --- a/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/schema/PgsqlKafkaValueAvroSchemaTemplate.java +++ b/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/schema/PgsqlKafkaValueAvroSchemaTemplate.java @@ -14,11 +14,9 @@ */ package io.aklivity.zilla.runtime.binding.pgsql.kafka.internal.schema; -import java.util.List; +import java.util.Map; -import net.sf.jsqlparser.statement.create.table.ColumnDefinition; -import net.sf.jsqlparser.statement.create.table.CreateTable; -import net.sf.jsqlparser.statement.create.table.Index; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; public class PgsqlKafkaValueAvroSchemaTemplate extends PgsqlKafkaAvroSchemaTemplate { @@ -35,27 +33,26 @@ public PgsqlKafkaValueAvroSchemaTemplate( public String generateSchema( String database, - CreateTable createTable) + TableInfo createTable) { schemaBuilder.setLength(0); final String newNamespace = namespace.replace(DATABASE_PLACEHOLDER, database); - final String recordName = createTable.getTable().getName(); + final String recordName = createTable.name(); schemaBuilder.append("{\n"); schemaBuilder.append("\"schemaType\": \"AVRO\",\n"); - schemaBuilder.append("\"schema\": \""); // Begin the schema field + schemaBuilder.append("\"schema\": \""); - // Building the actual Avro schema schemaBuilder.append("{\\\"type\\\": \\\"record\\\","); schemaBuilder.append(" \\\"name\\\": \\\"").append(recordName).append("\\\","); schemaBuilder.append(" \\\"namespace\\\": \\\"").append(newNamespace).append("\\\","); schemaBuilder.append(" \\\"fields\\\": ["); - for (ColumnDefinition column : createTable.getColumnDefinitions()) + for (Map.Entry column : createTable.columns().entrySet()) { - String fieldName = column.getColumnName(); - String pgsqlType = column.getColDataType().getDataType(); + String fieldName = column.getKey(); + String pgsqlType = column.getValue(); String avroType = convertPgsqlTypeToAvro(pgsqlType); @@ -63,60 +60,11 @@ public String generateSchema( schemaBuilder.append(" \\\"type\\\": ").append(avroType).append("},"); } - // Remove the last comma and close the fields array schemaBuilder.setLength(schemaBuilder.length() - 1); schemaBuilder.append("]"); - // Closing the Avro schema schemaBuilder.append("}\"\n}"); return schemaBuilder.toString(); } - - public String primaryKey( - CreateTable statement) - { - String primaryKey = null; - - final List indexes = statement.getIndexes(); - - if (indexes != null && !indexes.isEmpty()) - { - match: - for (Index index : indexes) - { - if ("PRIMARY KEY".equalsIgnoreCase(index.getType())) - { - final List primaryKeyColumns = index.getColumns(); - primaryKey = primaryKeyColumns.get(0).columnName; - break match; - } - } - } - - return primaryKey; - } - - public int primaryKeyCount( - CreateTable statement) - { - int primaryKeyCount = 0; - - final List indexes = statement.getIndexes(); - - if (indexes != null && !indexes.isEmpty()) - { - match: - for (Index index : indexes) - { - if ("PRIMARY KEY".equalsIgnoreCase(index.getType())) - { - primaryKeyCount = index.getColumns().size(); - break match; - } - } - } - - return primaryKeyCount; - } } diff --git a/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/stream/PgsqlKafkaProxyFactory.java b/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/stream/PgsqlKafkaProxyFactory.java index 6461b89336..5c4e740d83 100644 --- a/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/stream/PgsqlKafkaProxyFactory.java +++ b/incubator/binding-pgsql-kafka/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/kafka/internal/stream/PgsqlKafkaProxyFactory.java @@ -19,13 +19,11 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.Objects.requireNonNull; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.StringReader; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.function.Consumer; import java.util.function.LongFunction; import java.util.function.LongUnaryOperator; @@ -36,7 +34,6 @@ import org.agrona.collections.Long2ObjectHashMap; import org.agrona.collections.Object2ObjectHashMap; import org.agrona.concurrent.UnsafeBuffer; -import org.agrona.io.DirectBufferInputStream; import io.aklivity.zilla.runtime.binding.pgsql.kafka.internal.PgsqlKafkaConfiguration; import io.aklivity.zilla.runtime.binding.pgsql.kafka.internal.config.PgsqlKafkaBindingConfig; @@ -56,16 +53,14 @@ import io.aklivity.zilla.runtime.binding.pgsql.kafka.internal.types.stream.ResetFW; import io.aklivity.zilla.runtime.binding.pgsql.kafka.internal.types.stream.SignalFW; import io.aklivity.zilla.runtime.binding.pgsql.kafka.internal.types.stream.WindowFW; +import io.aklivity.zilla.runtime.binding.pgsql.parser.PgsqlParser; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; import io.aklivity.zilla.runtime.engine.EngineContext; import io.aklivity.zilla.runtime.engine.binding.BindingHandler; import io.aklivity.zilla.runtime.engine.binding.function.MessageConsumer; import io.aklivity.zilla.runtime.engine.buffer.BufferPool; import io.aklivity.zilla.runtime.engine.catalog.CatalogHandler; import io.aklivity.zilla.runtime.engine.config.BindingConfig; -import net.sf.jsqlparser.parser.CCJSqlParserManager; -import net.sf.jsqlparser.statement.Statement; -import net.sf.jsqlparser.statement.create.table.CreateTable; -import net.sf.jsqlparser.statement.drop.Drop; public final class PgsqlKafkaProxyFactory implements PgsqlKafkaStreamFactory { @@ -75,8 +70,7 @@ public final class PgsqlKafkaProxyFactory implements PgsqlKafkaStreamFactory "schema": "{\\"type\\": \\"string\\"}" }"""; - - private static final Byte STATEMENT_SEMICOLON = ';'; + private static final String SPLIT_STATEMENTS = "\"(?<=;)(?!\\x00)\""; private static final int END_OF_FIELD = 0x00; private static final int NO_ERROR_SCHEMA_VERSION_ID = -1; @@ -87,11 +81,8 @@ public final class PgsqlKafkaProxyFactory implements PgsqlKafkaStreamFactory private static final DirectBuffer EMPTY_BUFFER = new UnsafeBuffer(new byte[0]); private static final OctetsFW EMPTY_OCTETS = new OctetsFW().wrap(EMPTY_BUFFER, 0, 0); - private static final Consumer EMPTY_EXTENSION = ex -> {}; - private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); - private final DirectBufferInputStream inputStream = new DirectBufferInputStream(EMPTY_BUFFER); - private final Reader reader = new InputStreamReader(inputStream); + private final PgsqlParser parser = new PgsqlParser(); private final BeginFW beginRO = new BeginFW(); private final DataFW dataRO = new DataFW(); @@ -657,26 +648,16 @@ private void doParseQuery( { final MutableDirectBuffer parserBuffer = bufferPool.buffer(parserSlot); - int statementOffset = 0; - int progress = 0; + String sql = parserBuffer.getStringWithoutLengthAscii(0, parserSlotOffset); + String[] statements = sql.split(SPLIT_STATEMENTS); - parse: - while (progress <= parserSlotOffset) + int length = statements.length; + if (length > 0) { - if (parserBuffer.getByte(progress) == STATEMENT_SEMICOLON) - { - int length = progress - statementOffset + Byte.BYTES; - if (parserBuffer.getByte(progress + Byte.BYTES) == END_OF_FIELD) - { - length += Byte.BYTES; - } - final PgsqlKafkaCommandType command = decodeCommandType(parserBuffer, statementOffset, length); - final PgsqlDecoder decoder = pgsqlDecoder.get(command); - decoder.decode(this, traceId, authorizationId, parserBuffer, statementOffset, length); - break parse; - } - - progress++; + String statement = statements[0]; + String command = parser.parseCommand(statement); + final PgsqlDecoder decoder = pgsqlDecoder.get(PgsqlKafkaCommandType.valueOf(command.getBytes())); + decoder.decode(this, traceId, authorizationId, statement); } } } @@ -1317,33 +1298,32 @@ private void decodeCreateTopicCommand( PgsqlProxy server, long traceId, long authorization, - DirectBuffer buffer, - int offset, - int length) + String statement) { if (server.commandsProcessed == 1) { + final int length = statement.length(); server.onCommandCompleted(traceId, authorization, length, PgsqlKafkaCompletionCommand.CREATE_TOPIC_COMMAND); } else if (server.commandsProcessed == 0) { - final CreateTable createTable = (CreateTable) parseStatement(buffer, offset, length); - final String topic = createTable.getTable().getName(); + final TableInfo createTable = parser.parseCreateTable(statement); + final String topic = createTable.name(); topics.clear(); topics.add(String.format("%s.%s", server.database, topic)); final PgsqlKafkaBindingConfig binding = server.binding; - final String primaryKey = binding.avroValueSchema.primaryKey(createTable); - final int primaryKeyCount = binding.avroValueSchema.primaryKeyCount(createTable); + int versionId = NO_ERROR_SCHEMA_VERSION_ID; - if (primaryKey != null) + Set primaryKeys = createTable.primaryKeys(); + if (!primaryKeys.isEmpty()) { //TODO: assign versionId to avoid test failure final String subjectKey = String.format("%s.%s-key", server.database, topic); - String keySchema = primaryKeyCount > 1 + String keySchema = primaryKeys.size() > 1 ? binding.avroKeySchema.generateSchema(server.database, createTable) : AVRO_KEY_SCHEMA; binding.catalog.register(subjectKey, keySchema); @@ -1357,7 +1337,7 @@ else if (server.commandsProcessed == 0) if (versionId != NO_VERSION_ID) { - final String policy = primaryKey != null && primaryKeyCount == 1 + final String policy = primaryKeys.size() == 1 ? "compact" : "delete"; @@ -1375,28 +1355,28 @@ private void decodeDropTopicCommand( PgsqlProxy server, long traceId, long authorization, - DirectBuffer buffer, - int offset, - int length) + String statement) { if (server.commandsProcessed == 1) { + final int length = statement.length(); server.onCommandCompleted(traceId, authorization, length, PgsqlKafkaCompletionCommand.DROP_TOPIC_COMMAND); } else if (server.commandsProcessed == 0) { - final Drop drop = (Drop) parseStatement(buffer, offset, length); - final String topic = drop.getName().getName(); - - final PgsqlKafkaBindingConfig binding = server.binding; - final String subjectKey = String.format("%s.%s-key", server.database, topic); - final String subjectValue = String.format("%s.%s-value", server.database, topic); + List drops = parser.parseDrop(statement); + drops.stream().findFirst().ifPresent(d -> + { + final PgsqlKafkaBindingConfig binding = server.binding; + final String subjectKey = String.format("%s.%s-key", server.database, d); + final String subjectValue = String.format("%s.%s-value", server.database, d); - binding.catalog.unregister(subjectKey); - binding.catalog.unregister(subjectValue); + binding.catalog.unregister(subjectKey); + binding.catalog.unregister(subjectValue); - final KafkaDeleteTopicsProxy deleteTopicsProxy = server.deleteTopicsProxy; - deleteTopicsProxy.doKafkaBegin(traceId, authorization, List.of("%s.%s".formatted(server.database, topic))); + final KafkaDeleteTopicsProxy deleteTopicsProxy = server.deleteTopicsProxy; + deleteTopicsProxy.doKafkaBegin(traceId, authorization, List.of("%s.%s".formatted(server.database, d))); + }); } } @@ -1404,82 +1384,11 @@ private void decodeUnknownCommand( PgsqlProxy server, long traceId, long authorization, - DirectBuffer buffer, - int offset, - int length) + String statement) { server.cleanup(traceId, authorization); } - private PgsqlKafkaCommandType decodeCommandType( - DirectBuffer buffer, - int offset, - int length) - { - PgsqlKafkaCommandType matchingCommand = PgsqlKafkaCommandType.UNKNOWN_COMMAND; - - command: - for (PgsqlKafkaCommandType command : PgsqlKafkaCommandType.values()) - { - int progressOffset = offset; - - boolean match = true; - for (byte b : command.value()) - { - if (buffer.getByte(progressOffset) != b) - { - match = false; - break; - } - progressOffset++; - } - - if (match) - { - matchingCommand = command; - break command; - } - } - - return matchingCommand; - } - - private Statement parseStatement( - DirectBuffer buffer, - int offset, - int length) - { - Statement statement = null; - try - { - if (decodeCommandType(buffer, offset, length). - equals(PgsqlKafkaCommandType.CREATE_TOPIC_COMMAND)) - { - String sql = buffer.getStringWithoutLengthUtf8(offset, length); - sql = sql.replace("CREATE TOPIC", "CREATE TABLE"); - statement = parserManager.parse(new StringReader(sql)); - } - if (decodeCommandType(buffer, offset, length). - equals(PgsqlKafkaCommandType.DROP_TOPIC_COMMAND)) - { - String sql = buffer.getStringWithoutLengthUtf8(offset, length); - sql = sql.replace("DROP TOPIC", "DROP TABLE"); - statement = parserManager.parse(new StringReader(sql)); - } - else - { - inputStream.wrap(buffer, offset, length); - statement = parserManager.parse(reader); - } - } - catch (Exception ignored) - { - //NOOP - } - - return statement; - } - @FunctionalInterface private interface PgsqlDecoder { @@ -1487,8 +1396,6 @@ void decode( PgsqlProxy server, long traceId, long authorization, - DirectBuffer writeBuffer, - int offset, - int length); + String statement); } } diff --git a/incubator/binding-pgsql-kafka/src/main/moditect/module-info.java b/incubator/binding-pgsql-kafka/src/main/moditect/module-info.java index ca4d84298d..e4c6b9efab 100644 --- a/incubator/binding-pgsql-kafka/src/main/moditect/module-info.java +++ b/incubator/binding-pgsql-kafka/src/main/moditect/module-info.java @@ -14,8 +14,8 @@ */ module io.aklivity.zilla.runtime.binding.pgsql.kafka { - requires net.sf.jsqlparser; requires io.aklivity.zilla.runtime.engine; + requires io.aklivity.zilla.runtime.binding.pgsql; provides io.aklivity.zilla.runtime.engine.binding.BindingFactorySpi with io.aklivity.zilla.runtime.binding.pgsql.kafka.internal.PgsqlKafkaBindingFactorySpi; diff --git a/incubator/binding-pgsql/pom.xml b/incubator/binding-pgsql/pom.xml index 73bf387b5f..4c0cd40a3d 100644 --- a/incubator/binding-pgsql/pom.xml +++ b/incubator/binding-pgsql/pom.xml @@ -24,7 +24,7 @@ - 0.89 + 0.91 0 @@ -35,6 +35,11 @@ ${project.version} provided + + org.antlr + antlr4-runtime + provided + ${project.groupId} engine @@ -107,6 +112,10 @@ + + org.antlr + antlr4-maven-plugin + com.mycila license-maven-plugin @@ -191,6 +200,7 @@ io/aklivity/zilla/runtime/binding/pgsql/internal/types/**/*.class + io/aklivity/zilla/runtime/binding/pgsql/parser/**/*.class diff --git a/incubator/binding-pgsql/src/main/antlr4/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlLexer.g4 b/incubator/binding-pgsql/src/main/antlr4/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlLexer.g4 new file mode 100644 index 0000000000..6c7dfef3cb --- /dev/null +++ b/incubator/binding-pgsql/src/main/antlr4/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlLexer.g4 @@ -0,0 +1,1667 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + +lexer grammar PostgreSqlLexer; +/* Reference: + * http://www.postgresql.org/docs/9.3/static/sql-syntax-lexical.html + */ + +options { + superClass = PostgreSqlLexerBase; + caseInsensitive = true; +} + +@header { +} +@members { +/* This field stores the tags which are used to detect the end of a dollar-quoted string literal. + */ +} +// + +// SPECIAL CHARACTERS (4.1.4) + +// + +// Note that Asterisk is a valid operator, but does not have the type Operator due to its syntactic use in locations + +// that are not expressions. + +Dollar: '$'; + +OPEN_PAREN: '('; + +CLOSE_PAREN: ')'; + +OPEN_BRACKET: '['; + +CLOSE_BRACKET: ']'; + +COMMA: ','; + +SEMI: ';'; + +COLON: ':'; + +STAR: '*'; + +EQUAL: '='; + +DOT: '.'; +//NamedArgument : ':='; + +PLUS: '+'; + +MINUS: '-'; + +SLASH: '/'; + +CARET: '^'; + +LT: '<'; + +GT: '>'; + +LESS_LESS: '<<'; + +GREATER_GREATER: '>>'; + +COLON_EQUALS: ':='; + +LESS_EQUALS: '<='; + +EQUALS_GREATER: '=>'; + +GREATER_EQUALS: '>='; + +DOT_DOT: '..'; + +NOT_EQUALS: '<>'; + +TYPECAST: '::'; + +PERCENT: '%'; + +PARAM: '$' ([0-9])+; +// + +// OPERATORS (4.1.3) + +// + +// this rule does not allow + or - at the end of a multi-character operator + +Operator: + ( + ( + OperatorCharacter + | ('+' | '-' {checkLA('-')}?)+ (OperatorCharacter | '/' {checkLA('*')}?) + | '/' {checkLA('*')}? + )+ + | // special handling for the single-character operators + and - + [+-] + ) + //TODO somehow rewrite this part without using Actions + { + handleLessLessGreaterGreater(); + } +; +/* This rule handles operators which end with + or -, and sets the token type to Operator. It is comprised of four + * parts, in order: + * + * 1. A prefix, which does not contain a character from the required set which allows + or - to appear at the end of + * the operator. + * 2. A character from the required set which allows + or - to appear at the end of the operator. + * 3. An optional sub-token which takes the form of an operator which does not include a + or - at the end of the + * sub-token. + * 4. A suffix sequence of + and - characters. + */ + +OperatorEndingWithPlusMinus: + (OperatorCharacterNotAllowPlusMinusAtEnd | '-' {checkLA('-')}? | '/' {checkLA('*')}?)* OperatorCharacterAllowPlusMinusAtEnd Operator? ( + '+' + | '-' {checkLA('-')}? + )+ -> type (Operator) +; +// Each of the following fragment rules omits the +, -, and / characters, which must always be handled in a special way + +// by the operator rules above. + +fragment OperatorCharacter: [*<>=~!@%^&|`?#]; +// these are the operator characters that don't count towards one ending with + or - + +fragment OperatorCharacterNotAllowPlusMinusAtEnd: [*<>=+]; +// an operator may end with + or - if it contains one of these characters + +fragment OperatorCharacterAllowPlusMinusAtEnd: [~!@%^&|`?#]; +// + +// KEYWORDS (Appendix C) + +// + +// + +// reserved keywords + +// + +ALL: 'ALL'; + +ANALYSE: 'ANALYSE'; + +ANALYZE: 'ANALYZE'; + +AND: 'AND'; + +ANY: 'ANY'; + +ARRAY: 'ARRAY'; + +AS: 'AS'; + +ASC: 'ASC'; + +ASYMMETRIC: 'ASYMMETRIC'; + +BOTH: 'BOTH'; + +CASE: 'CASE'; + +CAST: 'CAST'; + +CHECK: 'CHECK'; + +COLLATE: 'COLLATE'; + +COLUMN: 'COLUMN'; + +CONSTRAINT: 'CONSTRAINT'; + +CREATE: 'CREATE'; + +CURRENT_CATALOG: 'CURRENT_CATALOG'; + +CURRENT_DATE: 'CURRENT_DATE'; + +CURRENT_ROLE: 'CURRENT_ROLE'; + +CURRENT_TIME: 'CURRENT_TIME'; + +CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP'; + +CURRENT_USER: 'CURRENT_USER'; + +DEFAULT: 'DEFAULT'; + +DEFERRABLE: 'DEFERRABLE'; + +DESC: 'DESC'; + +DISTINCT: 'DISTINCT'; + +DO: 'DO'; + +ELSE: 'ELSE'; + +EXCEPT: 'EXCEPT'; + +FALSE_P: 'FALSE'; + +FETCH: 'FETCH'; + +FOR: 'FOR'; + +FOREIGN: 'FOREIGN'; + +FROM: 'FROM'; + +GRANT: 'GRANT'; + +GROUP_P: 'GROUP'; + +HAVING: 'HAVING'; + +IN_P: 'IN'; + +INITIALLY: 'INITIALLY'; + +INTERSECT: 'INTERSECT'; + +INTO: 'INTO'; + +LATERAL_P: 'LATERAL'; + +LEADING: 'LEADING'; + +LIMIT: 'LIMIT'; + +LOCALTIME: 'LOCALTIME'; + +LOCALTIMESTAMP: 'LOCALTIMESTAMP'; + +NOT: 'NOT'; + +NULL_P: 'NULL'; + +OFFSET: 'OFFSET'; + +ON: 'ON'; + +ONLY: 'ONLY'; + +OR: 'OR'; + +ORDER: 'ORDER'; + +PLACING: 'PLACING'; + +PRIMARY: 'PRIMARY'; + +REFERENCES: 'REFERENCES'; + +RETURNING: 'RETURNING'; + +SELECT: 'SELECT'; + +SESSION_USER: 'SESSION_USER'; + +SOME: 'SOME'; + +SYMMETRIC: 'SYMMETRIC'; + +TABLE: 'TABLE'; + +THEN: 'THEN'; + +TO: 'TO'; + +TOPIC: 'TOPIC'; + +STREAM: 'STREAM'; + +TRAILING: 'TRAILING'; + +TRUE_P: 'TRUE'; + +UNION: 'UNION'; + +UNIQUE: 'UNIQUE'; + +USER: 'USER'; + +USING: 'USING'; + +VARIADIC: 'VARIADIC'; + +WHEN: 'WHEN'; + +WHERE: 'WHERE'; + +WINDOW: 'WINDOW'; + +WITH: 'WITH'; + +// + +// reserved keywords (can be function or type) + +// + +AUTHORIZATION: 'AUTHORIZATION'; + +BINARY: 'BINARY'; + +COLLATION: 'COLLATION'; + +CONCURRENTLY: 'CONCURRENTLY'; + +CROSS: 'CROSS'; + +CURRENT_SCHEMA: 'CURRENT_SCHEMA'; + +FREEZE: 'FREEZE'; + +FULL: 'FULL'; + +ILIKE: 'ILIKE'; + +INNER_P: 'INNER'; + +IS: 'IS'; + +ISNULL: 'ISNULL'; + +JOIN: 'JOIN'; + +LEFT: 'LEFT'; + +LIKE: 'LIKE'; + +NATURAL: 'NATURAL'; + +NOTNULL: 'NOTNULL'; + +OUTER_P: 'OUTER'; + +OVER: 'OVER'; + +OVERLAPS: 'OVERLAPS'; + +RIGHT: 'RIGHT'; + +SIMILAR: 'SIMILAR'; + +VERBOSE: 'VERBOSE'; +// + +// non-reserved keywords + +// + +ABORT_P: 'ABORT'; + +ABSOLUTE_P: 'ABSOLUTE'; + +ACCESS: 'ACCESS'; + +ACTION: 'ACTION'; + +ADD_P: 'ADD'; + +ADMIN: 'ADMIN'; + +AFTER: 'AFTER'; + +AGGREGATE: 'AGGREGATE'; + +ALSO: 'ALSO'; + +ALTER: 'ALTER'; + +ALWAYS: 'ALWAYS'; + +ASSERTION: 'ASSERTION'; + +ASSIGNMENT: 'ASSIGNMENT'; + +AT: 'AT'; + +ATTRIBUTE: 'ATTRIBUTE'; + +BACKWARD: 'BACKWARD'; + +BEFORE: 'BEFORE'; + +BEGIN_P: 'BEGIN'; + +BY: 'BY'; + +CACHE: 'CACHE'; + +CALLED: 'CALLED'; + +CASCADE: 'CASCADE'; + +CASCADED: 'CASCADED'; + +CATALOG: 'CATALOG'; + +CHAIN: 'CHAIN'; + +CHARACTERISTICS: 'CHARACTERISTICS'; + +CHECKPOINT: 'CHECKPOINT'; + +CLASS: 'CLASS'; + +CLOSE: 'CLOSE'; + +CLUSTER: 'CLUSTER'; + +COMMENT: 'COMMENT'; + +COMMENTS: 'COMMENTS'; + +COMMIT: 'COMMIT'; + +COMMITTED: 'COMMITTED'; + +CONFIGURATION: 'CONFIGURATION'; + +CONNECTION: 'CONNECTION'; + +CONSTRAINTS: 'CONSTRAINTS'; + +CONTENT_P: 'CONTENT'; + +CONTINUE_P: 'CONTINUE'; + +CONVERSION_P: 'CONVERSION'; + +COPY: 'COPY'; + +COST: 'COST'; + +CSV: 'CSV'; + +CURSOR: 'CURSOR'; + +CYCLE: 'CYCLE'; + +DATA_P: 'DATA'; + +DATABASE: 'DATABASE'; + +DAY_P: 'DAY'; + +DEALLOCATE: 'DEALLOCATE'; + +DECLARE: 'DECLARE'; + +DEFAULTS: 'DEFAULTS'; + +DEFERRED: 'DEFERRED'; + +DEFINER: 'DEFINER'; + +DELETE_P: 'DELETE'; + +DELIMITER: 'DELIMITER'; + +DELIMITERS: 'DELIMITERS'; + +DICTIONARY: 'DICTIONARY'; + +DISABLE_P: 'DISABLE'; + +DISCARD: 'DISCARD'; + +DOCUMENT_P: 'DOCUMENT'; + +DOMAIN_P: 'DOMAIN'; + +DOUBLE_P: 'DOUBLE'; + +DROP: 'DROP'; + +EACH: 'EACH'; + +ENABLE_P: 'ENABLE'; + +ENCODING: 'ENCODING'; + +ENCRYPTED: 'ENCRYPTED'; + +ENUM_P: 'ENUM'; + +ESCAPE: 'ESCAPE'; + +EVENT: 'EVENT'; + +EXCLUDE: 'EXCLUDE'; + +EXCLUDING: 'EXCLUDING'; + +EXCLUSIVE: 'EXCLUSIVE'; + +EXECUTE: 'EXECUTE'; + +EXPLAIN: 'EXPLAIN'; + +EXTENSION: 'EXTENSION'; + +EXTERNAL: 'EXTERNAL'; + +FAMILY: 'FAMILY'; + +FIRST_P: 'FIRST'; + +FOLLOWING: 'FOLLOWING'; + +FORCE: 'FORCE'; + +FORWARD: 'FORWARD'; + +FUNCTION: 'FUNCTION'; + +FUNCTIONS: 'FUNCTIONS'; + +GLOBAL: 'GLOBAL'; + +GRANTED: 'GRANTED'; + +HANDLER: 'HANDLER'; + +HEADER_P: 'HEADER'; + +HOLD: 'HOLD'; + +HOUR_P: 'HOUR'; + +IDENTITY_P: 'IDENTITY'; + +IF_P: 'IF'; + +IMMEDIATE: 'IMMEDIATE'; + +IMMUTABLE: 'IMMUTABLE'; + +IMPLICIT_P: 'IMPLICIT'; + +INCLUDING: 'INCLUDING'; + +INCREMENT: 'INCREMENT'; + +INDEX: 'INDEX'; + +INDEXES: 'INDEXES'; + +INHERIT: 'INHERIT'; + +INHERITS: 'INHERITS'; + +INLINE_P: 'INLINE'; + +INSENSITIVE: 'INSENSITIVE'; + +INSERT: 'INSERT'; + +INSTEAD: 'INSTEAD'; + +INVOKER: 'INVOKER'; + +ISOLATION: 'ISOLATION'; + +KEY: 'KEY'; + +LABEL: 'LABEL'; + +LANGUAGE: 'LANGUAGE'; + +LARGE_P: 'LARGE'; + +LAST_P: 'LAST'; +//LC_COLLATE : 'LC'_'COLLATE; + +//LC_CTYPE : 'LC'_'CTYPE; + +LEAKPROOF: 'LEAKPROOF'; + +LEVEL: 'LEVEL'; + +LISTEN: 'LISTEN'; + +LOAD: 'LOAD'; + +LOCAL: 'LOCAL'; + +LOCATION: 'LOCATION'; + +LOCK_P: 'LOCK'; + +MAPPING: 'MAPPING'; + +MATCH: 'MATCH'; + +MATCHED: 'MATCHED'; + +MATERIALIZED: 'MATERIALIZED'; + +MAXVALUE: 'MAXVALUE'; + +MERGE: 'MERGE'; + +MINUTE_P: 'MINUTE'; + +MINVALUE: 'MINVALUE'; + +MODE: 'MODE'; + +MONTH_P: 'MONTH'; + +MOVE: 'MOVE'; + +NAME_P: 'NAME'; + +NAMES: 'NAMES'; + +NEXT: 'NEXT'; + +NO: 'NO'; + +NOTHING: 'NOTHING'; + +NOTIFY: 'NOTIFY'; + +NOWAIT: 'NOWAIT'; + +NULLS_P: 'NULLS'; + +OBJECT_P: 'OBJECT'; + +OF: 'OF'; + +OFF: 'OFF'; + +OIDS: 'OIDS'; + +OPERATOR: 'OPERATOR'; + +OPTION: 'OPTION'; + +OPTIONS: 'OPTIONS'; + +OWNED: 'OWNED'; + +OWNER: 'OWNER'; + +PARSER: 'PARSER'; + +PARTIAL: 'PARTIAL'; + +PARTITION: 'PARTITION'; + +PASSING: 'PASSING'; + +PASSWORD: 'PASSWORD'; + +PLANS: 'PLANS'; + +PRECEDING: 'PRECEDING'; + +PREPARE: 'PREPARE'; + +PREPARED: 'PREPARED'; + +PRESERVE: 'PRESERVE'; + +PRIOR: 'PRIOR'; + +PRIVILEGES: 'PRIVILEGES'; + +PROCEDURAL: 'PROCEDURAL'; + +PROCEDURE: 'PROCEDURE'; + +PROGRAM: 'PROGRAM'; + +QUOTE: 'QUOTE'; + +RANGE: 'RANGE'; + +READ: 'READ'; + +REASSIGN: 'REASSIGN'; + +RECHECK: 'RECHECK'; + +RECURSIVE: 'RECURSIVE'; + +REF: 'REF'; + +REFRESH: 'REFRESH'; + +REINDEX: 'REINDEX'; + +RELATIVE_P: 'RELATIVE'; + +RELEASE: 'RELEASE'; + +RENAME: 'RENAME'; + +REPEATABLE: 'REPEATABLE'; + +REPLACE: 'REPLACE'; + +REPLICA: 'REPLICA'; + +RESET: 'RESET'; + +RESTART: 'RESTART'; + +RESTRICT: 'RESTRICT'; + +RETURNS: 'RETURNS'; + +REVOKE: 'REVOKE'; + +ROLE: 'ROLE'; + +ROLLBACK: 'ROLLBACK'; + +ROWS: 'ROWS'; + +RULE: 'RULE'; + +SAVEPOINT: 'SAVEPOINT'; + +SCHEMA: 'SCHEMA'; + +SCROLL: 'SCROLL'; + +SEARCH: 'SEARCH'; + +SECOND_P: 'SECOND'; + +SECURITY: 'SECURITY'; + +SEQUENCE: 'SEQUENCE'; + +SEQUENCES: 'SEQUENCES'; + +SERIALIZABLE: 'SERIALIZABLE'; + +SERVER: 'SERVER'; + +SESSION: 'SESSION'; + +SET: 'SET'; + +SHARE: 'SHARE'; + +SHOW: 'SHOW'; + +SIMPLE: 'SIMPLE'; + +SNAPSHOT: 'SNAPSHOT'; + +STABLE: 'STABLE'; + +STANDALONE_P: 'STANDALONE'; + +START: 'START'; + +STATEMENT: 'STATEMENT'; + +STATISTICS: 'STATISTICS'; + +STDIN: 'STDIN'; + +STDOUT: 'STDOUT'; + +STORAGE: 'STORAGE'; + +STRICT_P: 'STRICT'; + +STRIP_P: 'STRIP'; + +SYSID: 'SYSID'; + +SYSTEM_P: 'SYSTEM'; + +TABLES: 'TABLES'; + +TABLESPACE: 'TABLESPACE'; + +TEMP: 'TEMP'; + +TEMPLATE: 'TEMPLATE'; + +TEMPORARY: 'TEMPORARY'; + +TEXT_P: 'TEXT'; + +TRANSACTION: 'TRANSACTION'; + +TRIGGER: 'TRIGGER'; + +TRUNCATE: 'TRUNCATE'; + +TRUSTED: 'TRUSTED'; + +TYPE_P: 'TYPE'; + +TYPES_P: 'TYPES'; + +UNBOUNDED: 'UNBOUNDED'; + +UNCOMMITTED: 'UNCOMMITTED'; + +UNENCRYPTED: 'UNENCRYPTED'; + +UNKNOWN: 'UNKNOWN'; + +UNLISTEN: 'UNLISTEN'; + +UNLOGGED: 'UNLOGGED'; + +UNTIL: 'UNTIL'; + +UPDATE: 'UPDATE'; + +VACUUM: 'VACUUM'; + +VALID: 'VALID'; + +VALIDATE: 'VALIDATE'; + +VALIDATOR: 'VALIDATOR'; +//VALUE : 'VALUE; + +VARYING: 'VARYING'; + +VERSION_P: 'VERSION'; + +VIEW: 'VIEW'; + +VOLATILE: 'VOLATILE'; + +WHITESPACE_P: 'WHITESPACE'; + +WITHOUT: 'WITHOUT'; + +WORK: 'WORK'; + +WRAPPER: 'WRAPPER'; + +WRITE: 'WRITE'; + +XML_P: 'XML'; + +YEAR_P: 'YEAR'; + +YES_P: 'YES'; + +ZONE: 'ZONE'; +// + +// non-reserved keywords (can not be function or type) + +// + +BETWEEN: 'BETWEEN'; + +BIGINT: 'BIGINT'; + +BIT: 'BIT'; + +BOOLEAN_P: 'BOOLEAN'; + +CHAR_P: 'CHAR'; + +CHARACTER: 'CHARACTER'; + +COALESCE: 'COALESCE'; + +DEC: 'DEC'; + +DECIMAL_P: 'DECIMAL'; + +EXISTS: 'EXISTS'; + +EXTRACT: 'EXTRACT'; + +FLOAT_P: 'FLOAT'; + +GREATEST: 'GREATEST'; + +INOUT: 'INOUT'; + +INT_P: 'INT'; + +INTEGER: 'INTEGER'; + +INTERVAL: 'INTERVAL'; + +LEAST: 'LEAST'; + +NATIONAL: 'NATIONAL'; + +NCHAR: 'NCHAR'; + +NONE: 'NONE'; + +NULLIF: 'NULLIF'; + +NUMERIC: 'NUMERIC'; + +OVERLAY: 'OVERLAY'; + +POSITION: 'POSITION'; + +PRECISION: 'PRECISION'; + +REAL: 'REAL'; + +ROW: 'ROW'; + +SETOF: 'SETOF'; + +SMALLINT: 'SMALLINT'; + +SUBSTRING: 'SUBSTRING'; + +TIME: 'TIME'; + +TIMESTAMP: 'TIMESTAMP'; + +TREAT: 'TREAT'; + +TRIM: 'TRIM'; + +VALUES: 'VALUES'; + +VARCHAR: 'VARCHAR'; + +XMLATTRIBUTES: 'XMLATTRIBUTES'; + +XMLCOMMENT: 'XMLCOMMENT'; + +XMLAGG: 'XMLAGG'; + +XML_IS_WELL_FORMED: 'XML_IS_WELL_FORMED'; + +XML_IS_WELL_FORMED_DOCUMENT: 'XML_IS_WELL_FORMED_DOCUMENT'; + +XML_IS_WELL_FORMED_CONTENT: 'XML_IS_WELL_FORMED_CONTENT'; + +XPATH: 'XPATH'; + +XPATH_EXISTS: 'XPATH_EXISTS'; + +XMLCONCAT: 'XMLCONCAT'; + +XMLELEMENT: 'XMLELEMENT'; + +XMLEXISTS: 'XMLEXISTS'; + +XMLFOREST: 'XMLFOREST'; + +XMLPARSE: 'XMLPARSE'; + +XMLPI: 'XMLPI'; + +XMLROOT: 'XMLROOT'; + +XMLSERIALIZE: 'XMLSERIALIZE'; +//MISSED + +CALL: 'CALL'; + +CURRENT_P: 'CURRENT'; + +ATTACH: 'ATTACH'; + +DETACH: 'DETACH'; + +EXPRESSION: 'EXPRESSION'; + +GENERATED: 'GENERATED'; + +LOGGED: 'LOGGED'; + +STORED: 'STORED'; + +INCLUDE: 'INCLUDE'; + +ROUTINE: 'ROUTINE'; + +TRANSFORM: 'TRANSFORM'; + +IMPORT_P: 'IMPORT'; + +POLICY: 'POLICY'; + +METHOD: 'METHOD'; + +REFERENCING: 'REFERENCING'; + +NEW: 'NEW'; + +OLD: 'OLD'; + +VALUE_P: 'VALUE'; + +SUBSCRIPTION: 'SUBSCRIPTION'; + +PUBLICATION: 'PUBLICATION'; + +OUT_P: 'OUT'; + +END_P: 'END'; + +ROUTINES: 'ROUTINES'; + +SCHEMAS: 'SCHEMAS'; + +PROCEDURES: 'PROCEDURES'; + +INPUT_P: 'INPUT'; + +SUPPORT: 'SUPPORT'; + +PARALLEL: 'PARALLEL'; + +SQL_P: 'SQL'; + +DEPENDS: 'DEPENDS'; + +OVERRIDING: 'OVERRIDING'; + +CONFLICT: 'CONFLICT'; + +SKIP_P: 'SKIP'; + +LOCKED: 'LOCKED'; + +TIES: 'TIES'; + +ROLLUP: 'ROLLUP'; + +CUBE: 'CUBE'; + +GROUPING: 'GROUPING'; + +SETS: 'SETS'; + +TABLESAMPLE: 'TABLESAMPLE'; + +ORDINALITY: 'ORDINALITY'; + +XMLTABLE: 'XMLTABLE'; + +COLUMNS: 'COLUMNS'; + +XMLNAMESPACES: 'XMLNAMESPACES'; + +ROWTYPE: 'ROWTYPE'; + +NORMALIZED: 'NORMALIZED'; + +WITHIN: 'WITHIN'; + +FILTER: 'FILTER'; + +GROUPS: 'GROUPS'; + +OTHERS: 'OTHERS'; + +NFC: 'NFC'; + +NFD: 'NFD'; + +NFKC: 'NFKC'; + +NFKD: 'NFKD'; + +UESCAPE: 'UESCAPE'; + +VIEWS: 'VIEWS'; + +NORMALIZE: 'NORMALIZE'; + +DUMP: 'DUMP'; + +PRINT_STRICT_PARAMS: 'PRINT_STRICT_PARAMS'; + +VARIABLE_CONFLICT: 'VARIABLE_CONFLICT'; + +ERROR: 'ERROR'; + +USE_VARIABLE: 'USE_VARIABLE'; + +USE_COLUMN: 'USE_COLUMN'; + +ALIAS: 'ALIAS'; + +CONSTANT: 'CONSTANT'; + +PERFORM: 'PERFORM'; + +GET: 'GET'; + +DIAGNOSTICS: 'DIAGNOSTICS'; + +STACKED: 'STACKED'; + +ELSIF: 'ELSIF'; + +WHILE: 'WHILE'; + +REVERSE: 'REVERSE'; + +FOREACH: 'FOREACH'; + +SLICE: 'SLICE'; + +EXIT: 'EXIT'; + +RETURN: 'RETURN'; + +QUERY: 'QUERY'; + +RAISE: 'RAISE'; + +SQLSTATE: 'SQLSTATE'; + +DEBUG: 'DEBUG'; + +LOG: 'LOG'; + +INFO: 'INFO'; + +NOTICE: 'NOTICE'; + +WARNING: 'WARNING'; + +EXCEPTION: 'EXCEPTION'; + +ASSERT: 'ASSERT'; + +LOOP: 'LOOP'; + +OPEN: 'OPEN'; +// + +// IDENTIFIERS (4.1.1) + +// + +ABS: 'ABS'; + +CBRT: 'CBRT'; + +CEIL: 'CEIL'; + +CEILING: 'CEILING'; + +DEGREES: 'DEGREES'; + +DIV: 'DIV'; + +EXP: 'EXP'; + +FACTORIAL: 'FACTORIAL'; + +FLOOR: 'FLOOR'; + +GCD: 'GCD'; + +LCM: 'LCM'; + +LN: 'LN'; + +LOG10: 'LOG10'; + +MIN_SCALE: 'MIN_SCALE'; + +MOD: 'MOD'; + +PI: 'PI'; + +POWER: 'POWER'; + +RADIANS: 'RADIANS'; + +ROUND: 'ROUND'; + +SCALE: 'SCALE'; + +SIGN: 'SIGN'; + +SQRT: 'SQRT'; + +TRIM_SCALE: 'TRIM_SCALE'; + +TRUNC: 'TRUNC'; + +WIDTH_BUCKET: 'WIDTH_BUCKET'; + +RANDOM: 'RANDOM'; + +SETSEED: 'SETSEED'; + +ACOS: 'ACOS'; + +ACOSD: 'ACOSD'; + +ASIN: 'ASIN'; + +ASIND: 'ASIND'; + +ATAN: 'ATAN'; + +ATAND: 'ATAND'; + +ATAN2: 'ATAN2'; + +ATAN2D: 'ATAN2D'; + +COS: 'COS'; + +COSD: 'COSD'; + +COT: 'COT'; + +COTD: 'COTD'; + +SIN: 'SIN'; + +SIND: 'SIND'; + +TAN: 'TAN'; + +TAND: 'TAND'; + +SINH: 'SINH'; + +COSH: 'COSH'; + +TANH: 'TANH'; + +ASINH: 'ASINH'; + +ACOSH: 'ACOSH'; + +ATANH: 'ATANH'; + +BIT_LENGTH: 'BIT_LENGTH'; + +CHAR_LENGTH: 'CHAR_LENGTH'; + +CHARACTER_LENGTH: 'CHARACTER_LENGTH'; + +LOWER: 'LOWER'; + +OCTET_LENGTH: 'OCTET_LENGTH'; + +UPPER: 'UPPER'; + +ASCII: 'ASCII'; + +BTRIM: 'BTRIM'; + +CHR: 'CHR'; + +CONCAT: 'CONCAT'; + +CONCAT_WS: 'CONCAT_WS'; + +FORMAT: 'FORMAT'; + +INITCAP: 'INITCAP'; + +LENGTH: 'LENGTH'; + +LPAD: 'LPAD'; + +LTRIM: 'LTRIM'; + +MD5: 'MD5'; + +PARSE_IDENT: 'PARSE_IDENT'; + +PG_CLIENT_ENCODING: 'PG_CLIENT_ENCODING'; + +QUOTE_IDENT: 'QUOTE_IDENT'; + +QUOTE_LITERAL: 'QUOTE_LITERAL'; + +QUOTE_NULLABLE: 'QUOTE_NULLABLE'; + +REGEXP_COUNT: 'REGEXP_COUNT'; + +REGEXP_INSTR: 'REGEXP_INSTR'; + +REGEXP_LIKE: 'REGEXP_LIKE'; + +REGEXP_MATCH: 'REGEXP_MATCH'; + +REGEXP_MATCHES: 'REGEXP_MATCHES'; + +REGEXP_REPLACE: 'REGEXP_REPLACE'; + +REGEXP_SPLIT_TO_ARRAY: 'REGEXP_SPLIT_TO_ARRAY'; + +REGEXP_SPLIT_TO_TABLE: 'REGEXP_SPLIT_TO_TABLE'; + +REGEXP_SUBSTR: 'REGEXP_SUBSTR'; + +REPEAT: 'REPEAT'; + +RPAD: 'RPAD'; + +RTRIM: 'RTRIM'; + +SPLIT_PART: 'SPLIT_PART'; + +STARTS_WITH: 'STARTS_WITH'; + +STRING_TO_ARRAY: 'STRING_TO_ARRAY'; + +STRING_TO_TABLE: 'STRING_TO_TABLE'; + +STRPOS: 'STRPOS'; + +SUBSTR: 'SUBSTR'; + +TO_ASCII: 'TO_ASCII'; + +TO_HEX: 'TO_HEX'; + +TRANSLATE: 'TRANSLATE'; + +UNISTR: 'UNISTR'; + +AGE: 'AGE'; + +CLOCK_TIMESTAMP: 'CLOCK_TIMESTAMP'; + +DATE_BIN: 'DATE_BIN'; + +DATE_PART: 'DATE_PART'; + +DATE_TRUNC: 'DATE_TRUNC'; + +ISFINITE: 'ISFINITE'; + +JUSTIFY_DAYS: 'JUSTIFY_DAYS'; + +JUSTIFY_HOURS: 'JUSTIFY_HOURS'; + +JUSTIFY_INTERVAL: 'JUSTIFY_INTERVAL'; + +MAKE_DATE: 'MAKE_DATE'; + +MAKE_INTERVAL: 'MAKE_INTERVAL'; + +MAKE_TIME: 'MAKE_TIME'; + +MAKE_TIMESTAMP: 'MAKE_TIMESTAMP'; + +MAKE_TIMESTAMPTZ: 'MAKE_TIMESTAMPTZ'; + +NOW: 'NOW'; + +STATEMENT_TIMESTAMP: 'STATEMENT_TIMESTAMP'; + +TIMEOFDAY: 'TIMEOFDAY'; + +TRANSACTION_TIMESTAMP: 'TRANSACTION_TIMESTAMP'; + +TO_TIMESTAMP: 'TO_TIMESTAMP'; + +TO_CHAR: 'TO_CHAR'; + +TO_DATE: 'TO_DATE'; + +TO_NUMBER: 'TO_NUMBER'; + +Identifier: IdentifierStartChar IdentifierChar*; + +fragment IdentifierStartChar options { + caseInsensitive = false; +}: // these are the valid identifier start characters below 0x7F + [a-zA-Z_] + | // these are the valid characters from 0x80 to 0xFF + [\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF] + | // these are the letters above 0xFF which only need a single UTF-16 code unit + [\u0100-\uD7FF\uE000-\uFFFF] {charIsLetter()}? + | // letters which require multiple UTF-16 code units + [\uD800-\uDBFF] [\uDC00-\uDFFF] { + checkIfUtf32Letter() + }? +; + +fragment IdentifierChar: StrictIdentifierChar | '$'; + +fragment StrictIdentifierChar: IdentifierStartChar | [0-9]; +/* Quoted Identifiers + * + * These are divided into four separate tokens, allowing distinction of valid quoted identifiers from invalid quoted + * identifiers without sacrificing the ability of the lexer to reliably recover from lexical errors in the input. + */ + +QuotedIdentifier: UnterminatedQuotedIdentifier '"'; +// This is a quoted identifier which only contains valid characters but is not terminated + +UnterminatedQuotedIdentifier: '"' ('""' | ~ [\u0000"])*; +// This is a quoted identifier which is terminated but contains a \u0000 character + +InvalidQuotedIdentifier: InvalidUnterminatedQuotedIdentifier '"'; +// This is a quoted identifier which is unterminated and contains a \u0000 character + +InvalidUnterminatedQuotedIdentifier: '"' ('""' | ~ '"')*; +/* Unicode Quoted Identifiers + * + * These are divided into four separate tokens, allowing distinction of valid Unicode quoted identifiers from invalid + * Unicode quoted identifiers without sacrificing the ability of the lexer to reliably recover from lexical errors in + * the input. Note that escape sequences are never checked as part of this determination due to the ability of users + * to change the escape character with a UESCAPE clause following the Unicode quoted identifier. + * + * TODO: these rules assume "" is still a valid escape sequence within a Unicode quoted identifier. + */ + +UnicodeQuotedIdentifier: 'U' '&' QuotedIdentifier; +// This is a Unicode quoted identifier which only contains valid characters but is not terminated + +UnterminatedUnicodeQuotedIdentifier: 'U' '&' UnterminatedQuotedIdentifier; +// This is a Unicode quoted identifier which is terminated but contains a \u0000 character + +InvalidUnicodeQuotedIdentifier: 'U' '&' InvalidQuotedIdentifier; +// This is a Unicode quoted identifier which is unterminated and contains a \u0000 character + +InvalidUnterminatedUnicodeQuotedIdentifier: 'U' '&' InvalidUnterminatedQuotedIdentifier; +// + +// CONSTANTS (4.1.2) + +// + +// String Constants (4.1.2.1) + +StringConstant: UnterminatedStringConstant '\''; + +UnterminatedStringConstant: '\'' ('\'\'' | ~ '\'')*; +// String Constants with C-style Escapes (4.1.2.2) + +BeginEscapeStringConstant: 'E' '\'' -> more, pushMode (EscapeStringConstantMode); +// String Constants with Unicode Escapes (4.1.2.3) + +// + +// Note that escape sequences are never checked as part of this token due to the ability of users to change the escape + +// character with a UESCAPE clause following the Unicode string constant. + +// + +// TODO: these rules assume '' is still a valid escape sequence within a Unicode string constant. + +UnicodeEscapeStringConstant: UnterminatedUnicodeEscapeStringConstant '\''; + +UnterminatedUnicodeEscapeStringConstant: 'U' '&' UnterminatedStringConstant; +// Dollar-quoted String Constants (4.1.2.4) + +BeginDollarStringConstant: '$' Tag? '$' {pushTag();} -> pushMode (DollarQuotedStringMode); +/* "The tag, if any, of a dollar-quoted string follows the same rules as an + * unquoted identifier, except that it cannot contain a dollar sign." + */ + +fragment Tag: IdentifierStartChar StrictIdentifierChar*; +// Bit-strings Constants (4.1.2.5) + +BinaryStringConstant: UnterminatedBinaryStringConstant '\''; + +UnterminatedBinaryStringConstant: 'B' '\'' [01]*; + +InvalidBinaryStringConstant: InvalidUnterminatedBinaryStringConstant '\''; + +InvalidUnterminatedBinaryStringConstant: 'B' UnterminatedStringConstant; + +HexadecimalStringConstant: UnterminatedHexadecimalStringConstant '\''; + +UnterminatedHexadecimalStringConstant: 'X' '\'' [0-9A-F]*; + +InvalidHexadecimalStringConstant: InvalidUnterminatedHexadecimalStringConstant '\''; + +InvalidUnterminatedHexadecimalStringConstant: 'X' UnterminatedStringConstant; +// Numeric Constants (4.1.2.6) + +Integral: Digits; + +NumericFail: Digits '..' {handleNumericFail();}; + +Numeric: + Digits '.' Digits? /*? replaced with + to solve problem with DOT_DOT .. but this surely must be rewriten */ ( + 'E' [+-]? Digits + )? + | '.' Digits ('E' [+-]? Digits)? + | Digits 'E' [+-]? Digits +; + +fragment Digits: [0-9]+; + +PLSQLVARIABLENAME: ':' [A-Z_] [A-Z_0-9$]*; + +PLSQLIDENTIFIER: ':"' ('\\' . | '""' | ~ ('"' | '\\'))* '"'; +// + +// WHITESPACE (4.1) + +// + +Whitespace: [ \t]+ -> channel (HIDDEN); + +Newline: ('\r' '\n'? | '\n') -> channel (HIDDEN); +// + +// COMMENTS (4.1.5) + +// + +LineComment: '--' ~ [\r\n]* -> channel (HIDDEN); + +BlockComment: + ('/*' ('/'* BlockComment | ~ [/*] | '/'+ ~ [/*] | '*'+ ~ [/*])* '*'* '*/') -> channel (HIDDEN) +; + +UnterminatedBlockComment: + '/*' ( + '/'* BlockComment + | // these characters are not part of special sequences in a block comment + ~ [/*] + | // handle / or * characters which are not part of /* or */ and do not appear at the end of the file + ('/'+ ~ [/*] | '*'+ ~ [/*]) + )* + // Handle the case of / or * characters at the end of the file, or a nested unterminated block comment + ('/'+ | '*'+ | '/'* UnterminatedBlockComment)? + // Optional assertion to make sure this rule is working as intended + { + unterminatedBlockCommentDebugAssert(); + } +; +// + +// META-COMMANDS + +// + +// http://www.postgresql.org/docs/9.3/static/app-psql.html + +MetaCommand: '\\' (~ [\r\n\\"] | '"' ~ [\r\n"]* '"')* ('"' ~ [\r\n"]*)?; + +EndMetaCommand: '\\\\'; +// + +// ERROR + +// + +// Any character which does not match one of the above rules will appear in the token stream as an ErrorCharacter token. + +// This ensures the lexer itself will never encounter a syntax error, so all error handling may be performed by the + +// parser. + +ErrorCharacter: .; + +mode EscapeStringConstantMode; +EscapeStringConstant: EscapeStringText '\'' -> mode (AfterEscapeStringConstantMode); + +UnterminatedEscapeStringConstant: + EscapeStringText + // Handle a final unmatched \ character appearing at the end of the file + '\\'? EOF +; + +fragment EscapeStringText options { + caseInsensitive = false; +}: + ( + '\'\'' + | '\\' ( + // two-digit hex escapes are still valid when treated as single-digit escapes + 'x' [0-9a-fA-F] + | 'u' [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] + | 'U' [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] + | // Any character other than the Unicode escapes can follow a backslash. Some have special meaning, + // but that doesn't affect the syntax. + ~ [xuU] + ) + | ~ ['\\] + )* +; + +InvalidEscapeStringConstant: InvalidEscapeStringText '\'' -> mode (AfterEscapeStringConstantMode); + +InvalidUnterminatedEscapeStringConstant: + InvalidEscapeStringText + // Handle a final unmatched \ character appearing at the end of the file + '\\'? EOF +; + +fragment InvalidEscapeStringText: ('\'\'' | '\\' . | ~ ['\\])*; + +mode AfterEscapeStringConstantMode; +AfterEscapeStringConstantMode_Whitespace: Whitespace -> type (Whitespace), channel (HIDDEN); + +AfterEscapeStringConstantMode_Newline: + Newline -> type (Newline), channel (HIDDEN), mode (AfterEscapeStringConstantWithNewlineMode) +; + +AfterEscapeStringConstantMode_NotContinued: + {} // intentionally empty + -> skip, popMode +; + +mode AfterEscapeStringConstantWithNewlineMode; +AfterEscapeStringConstantWithNewlineMode_Whitespace: + Whitespace -> type (Whitespace), channel (HIDDEN) +; + +AfterEscapeStringConstantWithNewlineMode_Newline: Newline -> type (Newline), channel (HIDDEN); + +AfterEscapeStringConstantWithNewlineMode_Continued: + '\'' -> more, mode (EscapeStringConstantMode) +; + +AfterEscapeStringConstantWithNewlineMode_NotContinued: + {} // intentionally empty + -> skip, popMode +; + +mode DollarQuotedStringMode; +DollarText: + ~ '$'+ + //| '$'([0-9])+ + | // this alternative improves the efficiency of handling $ characters within a dollar-quoted string which are + + // not part of the ending tag. + '$' ~ '$'* +; + +EndDollarStringConstant: ('$' Tag? '$') {isTag()}? {popTag();} -> popMode; diff --git a/incubator/binding-pgsql/src/main/antlr4/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlParser.g4 b/incubator/binding-pgsql/src/main/antlr4/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlParser.g4 new file mode 100644 index 0000000000..d2bf3dcbd2 --- /dev/null +++ b/incubator/binding-pgsql/src/main/antlr4/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlParser.g4 @@ -0,0 +1,5616 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + +parser grammar PostgreSqlParser; + +options { + tokenVocab = PostgreSqlLexer; + superClass = PostgreSqlParserBase; +} + +@header { +} + +@members { +} + +root + : stmtblock EOF + ; + +plsqlroot + : pl_function + ; + +stmtblock + : stmtmulti + ; + +stmtmulti + : (stmt SEMI?)* + ; + +stmt + : altereventtrigstmt + | altercollationstmt + | alterdatabasestmt + | alterdatabasesetstmt + | alterdefaultprivilegesstmt + | alterdomainstmt + | alterenumstmt + | alterextensionstmt + | alterextensioncontentsstmt + | alterfdwstmt + | alterforeignserverstmt + | alterfunctionstmt + | altergroupstmt + | alterobjectdependsstmt + | alterobjectschemastmt + | alterownerstmt + | alteroperatorstmt + | altertypestmt + | alterpolicystmt + | alterseqstmt + | altersystemstmt + | altertablestmt + | altertblspcstmt + | altercompositetypestmt + | alterpublicationstmt + | alterrolesetstmt + | alterrolestmt + | altersubscriptionstmt + | alterstatsstmt + | altertsconfigurationstmt + | altertsdictionarystmt + | alterusermappingstmt + | analyzestmt + | callstmt + | checkpointstmt + | closeportalstmt + | clusterstmt + | commentstmt + | constraintssetstmt + | copystmt + | createamstmt + | createasstmt + | createassertionstmt + | createcaststmt + | createconversionstmt + | createdomainstmt + | createextensionstmt + | createfdwstmt + | createforeignserverstmt + | createforeigntablestmt + | createfunctionstmt + | creategroupstmt + | creatematviewstmt + | createopclassstmt + | createopfamilystmt + | createpublicationstmt + | alteropfamilystmt + | createpolicystmt + | createplangstmt + | createschemastmt + | createseqstmt + | createstmt + | createstreamstmt + | createsubscriptionstmt + | createstatsstmt + | createtablespacestmt + | createtransformstmt + | createtrigstmt + | createeventtrigstmt + | createrolestmt + | createuserstmt + | createusermappingstmt + | createdbstmt + | deallocatestmt + | declarecursorstmt + | definestmt + | deletestmt + | discardstmt + | dostmt + | dropcaststmt + | dropopclassstmt + | dropopfamilystmt + | dropownedstmt + | dropstmt + | dropsubscriptionstmt + | droptablespacestmt + | droptransformstmt + | droprolestmt + | dropusermappingstmt + | dropdbstmt + | executestmt + | explainstmt + | fetchstmt + | grantstmt + | grantrolestmt + | importforeignschemastmt + | indexstmt + | insertstmt + | mergestmt + | listenstmt + | refreshmatviewstmt + | loadstmt + | lockstmt + | notifystmt + | preparestmt + | reassignownedstmt + | reindexstmt + | removeaggrstmt + | removefuncstmt + | removeoperstmt + | renamestmt + | revokestmt + | revokerolestmt + | rulestmt + | seclabelstmt + | selectstmt + | transactionstmt + | truncatestmt + | unlistenstmt + | updatestmt + | vacuumstmt + | variableresetstmt + | variablesetstmt + | variableshowstmt + | viewstmt + | plsqlconsolecommand + ; + +plsqlconsolecommand + : MetaCommand EndMetaCommand? + ; + +callstmt + : CALL func_application + ; + +createrolestmt + : CREATE ROLE roleid opt_with optrolelist + ; + +opt_with + : WITH + //| WITH_LA + | + ; + +optrolelist + : createoptroleelem* + ; + +alteroptrolelist + : alteroptroleelem* + ; + +alteroptroleelem + : PASSWORD (sconst | NULL_P) + | (ENCRYPTED | UNENCRYPTED) PASSWORD sconst + | INHERIT + | CONNECTION LIMIT signediconst + | VALID UNTIL sconst + | USER role_list + | identifier + ; + +createoptroleelem + : alteroptroleelem + | SYSID iconst + | ADMIN role_list + | ROLE role_list + | IN_P (ROLE | GROUP_P) role_list + ; + +createuserstmt + : CREATE USER roleid opt_with optrolelist + ; + +alterrolestmt + : ALTER (ROLE | USER) rolespec opt_with alteroptrolelist + ; + +opt_in_database + : + | IN_P DATABASE name + ; + +alterrolesetstmt + : ALTER (ROLE | USER) ALL? rolespec opt_in_database setresetclause + ; + +droprolestmt + : DROP (ROLE | USER | GROUP_P) (IF_P EXISTS)? role_list + ; + +creategroupstmt + : CREATE GROUP_P roleid opt_with optrolelist + ; + +altergroupstmt + : ALTER GROUP_P rolespec add_drop USER role_list + ; + +add_drop + : ADD_P + | DROP + ; + +createschemastmt + : CREATE SCHEMA (IF_P NOT EXISTS)? (optschemaname AUTHORIZATION rolespec | colid) optschemaeltlist + ; + +optschemaname + : colid + | + ; + +optschemaeltlist + : schema_stmt* + ; + +schema_stmt + : createstmt + | indexstmt + | createseqstmt + | createtrigstmt + | grantstmt + | viewstmt + ; + +variablesetstmt + : SET (LOCAL | SESSION)? set_rest + ; + +set_rest + : TRANSACTION transaction_mode_list + | SESSION CHARACTERISTICS AS TRANSACTION transaction_mode_list + | set_rest_more + ; + +generic_set + : var_name (TO | EQUAL) var_list + ; + +set_rest_more + : generic_set + | var_name FROM CURRENT_P + | TIME ZONE zone_value + | CATALOG sconst + | SCHEMA sconst + | NAMES opt_encoding + | ROLE nonreservedword_or_sconst + | SESSION AUTHORIZATION nonreservedword_or_sconst + | XML_P OPTION document_or_content + | TRANSACTION SNAPSHOT sconst + ; + +var_name + : colid (DOT colid)* + ; + +var_list + : var_value (COMMA var_value)* + ; + +var_value + : opt_boolean_or_string + | numericonly + ; + +iso_level + : READ (UNCOMMITTED | COMMITTED) + | REPEATABLE READ + | SERIALIZABLE + ; + +opt_boolean_or_string + : TRUE_P + | FALSE_P + | ON + | nonreservedword_or_sconst + ; + +zone_value + : sconst + | identifier + | constinterval sconst opt_interval + | constinterval OPEN_PAREN iconst CLOSE_PAREN sconst + | numericonly + | DEFAULT + | LOCAL + ; + +opt_encoding + : sconst + | DEFAULT + | + ; + +nonreservedword_or_sconst + : nonreservedword + | sconst + ; + +variableresetstmt + : RESET reset_rest + ; + +reset_rest + : generic_reset + | TIME ZONE + | TRANSACTION ISOLATION LEVEL + | SESSION AUTHORIZATION + ; + +generic_reset + : var_name + | ALL + ; + +setresetclause + : SET set_rest + | variableresetstmt + ; + +functionsetresetclause + : SET set_rest_more + | variableresetstmt + ; + +variableshowstmt + : SHOW (var_name | TIME ZONE | TRANSACTION ISOLATION LEVEL | SESSION AUTHORIZATION | ALL) + ; + +constraintssetstmt + : SET CONSTRAINTS constraints_set_list constraints_set_mode + ; + +constraints_set_list + : ALL + | qualified_name_list + ; + +constraints_set_mode + : DEFERRED + | IMMEDIATE + ; + +checkpointstmt + : CHECKPOINT + ; + +discardstmt + : DISCARD (ALL | TEMP | TEMPORARY | PLANS | SEQUENCES) + ; + +altertablestmt + : ALTER TABLE (IF_P EXISTS)? relation_expr (alter_table_cmds | partition_cmd) + | ALTER TABLE ALL IN_P TABLESPACE name (OWNED BY role_list)? SET TABLESPACE name opt_nowait + | ALTER INDEX (IF_P EXISTS)? qualified_name (alter_table_cmds | index_partition_cmd) + | ALTER INDEX ALL IN_P TABLESPACE name (OWNED BY role_list)? SET TABLESPACE name opt_nowait + | ALTER SEQUENCE (IF_P EXISTS)? qualified_name alter_table_cmds + | ALTER VIEW (IF_P EXISTS)? qualified_name alter_table_cmds + | ALTER MATERIALIZED VIEW (IF_P EXISTS)? qualified_name alter_table_cmds + | ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name (OWNED BY role_list)? SET TABLESPACE name opt_nowait + | ALTER FOREIGN TABLE (IF_P EXISTS)? relation_expr alter_table_cmds + ; + +alter_table_cmds + : alter_table_cmd (COMMA alter_table_cmd)* + ; + +partition_cmd + : ATTACH PARTITION qualified_name partitionboundspec + | DETACH PARTITION qualified_name + ; + +index_partition_cmd + : ATTACH PARTITION qualified_name + ; + +alter_table_cmd + : ADD_P columnDef + | ADD_P IF_P NOT EXISTS columnDef + | ADD_P COLUMN columnDef + | ADD_P COLUMN IF_P NOT EXISTS columnDef + | ALTER opt_column colid alter_column_default + | ALTER opt_column colid DROP NOT NULL_P + | ALTER opt_column colid SET NOT NULL_P + | ALTER opt_column colid DROP EXPRESSION + | ALTER opt_column colid DROP EXPRESSION IF_P EXISTS + | ALTER opt_column colid SET STATISTICS signediconst + | ALTER opt_column iconst SET STATISTICS signediconst + | ALTER opt_column colid SET reloptions + | ALTER opt_column colid RESET reloptions + | ALTER opt_column colid SET STORAGE colid + | ALTER opt_column colid ADD_P GENERATED generated_when AS IDENTITY_P optparenthesizedseqoptlist + | ALTER opt_column colid alter_identity_column_option_list + | ALTER opt_column colid DROP IDENTITY_P + | ALTER opt_column colid DROP IDENTITY_P IF_P EXISTS + | DROP opt_column IF_P EXISTS colid opt_drop_behavior + | DROP opt_column colid opt_drop_behavior + | ALTER opt_column colid opt_set_data TYPE_P typename opt_collate_clause alter_using + | ALTER opt_column colid alter_generic_options + | ADD_P tableconstraint + | ALTER CONSTRAINT name constraintattributespec + | VALIDATE CONSTRAINT name + | DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior + | DROP CONSTRAINT name opt_drop_behavior + | SET WITHOUT OIDS + | CLUSTER ON name + | SET WITHOUT CLUSTER + | SET LOGGED + | SET UNLOGGED + | ENABLE_P TRIGGER name + | ENABLE_P ALWAYS TRIGGER name + | ENABLE_P REPLICA TRIGGER name + | ENABLE_P TRIGGER ALL + | ENABLE_P TRIGGER USER + | DISABLE_P TRIGGER name + | DISABLE_P TRIGGER ALL + | DISABLE_P TRIGGER USER + | ENABLE_P RULE name + | ENABLE_P ALWAYS RULE name + | ENABLE_P REPLICA RULE name + | DISABLE_P RULE name + | INHERIT qualified_name + | NO INHERIT qualified_name + | OF any_name + | NOT OF + | OWNER TO rolespec + | SET TABLESPACE name + | SET reloptions + | RESET reloptions + | REPLICA IDENTITY_P replica_identity + | ENABLE_P ROW LEVEL SECURITY + | DISABLE_P ROW LEVEL SECURITY + | FORCE ROW LEVEL SECURITY + | NO FORCE ROW LEVEL SECURITY + | alter_generic_options + ; + +alter_column_default + : SET DEFAULT a_expr + | DROP DEFAULT + ; + +opt_drop_behavior + : CASCADE + | RESTRICT + | + ; + +opt_collate_clause + : COLLATE any_name + | + ; + +alter_using + : USING a_expr + | + ; + +replica_identity + : NOTHING + | FULL + | DEFAULT + | USING INDEX name + ; + +reloptions + : OPEN_PAREN reloption_list CLOSE_PAREN + ; + +opt_reloptions + : WITH reloptions + | + ; + +reloption_list + : reloption_elem (COMMA reloption_elem)* + ; + +reloption_elem + : collabel (EQUAL def_arg | DOT collabel (EQUAL def_arg)?)? + ; + +alter_identity_column_option_list + : alter_identity_column_option+ + ; + +alter_identity_column_option + : RESTART (opt_with numericonly)? + | SET (seqoptelem | GENERATED generated_when) + ; + +partitionboundspec + : FOR VALUES WITH OPEN_PAREN hash_partbound CLOSE_PAREN + | FOR VALUES IN_P OPEN_PAREN expr_list CLOSE_PAREN + | FOR VALUES FROM OPEN_PAREN expr_list CLOSE_PAREN TO OPEN_PAREN expr_list CLOSE_PAREN + | DEFAULT + ; + +hash_partbound_elem + : nonreservedword iconst + ; + +hash_partbound + : hash_partbound_elem (COMMA hash_partbound_elem)* + ; + +altercompositetypestmt + : ALTER TYPE_P any_name alter_type_cmds + ; + +alter_type_cmds + : alter_type_cmd (COMMA alter_type_cmd)* + ; + +alter_type_cmd + : ADD_P ATTRIBUTE tablefuncelement opt_drop_behavior + | DROP ATTRIBUTE (IF_P EXISTS)? colid opt_drop_behavior + | ALTER ATTRIBUTE colid opt_set_data TYPE_P typename opt_collate_clause opt_drop_behavior + ; + +closeportalstmt + : CLOSE (cursor_name | ALL) + ; + +copystmt + : COPY opt_binary qualified_name opt_column_list copy_from opt_program copy_file_name copy_delimiter opt_with copy_options where_clause + | COPY OPEN_PAREN preparablestmt CLOSE_PAREN TO opt_program copy_file_name opt_with copy_options + ; + +copy_from + : FROM + | TO + ; + +opt_program + : PROGRAM + | + ; + +copy_file_name + : sconst + | STDIN + | STDOUT + ; + +copy_options + : copy_opt_list + | OPEN_PAREN copy_generic_opt_list CLOSE_PAREN + ; + +copy_opt_list + : copy_opt_item* + ; + +copy_opt_item + : BINARY + | FREEZE + | DELIMITER opt_as sconst + | NULL_P opt_as sconst + | CSV + | HEADER_P + | QUOTE opt_as sconst + | ESCAPE opt_as sconst + | FORCE QUOTE columnlist + | FORCE QUOTE STAR + | FORCE NOT NULL_P columnlist + | FORCE NULL_P columnlist + | ENCODING sconst + ; + +opt_binary + : BINARY + | + ; + +copy_delimiter + : opt_using DELIMITERS sconst + | + ; + +opt_using + : USING + | + ; + +copy_generic_opt_list + : copy_generic_opt_elem (COMMA copy_generic_opt_elem)* + ; + +copy_generic_opt_elem + : collabel copy_generic_opt_arg + ; + +copy_generic_opt_arg + : opt_boolean_or_string + | numericonly + | STAR + | OPEN_PAREN copy_generic_opt_arg_list CLOSE_PAREN + | + ; + +copy_generic_opt_arg_list + : copy_generic_opt_arg_list_item (COMMA copy_generic_opt_arg_list_item)* + ; + +copy_generic_opt_arg_list_item + : opt_boolean_or_string + ; + +createstreamstmt + : CREATE STREAM (IF_P NOT EXISTS)? stream_name OPEN_PAREN stream_columns CLOSE_PAREN opt_with_stream + ; + +stream_name + : qualified_name + ; + +stream_columns + : stream_column (COMMA stream_column)* + ; + +stream_column + : colid typename + ; + +opt_with_stream + : WITH reloptions + | + ; + +createstmt + : CREATE opttemp opttable_type (IF_P NOT EXISTS)? qualified_name ( + OPEN_PAREN opttableelementlist CLOSE_PAREN optinherit optpartitionspec table_access_method_clause optwith oncommitoption opttablespace + | OF any_name opttypedtableelementlist optpartitionspec table_access_method_clause optwith oncommitoption opttablespace + | PARTITION OF qualified_name opttypedtableelementlist partitionboundspec optpartitionspec table_access_method_clause optwith oncommitoption + opttablespace + ) + ; + +opttable_type + : TABLE + | TOPIC + ; + +opttemp + : TEMPORARY + | TEMP + | LOCAL (TEMPORARY | TEMP) + | GLOBAL (TEMPORARY | TEMP) + | UNLOGGED + | + ; + +opttableelementlist + : tableelementlist + | + ; + +opttypedtableelementlist + : OPEN_PAREN typedtableelementlist CLOSE_PAREN + | + ; + +tableelementlist + : tableelement (COMMA tableelement)* + ; + +typedtableelementlist + : typedtableelement (COMMA typedtableelement)* + ; + +tableelement + : tableconstraint + | tablelikeclause + | columnDef + ; + +typedtableelement + : columnOptions + | tableconstraint + ; + +columnDef + : colid typename create_generic_options colquallist + ; + +columnOptions + : colid (WITH OPTIONS)? colquallist + ; + +colquallist + : colconstraint* + ; + +colconstraint + : CONSTRAINT name colconstraintelem + | colconstraintelem + | constraintattr + | COLLATE any_name + ; + +colconstraintelem + : NOT NULL_P + | NULL_P + | UNIQUE opt_definition optconstablespace + | PRIMARY KEY opt_definition optconstablespace + | CHECK OPEN_PAREN a_expr CLOSE_PAREN opt_no_inherit + | DEFAULT b_expr + | GENERATED generated_when AS ( + IDENTITY_P optparenthesizedseqoptlist + | OPEN_PAREN a_expr CLOSE_PAREN STORED + ) + | REFERENCES qualified_name opt_column_list key_match key_actions + ; + +generated_when + : ALWAYS + | BY DEFAULT + ; + +constraintattr + : DEFERRABLE + | NOT DEFERRABLE + | INITIALLY (DEFERRED | IMMEDIATE) + ; + +tablelikeclause + : LIKE qualified_name tablelikeoptionlist + ; + +tablelikeoptionlist + : ((INCLUDING | EXCLUDING) tablelikeoption)* + ; + +tablelikeoption + : COMMENTS + | CONSTRAINTS + | DEFAULTS + | IDENTITY_P + | GENERATED + | INDEXES + | STATISTICS + | STORAGE + | ALL + ; + +tableconstraint + : CONSTRAINT name constraintelem + | constraintelem + ; + +constraintelem + : CHECK OPEN_PAREN a_expr CLOSE_PAREN constraintattributespec + | UNIQUE ( + OPEN_PAREN columnlist CLOSE_PAREN opt_c_include opt_definition optconstablespace constraintattributespec + | existingindex constraintattributespec + ) + | PRIMARY KEY ( + OPEN_PAREN columnlist CLOSE_PAREN opt_c_include opt_definition optconstablespace constraintattributespec + | existingindex constraintattributespec + ) + | EXCLUDE access_method_clause OPEN_PAREN exclusionconstraintlist CLOSE_PAREN opt_c_include opt_definition optconstablespace exclusionwhereclause + constraintattributespec + | FOREIGN KEY OPEN_PAREN columnlist CLOSE_PAREN REFERENCES qualified_name opt_column_list key_match key_actions constraintattributespec + ; + +opt_no_inherit + : NO INHERIT + | + ; + +opt_column_list + : OPEN_PAREN columnlist CLOSE_PAREN + | + ; + +columnlist + : columnElem (COMMA columnElem)* + ; + +columnElem + : colid + ; + +opt_c_include + : INCLUDE OPEN_PAREN columnlist CLOSE_PAREN + | + ; + +key_match + : MATCH (FULL | PARTIAL | SIMPLE) + | + ; + +exclusionconstraintlist + : exclusionconstraintelem (COMMA exclusionconstraintelem)* + ; + +exclusionconstraintelem + : index_elem WITH (any_operator | OPERATOR OPEN_PAREN any_operator CLOSE_PAREN) + ; + +exclusionwhereclause + : WHERE OPEN_PAREN a_expr CLOSE_PAREN + | + ; + +key_actions + : key_update + | key_delete + | key_update key_delete + | key_delete key_update + | + ; + +key_update + : ON UPDATE key_action + ; + +key_delete + : ON DELETE_P key_action + ; + +key_action + : NO ACTION + | RESTRICT + | CASCADE + | SET (NULL_P | DEFAULT) + ; + +optinherit + : INHERITS OPEN_PAREN qualified_name_list CLOSE_PAREN + | + ; + +optpartitionspec + : partitionspec + | + ; + +partitionspec + : PARTITION BY colid OPEN_PAREN part_params CLOSE_PAREN + ; + +part_params + : part_elem (COMMA part_elem)* + ; + +part_elem + : colid opt_collate opt_class + | func_expr_windowless opt_collate opt_class + | OPEN_PAREN a_expr CLOSE_PAREN opt_collate opt_class + ; + +table_access_method_clause + : USING name + | + ; + +optwith + : WITH reloptions + | WITHOUT OIDS + | + ; + +oncommitoption + : ON COMMIT (DROP | DELETE_P ROWS | PRESERVE ROWS) + | + ; + +opttablespace + : TABLESPACE name + | + ; + +optconstablespace + : USING INDEX TABLESPACE name + | + ; + +existingindex + : USING INDEX name + ; + +createstatsstmt + : CREATE STATISTICS (IF_P NOT EXISTS)? any_name opt_name_list ON expr_list FROM from_list + ; + +alterstatsstmt + : ALTER STATISTICS (IF_P EXISTS)? any_name SET STATISTICS signediconst + ; + +createasstmt + : CREATE opttemp TABLE (IF_P NOT EXISTS)? create_as_target AS selectstmt opt_with_data + ; + +create_as_target + : qualified_name opt_column_list table_access_method_clause optwith oncommitoption opttablespace + ; + +opt_with_data + : WITH (DATA_P | NO DATA_P) + | + ; + +creatematviewstmt + : CREATE optnolog MATERIALIZED VIEW (IF_P NOT EXISTS)? create_mv_target AS selectstmt opt_with_data + ; + +create_mv_target + : qualified_name opt_column_list table_access_method_clause opt_reloptions opttablespace + ; + +optnolog + : UNLOGGED + | + ; + +refreshmatviewstmt + : REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data + ; + +createseqstmt + : CREATE opttemp SEQUENCE (IF_P NOT EXISTS)? qualified_name optseqoptlist + ; + +alterseqstmt + : ALTER SEQUENCE (IF_P EXISTS)? qualified_name seqoptlist + ; + +optseqoptlist + : seqoptlist + | + ; + +optparenthesizedseqoptlist + : OPEN_PAREN seqoptlist CLOSE_PAREN + | + ; + +seqoptlist + : seqoptelem+ + ; + +seqoptelem + : AS simpletypename + | CACHE numericonly + | CYCLE + | INCREMENT opt_by numericonly + | MAXVALUE numericonly + | MINVALUE numericonly + | NO (MAXVALUE | MINVALUE | CYCLE) + | OWNED BY any_name + | SEQUENCE NAME_P any_name + | START opt_with numericonly + | RESTART opt_with numericonly? + ; + +opt_by + : BY + | + ; + +numericonly + : fconst + | PLUS fconst + | MINUS fconst + | signediconst + ; + +numericonly_list + : numericonly (COMMA numericonly)* + ; + +createplangstmt + : CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name ( + HANDLER handler_name opt_inline_handler opt_validator + )? + ; + +opt_trusted + : TRUSTED + | + ; + +handler_name + : name attrs? + ; + +opt_inline_handler + : INLINE_P handler_name + | + ; + +validator_clause + : VALIDATOR handler_name + | NO VALIDATOR + ; + +opt_validator + : validator_clause + | + ; + +opt_procedural + : PROCEDURAL + | + ; + +createtablespacestmt + : CREATE TABLESPACE name opttablespaceowner LOCATION sconst opt_reloptions + ; + +opttablespaceowner + : OWNER rolespec + | + ; + +droptablespacestmt + : DROP TABLESPACE (IF_P EXISTS)? name + ; + +createextensionstmt + : CREATE EXTENSION (IF_P NOT EXISTS)? name opt_with create_extension_opt_list + ; + +create_extension_opt_list + : create_extension_opt_item* + ; + +create_extension_opt_item + : SCHEMA name + | VERSION_P nonreservedword_or_sconst + | FROM nonreservedword_or_sconst + | CASCADE + ; + +alterextensionstmt + : ALTER EXTENSION name UPDATE alter_extension_opt_list + ; + +alter_extension_opt_list + : alter_extension_opt_item* + ; + +alter_extension_opt_item + : TO nonreservedword_or_sconst + ; + +alterextensioncontentsstmt + : ALTER EXTENSION name add_drop object_type_name name + | ALTER EXTENSION name add_drop object_type_any_name any_name + | ALTER EXTENSION name add_drop AGGREGATE aggregate_with_argtypes + | ALTER EXTENSION name add_drop CAST OPEN_PAREN typename AS typename CLOSE_PAREN + | ALTER EXTENSION name add_drop DOMAIN_P typename + | ALTER EXTENSION name add_drop FUNCTION function_with_argtypes + | ALTER EXTENSION name add_drop OPERATOR operator_with_argtypes + | ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name + | ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name + | ALTER EXTENSION name add_drop PROCEDURE function_with_argtypes + | ALTER EXTENSION name add_drop ROUTINE function_with_argtypes + | ALTER EXTENSION name add_drop TRANSFORM FOR typename LANGUAGE name + | ALTER EXTENSION name add_drop TYPE_P typename + ; + +createfdwstmt + : CREATE FOREIGN DATA_P WRAPPER name opt_fdw_options create_generic_options + ; + +fdw_option + : HANDLER handler_name + | NO HANDLER + | VALIDATOR handler_name + | NO VALIDATOR + ; + +fdw_options + : fdw_option+ + ; + +opt_fdw_options + : fdw_options + | + ; + +alterfdwstmt + : ALTER FOREIGN DATA_P WRAPPER name opt_fdw_options alter_generic_options + | ALTER FOREIGN DATA_P WRAPPER name fdw_options + ; + +create_generic_options + : OPTIONS OPEN_PAREN generic_option_list CLOSE_PAREN + | + ; + +generic_option_list + : generic_option_elem (COMMA generic_option_elem)* + ; + +alter_generic_options + : OPTIONS OPEN_PAREN alter_generic_option_list CLOSE_PAREN + ; + +alter_generic_option_list + : alter_generic_option_elem (COMMA alter_generic_option_elem)* + ; + +alter_generic_option_elem + : generic_option_elem + | SET generic_option_elem + | ADD_P generic_option_elem + | DROP generic_option_name + ; + +generic_option_elem + : generic_option_name generic_option_arg + ; + +generic_option_name + : collabel + ; + +generic_option_arg + : sconst + ; + +createforeignserverstmt + : CREATE SERVER name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options + | CREATE SERVER IF_P NOT EXISTS name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options + ; + +opt_type + : TYPE_P sconst + | + ; + +foreign_server_version + : VERSION_P (sconst | NULL_P) + ; + +opt_foreign_server_version + : foreign_server_version + | + ; + +alterforeignserverstmt + : ALTER SERVER name (alter_generic_options | foreign_server_version alter_generic_options?) + ; + +createforeigntablestmt + : CREATE FOREIGN TABLE qualified_name OPEN_PAREN opttableelementlist CLOSE_PAREN optinherit SERVER name create_generic_options + | CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name OPEN_PAREN opttableelementlist CLOSE_PAREN optinherit SERVER name create_generic_options + | CREATE FOREIGN TABLE qualified_name PARTITION OF qualified_name opttypedtableelementlist partitionboundspec SERVER name create_generic_options + | CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name opttypedtableelementlist partitionboundspec SERVER name + create_generic_options + ; + +importforeignschemastmt + : IMPORT_P FOREIGN SCHEMA name import_qualification FROM SERVER name INTO name create_generic_options + ; + +import_qualification_type + : LIMIT TO + | EXCEPT + ; + +import_qualification + : import_qualification_type OPEN_PAREN relation_expr_list CLOSE_PAREN + | + ; + +createusermappingstmt + : CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options + | CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options + ; + +auth_ident + : rolespec + | USER + ; + +dropusermappingstmt + : DROP USER MAPPING FOR auth_ident SERVER name + | DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name + ; + +alterusermappingstmt + : ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options + ; + +createpolicystmt + : CREATE POLICY name ON qualified_name rowsecuritydefaultpermissive rowsecuritydefaultforcmd rowsecuritydefaulttorole rowsecurityoptionalexpr + rowsecurityoptionalwithcheck + ; + +alterpolicystmt + : ALTER POLICY name ON qualified_name rowsecurityoptionaltorole rowsecurityoptionalexpr rowsecurityoptionalwithcheck + ; + +rowsecurityoptionalexpr + : USING OPEN_PAREN a_expr CLOSE_PAREN + | + ; + +rowsecurityoptionalwithcheck + : WITH CHECK OPEN_PAREN a_expr CLOSE_PAREN + | + ; + +rowsecuritydefaulttorole + : TO role_list + | + ; + +rowsecurityoptionaltorole + : TO role_list + | + ; + +rowsecuritydefaultpermissive + : AS identifier + | + ; + +rowsecuritydefaultforcmd + : FOR row_security_cmd + | + ; + +row_security_cmd + : ALL + | SELECT + | INSERT + | UPDATE + | DELETE_P + ; + +createamstmt + : CREATE ACCESS METHOD name TYPE_P am_type HANDLER handler_name + ; + +am_type + : INDEX + | TABLE + ; + +createtrigstmt + : CREATE TRIGGER name triggeractiontime triggerevents ON qualified_name triggerreferencing triggerforspec triggerwhen EXECUTE + function_or_procedure func_name OPEN_PAREN triggerfuncargs CLOSE_PAREN + | CREATE CONSTRAINT TRIGGER name AFTER triggerevents ON qualified_name optconstrfromtable constraintattributespec FOR EACH ROW triggerwhen EXECUTE + function_or_procedure func_name OPEN_PAREN triggerfuncargs CLOSE_PAREN + ; + +triggeractiontime + : BEFORE + | AFTER + | INSTEAD OF + ; + +triggerevents + : triggeroneevent (OR triggeroneevent)* + ; + +triggeroneevent + : INSERT + | DELETE_P + | UPDATE + | UPDATE OF columnlist + | TRUNCATE + ; + +triggerreferencing + : REFERENCING triggertransitions + | + ; + +triggertransitions + : triggertransition+ + ; + +triggertransition + : transitionoldornew transitionrowortable opt_as transitionrelname + ; + +transitionoldornew + : NEW + | OLD + ; + +transitionrowortable + : TABLE + | ROW + ; + +transitionrelname + : colid + ; + +triggerforspec + : FOR triggerforopteach triggerfortype + | + ; + +triggerforopteach + : EACH + | + ; + +triggerfortype + : ROW + | STATEMENT + ; + +triggerwhen + : WHEN OPEN_PAREN a_expr CLOSE_PAREN + | + ; + +function_or_procedure + : FUNCTION + | PROCEDURE + ; + +triggerfuncargs + : (triggerfuncarg |) (COMMA triggerfuncarg)* + ; + +triggerfuncarg + : iconst + | fconst + | sconst + | collabel + ; + +optconstrfromtable + : FROM qualified_name + | + ; + +constraintattributespec + : constraintattributeElem* + ; + +constraintattributeElem + : NOT DEFERRABLE + | DEFERRABLE + | INITIALLY IMMEDIATE + | INITIALLY DEFERRED + | NOT VALID + | NO INHERIT + ; + +createeventtrigstmt + : CREATE EVENT TRIGGER name ON collabel EXECUTE function_or_procedure func_name OPEN_PAREN CLOSE_PAREN + | CREATE EVENT TRIGGER name ON collabel WHEN event_trigger_when_list EXECUTE function_or_procedure func_name OPEN_PAREN CLOSE_PAREN + ; + +event_trigger_when_list + : event_trigger_when_item (AND event_trigger_when_item)* + ; + +event_trigger_when_item + : colid IN_P OPEN_PAREN event_trigger_value_list CLOSE_PAREN + ; + +event_trigger_value_list + : sconst (COMMA sconst)* + ; + +altereventtrigstmt + : ALTER EVENT TRIGGER name enable_trigger + ; + +enable_trigger + : ENABLE_P + | ENABLE_P REPLICA + | ENABLE_P ALWAYS + | DISABLE_P + ; + +createassertionstmt + : CREATE ASSERTION any_name CHECK OPEN_PAREN a_expr CLOSE_PAREN constraintattributespec + ; + +definestmt + : CREATE opt_or_replace AGGREGATE func_name aggr_args definition + | CREATE opt_or_replace AGGREGATE func_name old_aggr_definition + | CREATE OPERATOR any_operator definition + | CREATE TYPE_P any_name definition + | CREATE TYPE_P any_name + | CREATE TYPE_P any_name AS OPEN_PAREN opttablefuncelementlist CLOSE_PAREN + | CREATE TYPE_P any_name AS ENUM_P OPEN_PAREN opt_enum_val_list CLOSE_PAREN + | CREATE TYPE_P any_name AS RANGE definition + | CREATE TEXT_P SEARCH PARSER any_name definition + | CREATE TEXT_P SEARCH DICTIONARY any_name definition + | CREATE TEXT_P SEARCH TEMPLATE any_name definition + | CREATE TEXT_P SEARCH CONFIGURATION any_name definition + | CREATE COLLATION any_name definition + | CREATE COLLATION IF_P NOT EXISTS any_name definition + | CREATE COLLATION any_name FROM any_name + | CREATE COLLATION IF_P NOT EXISTS any_name FROM any_name + ; + +definition + : OPEN_PAREN def_list CLOSE_PAREN + ; + +def_list + : def_elem (COMMA def_elem)* + ; + +def_elem + : collabel (EQUAL def_arg)? + ; + +def_arg + : func_type + | reserved_keyword + | qual_all_op + | numericonly + | sconst + | NONE + ; + +old_aggr_definition + : OPEN_PAREN old_aggr_list CLOSE_PAREN + ; + +old_aggr_list + : old_aggr_elem (COMMA old_aggr_elem)* + ; + +old_aggr_elem + : identifier EQUAL def_arg + ; + +opt_enum_val_list + : enum_val_list + | + ; + +enum_val_list + : sconst (COMMA sconst)* + ; + +alterenumstmt + : ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists sconst + | ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists sconst BEFORE sconst + | ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists sconst AFTER sconst + | ALTER TYPE_P any_name RENAME VALUE_P sconst TO sconst + ; + +opt_if_not_exists + : IF_P NOT EXISTS + | + ; + +createopclassstmt + : CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P typename USING name opt_opfamily AS opclass_item_list + ; + +opclass_item_list + : opclass_item (COMMA opclass_item)* + ; + +opclass_item + : OPERATOR iconst any_operator opclass_purpose opt_recheck + | OPERATOR iconst operator_with_argtypes opclass_purpose opt_recheck + | FUNCTION iconst function_with_argtypes + | FUNCTION iconst OPEN_PAREN type_list CLOSE_PAREN function_with_argtypes + | STORAGE typename + ; + +opt_default + : DEFAULT + | + ; + +opt_opfamily + : FAMILY any_name + | + ; + +opclass_purpose + : FOR SEARCH + | FOR ORDER BY any_name + | + ; + +opt_recheck + : RECHECK + | + ; + +createopfamilystmt + : CREATE OPERATOR FAMILY any_name USING name + ; + +alteropfamilystmt + : ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list + | ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list + ; + +opclass_drop_list + : opclass_drop (COMMA opclass_drop)* + ; + +opclass_drop + : OPERATOR iconst OPEN_PAREN type_list CLOSE_PAREN + | FUNCTION iconst OPEN_PAREN type_list CLOSE_PAREN + ; + +dropopclassstmt + : DROP OPERATOR CLASS any_name USING name opt_drop_behavior + | DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior + ; + +dropopfamilystmt + : DROP OPERATOR FAMILY any_name USING name opt_drop_behavior + | DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior + ; + +dropownedstmt + : DROP OWNED BY role_list opt_drop_behavior + ; + +reassignownedstmt + : REASSIGN OWNED BY role_list TO rolespec + ; + +dropstmt + : DROP object_type_any_name IF_P EXISTS any_name_list opt_drop_behavior + | DROP object_type_any_name any_name_list opt_drop_behavior + | DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior + | DROP drop_type_name name_list opt_drop_behavior + | DROP object_type_name_on_any_name name ON any_name opt_drop_behavior + | DROP object_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior + | DROP TYPE_P type_name_list opt_drop_behavior + | DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior + | DROP DOMAIN_P type_name_list opt_drop_behavior + | DROP DOMAIN_P IF_P EXISTS type_name_list opt_drop_behavior + | DROP INDEX CONCURRENTLY any_name_list opt_drop_behavior + | DROP INDEX CONCURRENTLY IF_P EXISTS any_name_list opt_drop_behavior + ; + +object_type_any_name + : TABLE + | SEQUENCE + | VIEW + | MATERIALIZED VIEW + | TOPIC + | STREAM + | INDEX + | FOREIGN TABLE + | COLLATION + | CONVERSION_P + | STATISTICS + | TEXT_P SEARCH PARSER + | TEXT_P SEARCH DICTIONARY + | TEXT_P SEARCH TEMPLATE + | TEXT_P SEARCH CONFIGURATION + ; + +object_type_name + : drop_type_name + | DATABASE + | ROLE + | SUBSCRIPTION + | TABLESPACE + ; + +drop_type_name + : ACCESS METHOD + | EVENT TRIGGER + | EXTENSION + | FOREIGN DATA_P WRAPPER + | opt_procedural LANGUAGE + | PUBLICATION + | SCHEMA + | SERVER + ; + +object_type_name_on_any_name + : POLICY + | RULE + | TRIGGER + ; + +any_name_list + : any_name (COMMA any_name)* + ; + +any_name + : colid attrs? + ; + +attrs + : (DOT attr_name)+ + ; + +type_name_list + : typename (COMMA typename)* + ; + +truncatestmt + : TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior + ; + +opt_restart_seqs + : CONTINUE_P IDENTITY_P + | RESTART IDENTITY_P + | + ; + +commentstmt + : COMMENT ON object_type_any_name any_name IS comment_text + | COMMENT ON COLUMN any_name IS comment_text + | COMMENT ON object_type_name name IS comment_text + | COMMENT ON TYPE_P typename IS comment_text + | COMMENT ON DOMAIN_P typename IS comment_text + | COMMENT ON AGGREGATE aggregate_with_argtypes IS comment_text + | COMMENT ON FUNCTION function_with_argtypes IS comment_text + | COMMENT ON OPERATOR operator_with_argtypes IS comment_text + | COMMENT ON CONSTRAINT name ON any_name IS comment_text + | COMMENT ON CONSTRAINT name ON DOMAIN_P any_name IS comment_text + | COMMENT ON object_type_name_on_any_name name ON any_name IS comment_text + | COMMENT ON PROCEDURE function_with_argtypes IS comment_text + | COMMENT ON ROUTINE function_with_argtypes IS comment_text + | COMMENT ON TRANSFORM FOR typename LANGUAGE name IS comment_text + | COMMENT ON OPERATOR CLASS any_name USING name IS comment_text + | COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text + | COMMENT ON LARGE_P OBJECT_P numericonly IS comment_text + | COMMENT ON CAST OPEN_PAREN typename AS typename CLOSE_PAREN IS comment_text + ; + +comment_text + : sconst + | NULL_P + ; + +seclabelstmt + : SECURITY LABEL opt_provider ON object_type_any_name any_name IS security_label + | SECURITY LABEL opt_provider ON COLUMN any_name IS security_label + | SECURITY LABEL opt_provider ON object_type_name name IS security_label + | SECURITY LABEL opt_provider ON TYPE_P typename IS security_label + | SECURITY LABEL opt_provider ON DOMAIN_P typename IS security_label + | SECURITY LABEL opt_provider ON AGGREGATE aggregate_with_argtypes IS security_label + | SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes IS security_label + | SECURITY LABEL opt_provider ON LARGE_P OBJECT_P numericonly IS security_label + | SECURITY LABEL opt_provider ON PROCEDURE function_with_argtypes IS security_label + | SECURITY LABEL opt_provider ON ROUTINE function_with_argtypes IS security_label + ; + +opt_provider + : FOR nonreservedword_or_sconst + | + ; + +security_label + : sconst + | NULL_P + ; + +fetchstmt + : FETCH fetch_args + | MOVE fetch_args + ; + +fetch_args + : cursor_name + | from_in cursor_name + | NEXT opt_from_in cursor_name + | PRIOR opt_from_in cursor_name + | FIRST_P opt_from_in cursor_name + | LAST_P opt_from_in cursor_name + | ABSOLUTE_P signediconst opt_from_in cursor_name + | RELATIVE_P signediconst opt_from_in cursor_name + | signediconst opt_from_in cursor_name + | ALL opt_from_in cursor_name + | FORWARD opt_from_in cursor_name + | FORWARD signediconst opt_from_in cursor_name + | FORWARD ALL opt_from_in cursor_name + | BACKWARD opt_from_in cursor_name + | BACKWARD signediconst opt_from_in cursor_name + | BACKWARD ALL opt_from_in cursor_name + ; + +from_in + : FROM + | IN_P + ; + +opt_from_in + : from_in + | + ; + +grantstmt + : GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_option + ; + +revokestmt + : REVOKE privileges ON privilege_target FROM grantee_list opt_drop_behavior + | REVOKE GRANT OPTION FOR privileges ON privilege_target FROM grantee_list opt_drop_behavior + ; + +privileges + : privilege_list + | ALL + | ALL PRIVILEGES + | ALL OPEN_PAREN columnlist CLOSE_PAREN + | ALL PRIVILEGES OPEN_PAREN columnlist CLOSE_PAREN + ; + +privilege_list + : privilege (COMMA privilege)* + ; + +privilege + : SELECT opt_column_list + | REFERENCES opt_column_list + | CREATE opt_column_list + | colid opt_column_list + ; + +privilege_target + : qualified_name_list + | TABLE qualified_name_list + | SEQUENCE qualified_name_list + | FOREIGN DATA_P WRAPPER name_list + | FOREIGN SERVER name_list + | FUNCTION function_with_argtypes_list + | PROCEDURE function_with_argtypes_list + | ROUTINE function_with_argtypes_list + | DATABASE name_list + | DOMAIN_P any_name_list + | LANGUAGE name_list + | LARGE_P OBJECT_P numericonly_list + | SCHEMA name_list + | TABLESPACE name_list + | TYPE_P any_name_list + | ALL TABLES IN_P SCHEMA name_list + | ALL SEQUENCES IN_P SCHEMA name_list + | ALL FUNCTIONS IN_P SCHEMA name_list + | ALL PROCEDURES IN_P SCHEMA name_list + | ALL ROUTINES IN_P SCHEMA name_list + ; + +grantee_list + : grantee (COMMA grantee)* + ; + +grantee + : rolespec + | GROUP_P rolespec + ; + +opt_grant_grant_option + : WITH GRANT OPTION + | + ; + +grantrolestmt + : GRANT privilege_list TO role_list opt_grant_admin_option opt_granted_by + ; + +revokerolestmt + : REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior + | REVOKE ADMIN OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior + ; + +opt_grant_admin_option + : WITH ADMIN OPTION + | + ; + +opt_granted_by + : GRANTED BY rolespec + | + ; + +alterdefaultprivilegesstmt + : ALTER DEFAULT PRIVILEGES defacloptionlist defaclaction + ; + +defacloptionlist + : defacloption* + ; + +defacloption + : IN_P SCHEMA name_list + | FOR ROLE role_list + | FOR USER role_list + ; + +defaclaction + : GRANT privileges ON defacl_privilege_target TO grantee_list opt_grant_grant_option + | REVOKE privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior + | REVOKE GRANT OPTION FOR privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior + ; + +defacl_privilege_target + : TABLES + | FUNCTIONS + | ROUTINES + | SEQUENCES + | TYPES_P + | SCHEMAS + ; + +//create index + +indexstmt + : CREATE opt_unique INDEX opt_concurrently opt_index_name ON relation_expr access_method_clause OPEN_PAREN index_params CLOSE_PAREN opt_include + opt_reloptions opttablespace where_clause + | CREATE opt_unique INDEX opt_concurrently IF_P NOT EXISTS name ON relation_expr access_method_clause OPEN_PAREN index_params CLOSE_PAREN + opt_include opt_reloptions opttablespace where_clause + ; + +opt_unique + : UNIQUE + | + ; + +opt_concurrently + : CONCURRENTLY + | + ; + +opt_index_name + : name + | + ; + +access_method_clause + : USING name + | + ; + +index_params + : index_elem (COMMA index_elem)* + ; + +index_elem_options + : opt_collate opt_class opt_asc_desc opt_nulls_order + | opt_collate any_name reloptions opt_asc_desc opt_nulls_order + ; + +index_elem + : colid index_elem_options + | func_expr_windowless index_elem_options + | OPEN_PAREN a_expr CLOSE_PAREN index_elem_options + ; + +opt_include + : INCLUDE OPEN_PAREN index_including_params CLOSE_PAREN + | + ; + +index_including_params + : index_elem (COMMA index_elem)* + ; + +opt_collate + : COLLATE any_name + | + ; + +opt_class + : any_name + | + ; + +opt_asc_desc + : ASC + | DESC + | + ; + +//TOD NULLS_LA was used + +opt_nulls_order + : NULLS_P FIRST_P + | NULLS_P LAST_P + | + ; + +createfunctionstmt + : CREATE opt_or_replace (FUNCTION | PROCEDURE) func_name func_args_with_defaults ( + RETURNS (func_return | TABLE OPEN_PAREN table_func_column_list CLOSE_PAREN) + )? createfunc_opt_list + ; + +opt_type_parameters + : '<' type_parameters '>' + | + ; + +type_parameters + : type_parameter (COMMA type_parameter)* + ; + +type_parameter + : colid typename + ; + +opt_or_replace + : OR REPLACE + | + ; + +func_args + : OPEN_PAREN func_args_list? CLOSE_PAREN + ; + +func_args_list + : func_arg (COMMA func_arg)* + ; + +function_with_argtypes_list + : function_with_argtypes (COMMA function_with_argtypes)* + ; + +function_with_argtypes + : func_name func_args + | type_func_name_keyword + | colid indirection? + ; + +func_args_with_defaults + : OPEN_PAREN func_args_with_defaults_list? CLOSE_PAREN + ; + +func_args_with_defaults_list + : func_arg_with_default (COMMA func_arg_with_default)* + ; + +func_arg + : arg_class param_name? func_type + | param_name arg_class? func_type + | func_type + ; + +arg_class + : IN_P OUT_P? + | OUT_P + | INOUT + | VARIADIC + ; + +param_name + : type_function_name + | builtin_function_name + | LEFT + | RIGHT + ; + +func_return + : func_type + ; + +func_type + : typename + ; + +func_arg_with_default + : func_arg ((DEFAULT | EQUAL) a_expr)? + ; + +aggr_arg + : func_arg + ; + +aggr_args + : OPEN_PAREN ( + STAR + | aggr_args_list + | ORDER BY aggr_args_list + | aggr_args_list ORDER BY aggr_args_list + ) CLOSE_PAREN + ; + +aggr_args_list + : aggr_arg (COMMA aggr_arg)* + ; + +aggregate_with_argtypes + : func_name aggr_args + ; + +aggregate_with_argtypes_list + : aggregate_with_argtypes (COMMA aggregate_with_argtypes)* + ; + +createfunc_opt_list + : createfunc_opt_item+ { + parseRoutineBody(_localctx); + } + // | createfunc_opt_list createfunc_opt_item + ; + +common_func_opt_item + : CALLED ON NULL_P INPUT_P + | RETURNS NULL_P ON NULL_P INPUT_P + | STRICT_P + | IMMUTABLE + | STABLE + | VOLATILE + | EXTERNAL SECURITY DEFINER + | EXTERNAL SECURITY INVOKER + | SECURITY DEFINER + | SECURITY INVOKER + | LEAKPROOF + | NOT LEAKPROOF + | COST numericonly + | ROWS numericonly + | SUPPORT any_name + | functionsetresetclause + | PARALLEL colid + ; + +createfunc_opt_item + : AS func_as + | LANGUAGE nonreservedword_or_sconst + | TRANSFORM transform_type_list + | WINDOW + | common_func_opt_item + ; + +//https://www.postgresql.org/docs/9.1/sql-createfunction.html + +// | AS 'definition' + +// | AS 'obj_file', 'link_symbol' + +func_as + locals[ParserRuleContext Definition] + : + /* |AS 'definition'*/ def = sconst + /*| AS 'obj_file', 'link_symbol'*/ + | sconst COMMA sconst + ; + +transform_type_list + : FOR TYPE_P typename (COMMA FOR TYPE_P typename)* + ; + +opt_definition + : WITH definition + | + ; + +table_func_column + : param_name func_type + ; + +table_func_column_list + : table_func_column (COMMA table_func_column)* + ; + +alterfunctionstmt + : ALTER (FUNCTION | PROCEDURE | ROUTINE) function_with_argtypes alterfunc_opt_list opt_restrict + ; + +alterfunc_opt_list + : common_func_opt_item+ + ; + +opt_restrict + : RESTRICT + | + ; + +removefuncstmt + : DROP FUNCTION function_with_argtypes_list opt_drop_behavior + | DROP FUNCTION IF_P EXISTS function_with_argtypes_list opt_drop_behavior + | DROP PROCEDURE function_with_argtypes_list opt_drop_behavior + | DROP PROCEDURE IF_P EXISTS function_with_argtypes_list opt_drop_behavior + | DROP ROUTINE function_with_argtypes_list opt_drop_behavior + | DROP ROUTINE IF_P EXISTS function_with_argtypes_list opt_drop_behavior + ; + +removeaggrstmt + : DROP AGGREGATE aggregate_with_argtypes_list opt_drop_behavior + | DROP AGGREGATE IF_P EXISTS aggregate_with_argtypes_list opt_drop_behavior + ; + +removeoperstmt + : DROP OPERATOR operator_with_argtypes_list opt_drop_behavior + | DROP OPERATOR IF_P EXISTS operator_with_argtypes_list opt_drop_behavior + ; + +oper_argtypes + : OPEN_PAREN typename CLOSE_PAREN + | OPEN_PAREN typename COMMA typename CLOSE_PAREN + | OPEN_PAREN NONE COMMA typename CLOSE_PAREN + | OPEN_PAREN typename COMMA NONE CLOSE_PAREN + ; + +any_operator + : (colid DOT)* all_op + ; + +operator_with_argtypes_list + : operator_with_argtypes (COMMA operator_with_argtypes)* + ; + +operator_with_argtypes + : any_operator oper_argtypes + ; + +dostmt + : DO dostmt_opt_list + ; + +dostmt_opt_list + : dostmt_opt_item+ + ; + +dostmt_opt_item + : sconst + | LANGUAGE nonreservedword_or_sconst + ; + +createcaststmt + : CREATE CAST OPEN_PAREN typename AS typename CLOSE_PAREN WITH FUNCTION function_with_argtypes cast_context + | CREATE CAST OPEN_PAREN typename AS typename CLOSE_PAREN WITHOUT FUNCTION cast_context + | CREATE CAST OPEN_PAREN typename AS typename CLOSE_PAREN WITH INOUT cast_context + ; + +cast_context + : AS IMPLICIT_P + | AS ASSIGNMENT + | + ; + +dropcaststmt + : DROP CAST opt_if_exists OPEN_PAREN typename AS typename CLOSE_PAREN opt_drop_behavior + ; + +opt_if_exists + : IF_P EXISTS + | + ; + +createtransformstmt + : CREATE opt_or_replace TRANSFORM FOR typename LANGUAGE name OPEN_PAREN transform_element_list CLOSE_PAREN + ; + +transform_element_list + : FROM SQL_P WITH FUNCTION function_with_argtypes COMMA TO SQL_P WITH FUNCTION function_with_argtypes + | TO SQL_P WITH FUNCTION function_with_argtypes COMMA FROM SQL_P WITH FUNCTION function_with_argtypes + | FROM SQL_P WITH FUNCTION function_with_argtypes + | TO SQL_P WITH FUNCTION function_with_argtypes + ; + +droptransformstmt + : DROP TRANSFORM opt_if_exists FOR typename LANGUAGE name opt_drop_behavior + ; + +reindexstmt + : REINDEX reindex_target_type opt_concurrently qualified_name + | REINDEX reindex_target_multitable opt_concurrently name + | REINDEX OPEN_PAREN reindex_option_list CLOSE_PAREN reindex_target_type opt_concurrently qualified_name + | REINDEX OPEN_PAREN reindex_option_list CLOSE_PAREN reindex_target_multitable opt_concurrently name + ; + +reindex_target_type + : INDEX + | TABLE + | SCHEMA + | DATABASE + | SYSTEM_P + ; + +reindex_target_multitable + : SCHEMA + | SYSTEM_P + | DATABASE + ; + +reindex_option_list + : reindex_option_elem (COMMA reindex_option_elem)* + ; + +reindex_option_elem + : VERBOSE + | TABLESPACE + | CONCURRENTLY + ; + +altertblspcstmt + : ALTER TABLESPACE name SET reloptions + | ALTER TABLESPACE name RESET reloptions + ; + +renamestmt + : ALTER AGGREGATE aggregate_with_argtypes RENAME TO name + | ALTER COLLATION any_name RENAME TO name + | ALTER CONVERSION_P any_name RENAME TO name + | ALTER DATABASE name RENAME TO name + | ALTER DOMAIN_P any_name RENAME TO name + | ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name + | ALTER FOREIGN DATA_P WRAPPER name RENAME TO name + | ALTER FUNCTION function_with_argtypes RENAME TO name + | ALTER GROUP_P roleid RENAME TO roleid + | ALTER opt_procedural LANGUAGE name RENAME TO name + | ALTER OPERATOR CLASS any_name USING name RENAME TO name + | ALTER OPERATOR FAMILY any_name USING name RENAME TO name + | ALTER POLICY name ON qualified_name RENAME TO name + | ALTER POLICY IF_P EXISTS name ON qualified_name RENAME TO name + | ALTER PROCEDURE function_with_argtypes RENAME TO name + | ALTER PUBLICATION name RENAME TO name + | ALTER ROUTINE function_with_argtypes RENAME TO name + | ALTER SCHEMA name RENAME TO name + | ALTER SERVER name RENAME TO name + | ALTER SUBSCRIPTION name RENAME TO name + | ALTER TABLE relation_expr RENAME TO name + | ALTER TABLE IF_P EXISTS relation_expr RENAME TO name + | ALTER SEQUENCE qualified_name RENAME TO name + | ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name + | ALTER VIEW qualified_name RENAME TO name + | ALTER VIEW IF_P EXISTS qualified_name RENAME TO name + | ALTER MATERIALIZED VIEW qualified_name RENAME TO name + | ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name + | ALTER INDEX qualified_name RENAME TO name + | ALTER INDEX IF_P EXISTS qualified_name RENAME TO name + | ALTER FOREIGN TABLE relation_expr RENAME TO name + | ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME TO name + | ALTER TABLE relation_expr RENAME opt_column name TO name + | ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name + | ALTER VIEW qualified_name RENAME opt_column name TO name + | ALTER VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name + | ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name + | ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name + | ALTER TABLE relation_expr RENAME CONSTRAINT name TO name + | ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name + | ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name + | ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name + | ALTER RULE name ON qualified_name RENAME TO name + | ALTER TRIGGER name ON qualified_name RENAME TO name + | ALTER EVENT TRIGGER name RENAME TO name + | ALTER ROLE roleid RENAME TO roleid + | ALTER USER roleid RENAME TO roleid + | ALTER TABLESPACE name RENAME TO name + | ALTER STATISTICS any_name RENAME TO name + | ALTER TEXT_P SEARCH PARSER any_name RENAME TO name + | ALTER TEXT_P SEARCH DICTIONARY any_name RENAME TO name + | ALTER TEXT_P SEARCH TEMPLATE any_name RENAME TO name + | ALTER TEXT_P SEARCH CONFIGURATION any_name RENAME TO name + | ALTER TYPE_P any_name RENAME TO name + | ALTER TYPE_P any_name RENAME ATTRIBUTE name TO name opt_drop_behavior + ; + +opt_column + : COLUMN + | + ; + +opt_set_data + : SET DATA_P + | + ; + +alterobjectdependsstmt + : ALTER FUNCTION function_with_argtypes opt_no DEPENDS ON EXTENSION name + | ALTER PROCEDURE function_with_argtypes opt_no DEPENDS ON EXTENSION name + | ALTER ROUTINE function_with_argtypes opt_no DEPENDS ON EXTENSION name + | ALTER TRIGGER name ON qualified_name opt_no DEPENDS ON EXTENSION name + | ALTER MATERIALIZED VIEW qualified_name opt_no DEPENDS ON EXTENSION name + | ALTER INDEX qualified_name opt_no DEPENDS ON EXTENSION name + ; + +opt_no + : NO + | + ; + +alterobjectschemastmt + : ALTER AGGREGATE aggregate_with_argtypes SET SCHEMA name + | ALTER COLLATION any_name SET SCHEMA name + | ALTER CONVERSION_P any_name SET SCHEMA name + | ALTER DOMAIN_P any_name SET SCHEMA name + | ALTER EXTENSION name SET SCHEMA name + | ALTER FUNCTION function_with_argtypes SET SCHEMA name + | ALTER OPERATOR operator_with_argtypes SET SCHEMA name + | ALTER OPERATOR CLASS any_name USING name SET SCHEMA name + | ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name + | ALTER PROCEDURE function_with_argtypes SET SCHEMA name + | ALTER ROUTINE function_with_argtypes SET SCHEMA name + | ALTER TABLE relation_expr SET SCHEMA name + | ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name + | ALTER STATISTICS any_name SET SCHEMA name + | ALTER TEXT_P SEARCH PARSER any_name SET SCHEMA name + | ALTER TEXT_P SEARCH DICTIONARY any_name SET SCHEMA name + | ALTER TEXT_P SEARCH TEMPLATE any_name SET SCHEMA name + | ALTER TEXT_P SEARCH CONFIGURATION any_name SET SCHEMA name + | ALTER SEQUENCE qualified_name SET SCHEMA name + | ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name + | ALTER VIEW qualified_name SET SCHEMA name + | ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name + | ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name + | ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name + | ALTER FOREIGN TABLE relation_expr SET SCHEMA name + | ALTER FOREIGN TABLE IF_P EXISTS relation_expr SET SCHEMA name + | ALTER TYPE_P any_name SET SCHEMA name + ; + +alteroperatorstmt + : ALTER OPERATOR operator_with_argtypes SET OPEN_PAREN operator_def_list CLOSE_PAREN + ; + +operator_def_list + : operator_def_elem (COMMA operator_def_elem)* + ; + +operator_def_elem + : collabel EQUAL NONE + | collabel EQUAL operator_def_arg + ; + +operator_def_arg + : func_type + | reserved_keyword + | qual_all_op + | numericonly + | sconst + ; + +altertypestmt + : ALTER TYPE_P any_name SET OPEN_PAREN operator_def_list CLOSE_PAREN + ; + +alterownerstmt + : ALTER AGGREGATE aggregate_with_argtypes OWNER TO rolespec + | ALTER COLLATION any_name OWNER TO rolespec + | ALTER CONVERSION_P any_name OWNER TO rolespec + | ALTER DATABASE name OWNER TO rolespec + | ALTER DOMAIN_P any_name OWNER TO rolespec + | ALTER FUNCTION function_with_argtypes OWNER TO rolespec + | ALTER opt_procedural LANGUAGE name OWNER TO rolespec + | ALTER LARGE_P OBJECT_P numericonly OWNER TO rolespec + | ALTER OPERATOR operator_with_argtypes OWNER TO rolespec + | ALTER OPERATOR CLASS any_name USING name OWNER TO rolespec + | ALTER OPERATOR FAMILY any_name USING name OWNER TO rolespec + | ALTER PROCEDURE function_with_argtypes OWNER TO rolespec + | ALTER ROUTINE function_with_argtypes OWNER TO rolespec + | ALTER SCHEMA name OWNER TO rolespec + | ALTER TYPE_P any_name OWNER TO rolespec + | ALTER TABLESPACE name OWNER TO rolespec + | ALTER STATISTICS any_name OWNER TO rolespec + | ALTER TEXT_P SEARCH DICTIONARY any_name OWNER TO rolespec + | ALTER TEXT_P SEARCH CONFIGURATION any_name OWNER TO rolespec + | ALTER FOREIGN DATA_P WRAPPER name OWNER TO rolespec + | ALTER SERVER name OWNER TO rolespec + | ALTER EVENT TRIGGER name OWNER TO rolespec + | ALTER PUBLICATION name OWNER TO rolespec + | ALTER SUBSCRIPTION name OWNER TO rolespec + ; + +createpublicationstmt + : CREATE PUBLICATION name opt_publication_for_tables opt_definition + ; + +opt_publication_for_tables + : publication_for_tables + | + ; + +publication_for_tables + : FOR TABLE relation_expr_list + | FOR ALL TABLES + ; + +alterpublicationstmt + : ALTER PUBLICATION name SET definition + | ALTER PUBLICATION name ADD_P TABLE relation_expr_list + | ALTER PUBLICATION name SET TABLE relation_expr_list + | ALTER PUBLICATION name DROP TABLE relation_expr_list + ; + +createsubscriptionstmt + : CREATE SUBSCRIPTION name CONNECTION sconst PUBLICATION publication_name_list opt_definition + ; + +publication_name_list + : publication_name_item (COMMA publication_name_item)* + ; + +publication_name_item + : collabel + ; + +altersubscriptionstmt + : ALTER SUBSCRIPTION name SET definition + | ALTER SUBSCRIPTION name CONNECTION sconst + | ALTER SUBSCRIPTION name REFRESH PUBLICATION opt_definition + | ALTER SUBSCRIPTION name SET PUBLICATION publication_name_list opt_definition + | ALTER SUBSCRIPTION name ENABLE_P + | ALTER SUBSCRIPTION name DISABLE_P + ; + +dropsubscriptionstmt + : DROP SUBSCRIPTION name opt_drop_behavior + | DROP SUBSCRIPTION IF_P EXISTS name opt_drop_behavior + ; + +rulestmt + : CREATE opt_or_replace RULE name AS ON event TO qualified_name where_clause DO opt_instead ruleactionlist + ; + +ruleactionlist + : NOTHING + | ruleactionstmt + | OPEN_PAREN ruleactionmulti CLOSE_PAREN + ; + +ruleactionmulti + : ruleactionstmtOrEmpty (SEMI ruleactionstmtOrEmpty)* + ; + +ruleactionstmt + : selectstmt + | insertstmt + | updatestmt + | deletestmt + | notifystmt + ; + +ruleactionstmtOrEmpty + : ruleactionstmt + | + ; + +event + : SELECT + | UPDATE + | DELETE_P + | INSERT + ; + +opt_instead + : INSTEAD + | ALSO + | + ; + +notifystmt + : NOTIFY colid notify_payload + ; + +notify_payload + : COMMA sconst + | + ; + +listenstmt + : LISTEN colid + ; + +unlistenstmt + : UNLISTEN colid + | UNLISTEN STAR + ; + +transactionstmt + : ABORT_P opt_transaction opt_transaction_chain + | BEGIN_P opt_transaction transaction_mode_list_or_empty + | START TRANSACTION transaction_mode_list_or_empty + | COMMIT opt_transaction opt_transaction_chain + | END_P opt_transaction opt_transaction_chain + | ROLLBACK opt_transaction opt_transaction_chain + | SAVEPOINT colid + | RELEASE SAVEPOINT colid + | RELEASE colid + | ROLLBACK opt_transaction TO SAVEPOINT colid + | ROLLBACK opt_transaction TO colid + | PREPARE TRANSACTION sconst + | COMMIT PREPARED sconst + | ROLLBACK PREPARED sconst + ; + +opt_transaction + : WORK + | TRANSACTION + | + ; + +transaction_mode_item + : ISOLATION LEVEL iso_level + | READ ONLY + | READ WRITE + | DEFERRABLE + | NOT DEFERRABLE + ; + +transaction_mode_list + : transaction_mode_item (COMMA? transaction_mode_item)* + ; + +transaction_mode_list_or_empty + : transaction_mode_list + | + ; + +opt_transaction_chain + : AND NO? CHAIN + | + ; + +viewstmt + : CREATE (OR REPLACE)? opttemp ( + VIEW qualified_name opt_column_list opt_reloptions + | RECURSIVE VIEW qualified_name OPEN_PAREN columnlist CLOSE_PAREN opt_reloptions + ) AS selectstmt opt_check_option + ; + +opt_check_option + : WITH (CASCADED | LOCAL)? CHECK OPTION + | + ; + +loadstmt + : LOAD file_name + ; + +createdbstmt + : CREATE DATABASE name opt_with createdb_opt_list + ; + +createdb_opt_list + : createdb_opt_items + | + ; + +createdb_opt_items + : createdb_opt_item+ + ; + +createdb_opt_item + : createdb_opt_name opt_equal (signediconst | opt_boolean_or_string | DEFAULT) + ; + +createdb_opt_name + : identifier + | CONNECTION LIMIT + | ENCODING + | LOCATION + | OWNER + | TABLESPACE + | TEMPLATE + ; + +opt_equal + : EQUAL + | + ; + +alterdatabasestmt + : ALTER DATABASE name (WITH createdb_opt_list | createdb_opt_list | SET TABLESPACE name) + ; + +alterdatabasesetstmt + : ALTER DATABASE name setresetclause + ; + +dropdbstmt + : DROP DATABASE (IF_P EXISTS)? name (opt_with OPEN_PAREN drop_option_list CLOSE_PAREN)? + ; + +drop_option_list + : drop_option (COMMA drop_option)* + ; + +drop_option + : FORCE + ; + +altercollationstmt + : ALTER COLLATION any_name REFRESH VERSION_P + ; + +altersystemstmt + : ALTER SYSTEM_P (SET | RESET) generic_set + ; + +createdomainstmt + : CREATE DOMAIN_P any_name opt_as typename colquallist + ; + +alterdomainstmt + : ALTER DOMAIN_P any_name ( + alter_column_default + | DROP NOT NULL_P + | SET NOT NULL_P + | ADD_P tableconstraint + | DROP CONSTRAINT (IF_P EXISTS)? name opt_drop_behavior + | VALIDATE CONSTRAINT name + ) + ; + +opt_as + : AS + | + ; + +altertsdictionarystmt + : ALTER TEXT_P SEARCH DICTIONARY any_name definition + ; + +altertsconfigurationstmt + : ALTER TEXT_P SEARCH CONFIGURATION any_name ADD_P MAPPING FOR name_list any_with any_name_list + | ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list any_with any_name_list + | ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name any_with any_name + | ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name any_with any_name + | ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list + | ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list + ; + +any_with + : WITH + //TODO + + // | WITH_LA + ; + +createconversionstmt + : CREATE opt_default CONVERSION_P any_name FOR sconst TO sconst FROM any_name + ; + +clusterstmt + : CLUSTER opt_verbose qualified_name cluster_index_specification + | CLUSTER opt_verbose + | CLUSTER opt_verbose name ON qualified_name + ; + +cluster_index_specification + : USING name + | + ; + +vacuumstmt + : VACUUM opt_full opt_freeze opt_verbose opt_analyze opt_vacuum_relation_list + | VACUUM OPEN_PAREN vac_analyze_option_list CLOSE_PAREN opt_vacuum_relation_list + ; + +analyzestmt + : analyze_keyword opt_verbose opt_vacuum_relation_list + | analyze_keyword OPEN_PAREN vac_analyze_option_list CLOSE_PAREN opt_vacuum_relation_list + ; + +vac_analyze_option_list + : vac_analyze_option_elem (COMMA vac_analyze_option_elem)* + ; + +analyze_keyword + : ANALYZE + | ANALYSE + ; + +vac_analyze_option_elem + : vac_analyze_option_name vac_analyze_option_arg + ; + +vac_analyze_option_name + : nonreservedword + | analyze_keyword + ; + +vac_analyze_option_arg + : opt_boolean_or_string + | numericonly + | + ; + +opt_analyze + : analyze_keyword + | + ; + +opt_verbose + : VERBOSE + | + ; + +opt_full + : FULL + | + ; + +opt_freeze + : FREEZE + | + ; + +opt_name_list + : OPEN_PAREN name_list CLOSE_PAREN + | + ; + +vacuum_relation + : qualified_name opt_name_list + ; + +vacuum_relation_list + : vacuum_relation (COMMA vacuum_relation)* + ; + +opt_vacuum_relation_list + : vacuum_relation_list + | + ; + +explainstmt + : EXPLAIN explainablestmt + | EXPLAIN analyze_keyword opt_verbose explainablestmt + | EXPLAIN VERBOSE explainablestmt + | EXPLAIN OPEN_PAREN explain_option_list CLOSE_PAREN explainablestmt + ; + +explainablestmt + : selectstmt + | insertstmt + | updatestmt + | deletestmt + | declarecursorstmt + | createasstmt + | creatematviewstmt + | refreshmatviewstmt + | executestmt + ; + +explain_option_list + : explain_option_elem (COMMA explain_option_elem)* + ; + +explain_option_elem + : explain_option_name explain_option_arg + ; + +explain_option_name + : nonreservedword + | analyze_keyword + ; + +explain_option_arg + : opt_boolean_or_string + | numericonly + | + ; + +preparestmt + : PREPARE name prep_type_clause AS preparablestmt + ; + +prep_type_clause + : OPEN_PAREN type_list CLOSE_PAREN + | + ; + +preparablestmt + : selectstmt + | insertstmt + | updatestmt + | deletestmt + ; + +executestmt + : EXECUTE name execute_param_clause + | CREATE opttemp TABLE create_as_target AS EXECUTE name execute_param_clause opt_with_data + | CREATE opttemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE name execute_param_clause opt_with_data + ; + +execute_param_clause + : OPEN_PAREN expr_list CLOSE_PAREN + | + ; + +deallocatestmt + : DEALLOCATE name + | DEALLOCATE PREPARE name + | DEALLOCATE ALL + | DEALLOCATE PREPARE ALL + ; + +insertstmt + : opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause + ; + +insert_target + : qualified_name (AS colid)? + ; + +insert_rest + : selectstmt + | OVERRIDING override_kind VALUE_P selectstmt + | OPEN_PAREN insert_column_list CLOSE_PAREN (OVERRIDING override_kind VALUE_P)? selectstmt + | DEFAULT VALUES + ; + +override_kind + : USER + | SYSTEM_P + ; + +insert_column_list + : insert_column_item (COMMA insert_column_item)* + ; + +insert_column_item + : colid opt_indirection + ; + +opt_on_conflict + : ON CONFLICT opt_conf_expr DO (UPDATE SET set_clause_list where_clause | NOTHING) + | + ; + +opt_conf_expr + : OPEN_PAREN index_params CLOSE_PAREN where_clause + | ON CONSTRAINT name + | + ; + +returning_clause + : RETURNING target_list + | + ; + +// https://www.postgresql.org/docs/current/sql-merge.html +mergestmt + : MERGE INTO? qualified_name alias_clause? USING (select_with_parens | qualified_name) alias_clause? ON a_expr ( + merge_insert_clause merge_update_clause? + | merge_update_clause merge_insert_clause? + ) merge_delete_clause? + ; + +merge_insert_clause + : WHEN NOT MATCHED (AND a_expr)? THEN? INSERT (OPEN_PAREN insert_column_list CLOSE_PAREN)? values_clause + ; + +merge_update_clause + : WHEN MATCHED (AND a_expr)? THEN? UPDATE SET set_clause_list + ; + +merge_delete_clause + : WHEN MATCHED THEN? DELETE_P + ; + +deletestmt + : opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause + ; + +using_clause + : USING from_list + | + ; + +lockstmt + : LOCK_P opt_table relation_expr_list opt_lock opt_nowait + ; + +opt_lock + : IN_P lock_type MODE + | + ; + +lock_type + : ACCESS (SHARE | EXCLUSIVE) + | ROW (SHARE | EXCLUSIVE) + | SHARE (UPDATE EXCLUSIVE | ROW EXCLUSIVE)? + | EXCLUSIVE + ; + +opt_nowait + : NOWAIT + | + ; + +opt_nowait_or_skip + : NOWAIT + | SKIP_P LOCKED + | + ; + +updatestmt + : opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause + ; + +set_clause_list + : set_clause (COMMA set_clause)* + ; + +set_clause + : set_target EQUAL a_expr + | OPEN_PAREN set_target_list CLOSE_PAREN EQUAL a_expr + ; + +set_target + : colid opt_indirection + ; + +set_target_list + : set_target (COMMA set_target)* + ; + +declarecursorstmt + : DECLARE cursor_name cursor_options CURSOR opt_hold FOR selectstmt + ; + +cursor_name + : name + ; + +cursor_options + : (NO SCROLL | SCROLL | BINARY | INSENSITIVE)* + ; + +opt_hold + : + | WITH HOLD + | WITHOUT HOLD + ; + +/* +TODO: why select_with_parens alternative is needed at all? +i guess it because original byson grammar can choose selectstmt(2)->select_with_parens on only OPEN_PARENT/SELECT kewords at the begining of statement; +(select * from tab); +parse can go through selectstmt( )->select_no_parens(1)->select_clause(2)->select_with_parens(1)->select_no_parens(1)->select_clause(1)->simple_select +instead of selectstmt(1)->select_no_parens(1)->select_clause(2)->select_with_parens(1)->select_no_parens(1)->select_clause(1)->simple_select +all standard tests passed on both variants +*/ + +selectstmt + : select_no_parens + | select_with_parens + ; + +select_with_parens + : OPEN_PAREN select_no_parens CLOSE_PAREN + | OPEN_PAREN select_with_parens CLOSE_PAREN + ; + +select_no_parens + : select_clause opt_sort_clause ( + for_locking_clause opt_select_limit + | select_limit opt_for_locking_clause + )? + | with_clause select_clause opt_sort_clause ( + for_locking_clause opt_select_limit + | select_limit opt_for_locking_clause + )? + ; + +select_clause + : simple_select_intersect ((UNION | EXCEPT) all_or_distinct simple_select_intersect)* + ; + +simple_select_intersect + : simple_select_pramary (INTERSECT all_or_distinct simple_select_pramary)* + ; + +simple_select_pramary + : ( + SELECT (opt_all_clause into_clause opt_target_list | distinct_clause target_list) into_clause from_clause where_clause group_clause + having_clause window_clause + ) + | values_clause + | TABLE relation_expr + | select_with_parens + ; + +with_clause + : WITH RECURSIVE? cte_list + ; + +cte_list + : common_table_expr (COMMA common_table_expr)* + ; + +common_table_expr + : name opt_name_list AS opt_materialized OPEN_PAREN preparablestmt CLOSE_PAREN + ; + +opt_materialized + : MATERIALIZED + | NOT MATERIALIZED + | + ; + +opt_with_clause + : with_clause + | + ; + +into_clause + : INTO (opt_strict opttempTableName | into_target) + | + ; + +opt_strict + : + | STRICT_P + ; + +opttempTableName + : (LOCAL | GLOBAL)? (TEMPORARY | TEMP) opt_table qualified_name + | UNLOGGED opt_table qualified_name + | TABLE qualified_name + | qualified_name + ; + +opt_table + : TABLE + | + ; + +all_or_distinct + : ALL + | DISTINCT + | + ; + +distinct_clause + : DISTINCT (ON OPEN_PAREN expr_list CLOSE_PAREN)? + ; + +opt_all_clause + : ALL + | + ; + +opt_sort_clause + : sort_clause + | + ; + +sort_clause + : ORDER BY sortby_list + ; + +sortby_list + : sortby (COMMA sortby)* + ; + +sortby + : a_expr (USING qual_all_op | opt_asc_desc) opt_nulls_order + ; + +select_limit + : limit_clause offset_clause? + | offset_clause limit_clause? + ; + +opt_select_limit + : select_limit + | + ; + +limit_clause + : LIMIT select_limit_value (COMMA select_offset_value)? + | FETCH first_or_next ( + select_fetch_first_value row_or_rows (ONLY | WITH TIES) + | row_or_rows (ONLY | WITH TIES) + ) + ; + +offset_clause + : OFFSET (select_offset_value | select_fetch_first_value row_or_rows) + ; + +select_limit_value + : a_expr + | ALL + ; + +select_offset_value + : a_expr + ; + +select_fetch_first_value + : c_expr + | PLUS i_or_f_const + | MINUS i_or_f_const + ; + +i_or_f_const + : iconst + | fconst + ; + +row_or_rows + : ROW + | ROWS + ; + +first_or_next + : FIRST_P + | NEXT + ; + +group_clause + : GROUP_P BY group_by_list + | + ; + +group_by_list + : group_by_item (COMMA group_by_item)* + ; + +group_by_item + : empty_grouping_set + | cube_clause + | rollup_clause + | grouping_sets_clause + | a_expr + ; + +empty_grouping_set + : OPEN_PAREN CLOSE_PAREN + ; + +rollup_clause + : ROLLUP OPEN_PAREN expr_list CLOSE_PAREN + ; + +cube_clause + : CUBE OPEN_PAREN expr_list CLOSE_PAREN + ; + +grouping_sets_clause + : GROUPING SETS OPEN_PAREN group_by_list CLOSE_PAREN + ; + +having_clause + : HAVING a_expr + | + ; + +for_locking_clause + : for_locking_items + | FOR READ ONLY + ; + +opt_for_locking_clause + : for_locking_clause + | + ; + +for_locking_items + : for_locking_item+ + ; + +for_locking_item + : for_locking_strength locked_rels_list opt_nowait_or_skip + ; + +for_locking_strength + : FOR ((NO KEY)? UPDATE | KEY? SHARE) + ; + +locked_rels_list + : OF qualified_name_list + | + ; + +values_clause + : VALUES OPEN_PAREN expr_list CLOSE_PAREN (COMMA OPEN_PAREN expr_list CLOSE_PAREN)* + ; + +from_clause + : FROM from_list + | + ; + +from_list + : non_ansi_join + | table_ref (COMMA table_ref)* + ; + +non_ansi_join + : table_ref (COMMA table_ref)+ + ; + +table_ref + : ( + relation_expr opt_alias_clause tablesample_clause? + | func_table func_alias_clause + | xmltable opt_alias_clause + | select_with_parens opt_alias_clause + | LATERAL_P ( + xmltable opt_alias_clause + | func_table func_alias_clause + | select_with_parens opt_alias_clause + ) + | OPEN_PAREN table_ref ( + CROSS JOIN table_ref + | NATURAL join_type? JOIN table_ref + | join_type? JOIN table_ref join_qual + )? CLOSE_PAREN opt_alias_clause + ) ( + CROSS JOIN table_ref + | NATURAL join_type? JOIN table_ref + | join_type? JOIN table_ref join_qual + )* + ; + +alias_clause + : AS? colid (OPEN_PAREN name_list CLOSE_PAREN)? + ; + +opt_alias_clause + : table_alias_clause + | + ; + +table_alias_clause + : AS? table_alias (OPEN_PAREN name_list CLOSE_PAREN)? + ; + +func_alias_clause + : alias_clause + | (AS colid? | colid) OPEN_PAREN tablefuncelementlist CLOSE_PAREN + | + ; + +join_type + : (FULL | LEFT | RIGHT | INNER_P) OUTER_P? + ; + +join_qual + : USING OPEN_PAREN name_list CLOSE_PAREN + | ON a_expr + ; + +relation_expr + : qualified_name STAR? + | ONLY (qualified_name | OPEN_PAREN qualified_name CLOSE_PAREN) + ; + +relation_expr_list + : relation_expr (COMMA relation_expr)* + ; + +relation_expr_opt_alias + : relation_expr (AS? colid)? + ; + +tablesample_clause + : TABLESAMPLE func_name OPEN_PAREN expr_list CLOSE_PAREN opt_repeatable_clause + ; + +opt_repeatable_clause + : REPEATABLE OPEN_PAREN a_expr CLOSE_PAREN + | + ; + +func_table + : func_expr_windowless opt_ordinality + | ROWS FROM OPEN_PAREN rowsfrom_list CLOSE_PAREN opt_ordinality + ; + +rowsfrom_item + : func_expr_windowless opt_col_def_list + ; + +rowsfrom_list + : rowsfrom_item (COMMA rowsfrom_item)* + ; + +opt_col_def_list + : AS OPEN_PAREN tablefuncelementlist CLOSE_PAREN + | + ; + +//TODO WITH_LA was used + +opt_ordinality + : WITH ORDINALITY + | + ; + +where_clause + : WHERE a_expr + | + ; + +where_or_current_clause + : WHERE (CURRENT_P OF cursor_name | a_expr) + | + ; + +opttablefuncelementlist + : tablefuncelementlist + | + ; + +tablefuncelementlist + : tablefuncelement (COMMA tablefuncelement)* + ; + +tablefuncelement + : colid typename opt_collate_clause + ; + +xmltable + : XMLTABLE OPEN_PAREN ( + c_expr xmlexists_argument COLUMNS xmltable_column_list + | XMLNAMESPACES OPEN_PAREN xml_namespace_list CLOSE_PAREN COMMA c_expr xmlexists_argument COLUMNS xmltable_column_list + ) CLOSE_PAREN + ; + +xmltable_column_list + : xmltable_column_el (COMMA xmltable_column_el)* + ; + +xmltable_column_el + : colid (typename xmltable_column_option_list? | FOR ORDINALITY) + ; + +xmltable_column_option_list + : xmltable_column_option_el+ + ; + +xmltable_column_option_el + : DEFAULT a_expr + | identifier a_expr + | NOT NULL_P + | NULL_P + ; + +xml_namespace_list + : xml_namespace_el (COMMA xml_namespace_el)* + ; + +xml_namespace_el + : b_expr AS collabel + | DEFAULT b_expr + ; + +typename + : SETOF? simpletypename (opt_array_bounds | ARRAY (OPEN_BRACKET iconst CLOSE_BRACKET)?) + | qualified_name PERCENT (ROWTYPE | TYPE_P) + ; + +opt_array_bounds + : (OPEN_BRACKET iconst? CLOSE_BRACKET)* + ; + +simpletypename + : generictype + | numeric + | bit + | character + | constdatetime + | constinterval (opt_interval | OPEN_PAREN iconst CLOSE_PAREN) + ; + +consttypename + : numeric + | constbit + | constcharacter + | constdatetime + ; + +generictype + : (builtin_function_name | type_function_name | LEFT | RIGHT) attrs? opt_type_modifiers opt_type_parameters + ; + +opt_type_modifiers + : OPEN_PAREN expr_list CLOSE_PAREN + | + ; + +numeric + : INT_P + | INTEGER + | SMALLINT + | BIGINT + | REAL + | FLOAT_P opt_float + | DOUBLE_P PRECISION + | DECIMAL_P opt_type_modifiers + | DEC opt_type_modifiers + | NUMERIC opt_type_modifiers + | BOOLEAN_P + ; + +opt_float + : OPEN_PAREN iconst CLOSE_PAREN + | + ; + +//todo: merge alts + +bit + : bitwithlength + | bitwithoutlength + ; + +constbit + : bitwithlength + | bitwithoutlength + ; + +bitwithlength + : BIT opt_varying OPEN_PAREN expr_list CLOSE_PAREN + ; + +bitwithoutlength + : BIT opt_varying + ; + +character + : character_c (OPEN_PAREN iconst CLOSE_PAREN)? + ; + +constcharacter + : character_c (OPEN_PAREN iconst CLOSE_PAREN)? + ; + +character_c + : (CHARACTER | CHAR_P | NCHAR) opt_varying + | VARCHAR + | NATIONAL (CHARACTER | CHAR_P) opt_varying + ; + +opt_varying + : VARYING + | + ; + +constdatetime + : (TIMESTAMP | TIME) (OPEN_PAREN iconst CLOSE_PAREN)? opt_timezone + ; + +constinterval + : INTERVAL + ; + +//TODO with_la was used + +opt_timezone + : WITH TIME ZONE + | WITHOUT TIME ZONE + | + ; + +opt_interval + : YEAR_P + | MONTH_P + | DAY_P + | HOUR_P + | MINUTE_P + | interval_second + | YEAR_P TO MONTH_P + | DAY_P TO (HOUR_P | MINUTE_P | interval_second) + | HOUR_P TO (MINUTE_P | interval_second) + | MINUTE_P TO interval_second + | + ; + +interval_second + : SECOND_P (OPEN_PAREN iconst CLOSE_PAREN)? + ; + +opt_escape + : ESCAPE a_expr + | + ; + +//precendence accroding to Table 4.2. Operator Precedence (highest to lowest) + +//https://www.postgresql.org/docs/12/sql-syntax-lexical.html#SQL-PRECEDENCE + +/* +original version of a_expr, for info + a_expr: c_expr + //:: left PostgreSQL-style typecast + | a_expr TYPECAST typename -- 1 + | a_expr COLLATE any_name -- 2 + | a_expr AT TIME ZONE a_expr-- 3 + //right unary plus, unary minus + | (PLUS| MINUS) a_expr -- 4 + //left exponentiation + | a_expr CARET a_expr -- 5 + //left multiplication, division, modulo + | a_expr (STAR | SLASH | PERCENT) a_expr -- 6 + //left addition, subtraction + | a_expr (PLUS | MINUS) a_expr -- 7 + //left all other native and user-defined operators + | a_expr qual_op a_expr -- 8 + | qual_op a_expr -- 9 + //range containment, set membership, string matching BETWEEN IN LIKE ILIKE SIMILAR + | a_expr NOT? (LIKE|ILIKE|SIMILAR TO|(BETWEEN SYMMETRIC?)) a_expr opt_escape -- 10 + //< > = <= >= <> comparison operators + | a_expr (LT | GT | EQUAL | LESS_EQUALS | GREATER_EQUALS | NOT_EQUALS) a_expr -- 11 + //IS ISNULL NOTNULL IS TRUE, IS FALSE, IS NULL, IS DISTINCT FROM, etc + | a_expr IS NOT? + ( + NULL_P + |TRUE_P + |FALSE_P + |UNKNOWN + |DISTINCT FROM a_expr + |OF OPEN_PAREN type_list CLOSE_PAREN + |DOCUMENT_P + |unicode_normal_form? NORMALIZED + ) -- 12 + | a_expr (ISNULL|NOTNULL) -- 13 + | row OVERLAPS row -- 14 + //NOT right logical negation + | NOT a_expr -- 15 + //AND left logical conjunction + | a_expr AND a_expr -- 16 + //OR left logical disjunction + | a_expr OR a_expr -- 17 + | a_expr (LESS_LESS|GREATER_GREATER) a_expr -- 18 + | a_expr qual_op -- 19 + | a_expr NOT? IN_P in_expr -- 20 + | a_expr subquery_Op sub_type (select_with_parens|OPEN_PAREN a_expr CLOSE_PAREN) -- 21 + | UNIQUE select_with_parens -- 22 + | DEFAULT -- 23 +; +*/ + +a_expr + : a_expr_qual + ; + +/*23*/ + +/*moved to c_expr*/ + +/*22*/ + +/*moved to c_expr*/ + +/*19*/ + +a_expr_qual + : a_expr_lessless qual_op? + ; + +/*18*/ + +a_expr_lessless + : a_expr_or ((LESS_LESS | GREATER_GREATER) a_expr_or)* + ; + +/*17*/ + +a_expr_or + : a_expr_and (OR a_expr_and)* + ; + +/*16*/ + +a_expr_and + : a_expr_between (AND a_expr_between)* + ; + +/*21*/ + +a_expr_between + : a_expr_in (NOT? BETWEEN SYMMETRIC? a_expr_in AND a_expr_in)? + ; + +/*20*/ + +a_expr_in + : a_expr_unary_not (NOT? IN_P in_expr)? + ; + +/*15*/ + +a_expr_unary_not + : NOT? a_expr_isnull + ; + +/*14*/ + +/*moved to c_expr*/ + +/*13*/ + +a_expr_isnull + : a_expr_is_not (ISNULL | NOTNULL)? + ; + +/*12*/ + +a_expr_is_not + : a_expr_compare ( + IS NOT? ( + NULL_P + | TRUE_P + | FALSE_P + | UNKNOWN + | DISTINCT FROM a_expr + | OF OPEN_PAREN type_list CLOSE_PAREN + | DOCUMENT_P + | unicode_normal_form? NORMALIZED + ) + )? + ; + +/*11*/ + +a_expr_compare + : a_expr_like ( + (LT | GT | EQUAL | LESS_EQUALS | GREATER_EQUALS | NOT_EQUALS) a_expr_like + | subquery_Op sub_type (select_with_parens | OPEN_PAREN a_expr CLOSE_PAREN) /*21*/ + )? + ; + +/*10*/ + +a_expr_like + : a_expr_qual_op (NOT? (LIKE | ILIKE | SIMILAR TO) a_expr_qual_op opt_escape)? + ; + +/* 8*/ + +a_expr_qual_op + : a_expr_unary_qualop (qual_op a_expr_unary_qualop)* + ; + +/* 9*/ + +a_expr_unary_qualop + : qual_op? a_expr_add + ; + +/* 7*/ + +a_expr_add + : a_expr_mul ((MINUS | PLUS) a_expr_mul)* + ; + +/* 6*/ + +a_expr_mul + : a_expr_caret ((STAR | SLASH | PERCENT) a_expr_caret)* + ; + +/* 5*/ + +a_expr_caret + : a_expr_unary_sign (CARET a_expr)? + ; + +/* 4*/ + +a_expr_unary_sign + : (MINUS | PLUS)? a_expr_at_time_zone /* */ + ; + +/* 3*/ + +a_expr_at_time_zone + : a_expr_collate (AT TIME ZONE a_expr)? + ; + +/* 2*/ + +a_expr_collate + : a_expr_typecast (COLLATE any_name)? + ; + +/* 1*/ + +a_expr_typecast + : c_expr (TYPECAST typename)* + ; + +b_expr + : c_expr + | b_expr TYPECAST typename + //right unary plus, unary minus + | (PLUS | MINUS) b_expr + //^ left exponentiation + | b_expr CARET b_expr + //* / % left multiplication, division, modulo + | b_expr (STAR | SLASH | PERCENT) b_expr + //+ - left addition, subtraction + | b_expr (PLUS | MINUS) b_expr + //(any other operator) left all other native and user-defined operators + | b_expr qual_op b_expr + //< > = <= >= <> comparison operators + | b_expr (LT | GT | EQUAL | LESS_EQUALS | GREATER_EQUALS | NOT_EQUALS) b_expr + | qual_op b_expr + | b_expr qual_op + //S ISNULL NOTNULL IS TRUE, IS FALSE, IS NULL, IS DISTINCT FROM, etc + | b_expr IS NOT? (DISTINCT FROM b_expr | OF OPEN_PAREN type_list CLOSE_PAREN | DOCUMENT_P) + ; + +c_expr + : EXISTS select_with_parens # c_expr_exists + | ARRAY (select_with_parens | array_expr) # c_expr_expr + | PARAM opt_indirection # c_expr_expr + | GROUPING OPEN_PAREN expr_list CLOSE_PAREN # c_expr_expr + | /*22*/ UNIQUE select_with_parens # c_expr_expr + | columnref # c_expr_expr + | aexprconst # c_expr_expr + | plsqlvariablename # c_expr_expr + | OPEN_PAREN a_expr_in_parens = a_expr CLOSE_PAREN opt_indirection # c_expr_expr + | case_expr # c_expr_case + | func_expr # c_expr_expr + | select_with_parens indirection? # c_expr_expr + | explicit_row # c_expr_expr + | implicit_row # c_expr_expr + | row OVERLAPS row /* 14*/ # c_expr_expr + ; + +plsqlvariablename + : PLSQLVARIABLENAME + ; + +func_application + : func_name OPEN_PAREN ( + func_arg_list (COMMA VARIADIC func_arg_expr)? opt_sort_clause + | VARIADIC func_arg_expr opt_sort_clause + | (ALL | DISTINCT) func_arg_list opt_sort_clause + | STAR + | + ) CLOSE_PAREN + ; + +func_expr + : func_application within_group_clause filter_clause over_clause + | func_expr_common_subexpr + ; + +func_expr_windowless + : func_application + | func_expr_common_subexpr + ; + +func_expr_common_subexpr + : COLLATION FOR OPEN_PAREN a_expr CLOSE_PAREN + | CURRENT_DATE + | CURRENT_TIME (OPEN_PAREN iconst CLOSE_PAREN)? + | CURRENT_TIMESTAMP (OPEN_PAREN iconst CLOSE_PAREN)? + | LOCALTIME (OPEN_PAREN iconst CLOSE_PAREN)? + | LOCALTIMESTAMP (OPEN_PAREN iconst CLOSE_PAREN)? + | CURRENT_ROLE + | CURRENT_USER + | SESSION_USER + | USER + | CURRENT_CATALOG + | CURRENT_SCHEMA + | CAST OPEN_PAREN a_expr AS typename CLOSE_PAREN + | EXTRACT OPEN_PAREN extract_list CLOSE_PAREN + | NORMALIZE OPEN_PAREN a_expr (COMMA unicode_normal_form)? CLOSE_PAREN + | OVERLAY OPEN_PAREN overlay_list CLOSE_PAREN + | POSITION OPEN_PAREN position_list CLOSE_PAREN + | SUBSTRING OPEN_PAREN substr_list CLOSE_PAREN + | TREAT OPEN_PAREN a_expr AS typename CLOSE_PAREN + | TRIM OPEN_PAREN (BOTH | LEADING | TRAILING)? trim_list CLOSE_PAREN + | NULLIF OPEN_PAREN a_expr COMMA a_expr CLOSE_PAREN + | COALESCE OPEN_PAREN expr_list CLOSE_PAREN + | GREATEST OPEN_PAREN expr_list CLOSE_PAREN + | LEAST OPEN_PAREN expr_list CLOSE_PAREN + | XMLCONCAT OPEN_PAREN expr_list CLOSE_PAREN + | XMLELEMENT OPEN_PAREN NAME_P collabel (COMMA (xml_attributes | expr_list))? CLOSE_PAREN + | XMLEXISTS OPEN_PAREN c_expr xmlexists_argument CLOSE_PAREN + | XMLFOREST OPEN_PAREN xml_attribute_list CLOSE_PAREN + | XMLPARSE OPEN_PAREN document_or_content a_expr xml_whitespace_option CLOSE_PAREN + | XMLPI OPEN_PAREN NAME_P collabel (COMMA a_expr)? CLOSE_PAREN + | XMLROOT OPEN_PAREN XML_P a_expr COMMA xml_root_version opt_xml_root_standalone CLOSE_PAREN + | XMLSERIALIZE OPEN_PAREN document_or_content a_expr AS simpletypename CLOSE_PAREN + ; + +xml_root_version + : VERSION_P a_expr + | VERSION_P NO VALUE_P + ; + +opt_xml_root_standalone + : COMMA STANDALONE_P YES_P + | COMMA STANDALONE_P NO + | COMMA STANDALONE_P NO VALUE_P + | + ; + +xml_attributes + : XMLATTRIBUTES OPEN_PAREN xml_attribute_list CLOSE_PAREN + ; + +xml_attribute_list + : xml_attribute_el (COMMA xml_attribute_el)* + ; + +xml_attribute_el + : a_expr (AS collabel)? + ; + +document_or_content + : DOCUMENT_P + | CONTENT_P + ; + +xml_whitespace_option + : PRESERVE WHITESPACE_P + | STRIP_P WHITESPACE_P + | + ; + +xmlexists_argument + : PASSING c_expr + | PASSING c_expr xml_passing_mech + | PASSING xml_passing_mech c_expr + | PASSING xml_passing_mech c_expr xml_passing_mech + ; + +xml_passing_mech + : BY (REF | VALUE_P) + ; + +within_group_clause + : WITHIN GROUP_P OPEN_PAREN sort_clause CLOSE_PAREN + | + ; + +filter_clause + : FILTER OPEN_PAREN WHERE a_expr CLOSE_PAREN + | + ; + +window_clause + : WINDOW window_definition_list + | + ; + +window_definition_list + : window_definition (COMMA window_definition)* + ; + +window_definition + : colid AS window_specification + ; + +over_clause + : OVER (window_specification | colid) + | + ; + +window_specification + : OPEN_PAREN opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause CLOSE_PAREN + ; + +opt_existing_window_name + : colid + | + ; + +opt_partition_clause + : PARTITION BY expr_list + | + ; + +opt_frame_clause + : RANGE frame_extent opt_window_exclusion_clause + | ROWS frame_extent opt_window_exclusion_clause + | GROUPS frame_extent opt_window_exclusion_clause + | + ; + +frame_extent + : frame_bound + | BETWEEN frame_bound AND frame_bound + ; + +frame_bound + : UNBOUNDED (PRECEDING | FOLLOWING) + | CURRENT_P ROW + | a_expr (PRECEDING | FOLLOWING) + ; + +opt_window_exclusion_clause + : EXCLUDE (CURRENT_P ROW | GROUP_P | TIES | NO OTHERS) + | + ; + +row + : ROW OPEN_PAREN expr_list? CLOSE_PAREN + | OPEN_PAREN expr_list COMMA a_expr CLOSE_PAREN + ; + +explicit_row + : ROW OPEN_PAREN expr_list? CLOSE_PAREN + ; + +/* +TODO: +for some reason v1 +implicit_row: OPEN_PAREN expr_list COMMA a_expr CLOSE_PAREN; +works better than v2 +implicit_row: OPEN_PAREN expr_list CLOSE_PAREN; +while looks like they are almost the same, except v2 requieres at least 2 items in list +while v1 allows single item in list +*/ + +implicit_row + : OPEN_PAREN expr_list COMMA a_expr CLOSE_PAREN + ; + +sub_type + : ANY + | SOME + | ALL + ; + +all_op + : Operator + | mathop + ; + +mathop + : PLUS + | MINUS + | STAR + | SLASH + | PERCENT + | CARET + | LT + | GT + | EQUAL + | LESS_EQUALS + | GREATER_EQUALS + | NOT_EQUALS + ; + +qual_op + : Operator + | OPERATOR OPEN_PAREN any_operator CLOSE_PAREN + ; + +qual_all_op + : all_op + | OPERATOR OPEN_PAREN any_operator CLOSE_PAREN + ; + +subquery_Op + : all_op + | OPERATOR OPEN_PAREN any_operator CLOSE_PAREN + | LIKE + | NOT LIKE + | ILIKE + | NOT ILIKE + ; + +expr_list + : a_expr (COMMA a_expr)* + ; + +func_arg_list + : func_arg_expr (COMMA func_arg_expr)* + ; + +func_arg_expr + : a_expr + | param_name (COLON_EQUALS | EQUALS_GREATER) a_expr + ; + +type_list + : typename (COMMA typename)* + ; + +array_expr + : OPEN_BRACKET (expr_list | array_expr_list)? CLOSE_BRACKET + ; + +array_expr_list + : array_expr (COMMA array_expr)* + ; + +extract_list + : extract_arg FROM a_expr + | + ; + +extract_arg + : identifier + | YEAR_P + | MONTH_P + | DAY_P + | HOUR_P + | MINUTE_P + | SECOND_P + | sconst + ; + +unicode_normal_form + : NFC + | NFD + | NFKC + | NFKD + ; + +overlay_list + : a_expr PLACING a_expr FROM a_expr (FOR a_expr)? + ; + +position_list + : b_expr IN_P b_expr + | + ; + +substr_list + : a_expr FROM a_expr FOR a_expr + | a_expr FOR a_expr FROM a_expr + | a_expr FROM a_expr + | a_expr FOR a_expr + | a_expr SIMILAR a_expr ESCAPE a_expr + | expr_list + ; + +trim_list + : a_expr FROM expr_list + | FROM expr_list + | expr_list + ; + +in_expr + : select_with_parens # in_expr_select + | OPEN_PAREN expr_list CLOSE_PAREN # in_expr_list + ; + +case_expr + : CASE case_arg when_clause_list case_default END_P + ; + +when_clause_list + : when_clause+ + ; + +when_clause + : WHEN a_expr THEN a_expr + ; + +case_default + : ELSE a_expr + | + ; + +case_arg + : a_expr + | + ; + +columnref + : colid indirection? + ; + +indirection_el + : DOT (attr_name | STAR) + | OPEN_BRACKET (a_expr | opt_slice_bound COLON opt_slice_bound) CLOSE_BRACKET + ; + +opt_slice_bound + : a_expr + | + ; + +indirection + : indirection_el+ + ; + +opt_indirection + : indirection_el* + ; + +opt_target_list + : target_list + | + ; + +target_list + : target_el (COMMA target_el)* + ; + +target_el + : a_expr (AS collabel | identifier |) # target_label + | STAR # target_star + ; + +qualified_name_list + : qualified_name (COMMA qualified_name)* + ; + +qualified_name + : colid indirection? + ; + +name_list + : name (COMMA name)* + ; + +name + : colid + ; + +attr_name + : collabel + ; + +file_name + : sconst + ; + +func_name + : builtin_function_name + | type_function_name + | colid indirection + | LEFT + | RIGHT + ; + +aexprconst + : iconst + | fconst + | sconst + | bconst + | xconst + | func_name (sconst | OPEN_PAREN func_arg_list opt_sort_clause CLOSE_PAREN sconst) + | consttypename sconst + | constinterval (sconst opt_interval | OPEN_PAREN iconst CLOSE_PAREN sconst) + | TRUE_P + | FALSE_P + | NULL_P + ; + +xconst + : HexadecimalStringConstant + ; + +bconst + : BinaryStringConstant + ; + +fconst + : Numeric + ; + +iconst + : Integral + ; + +sconst + : anysconst opt_uescape + ; + +anysconst + : StringConstant + | UnicodeEscapeStringConstant + | BeginDollarStringConstant DollarText* EndDollarStringConstant + | EscapeStringConstant + ; + +opt_uescape + : UESCAPE anysconst + | + ; + +signediconst + : iconst + | PLUS iconst + | MINUS iconst + ; + +roleid + : rolespec + ; + +rolespec + : nonreservedword + | CURRENT_USER + | SESSION_USER + ; + +role_list + : rolespec (COMMA rolespec)* + ; + +colid + : identifier + | unreserved_keyword + | col_name_keyword + | plsql_unreserved_keyword + | LEFT + | RIGHT + ; + +table_alias + : identifier + | unreserved_keyword + | col_name_keyword + | plsql_unreserved_keyword + ; + +type_function_name + : identifier + | unreserved_keyword + | plsql_unreserved_keyword + | type_func_name_keyword + ; + +nonreservedword + : identifier + | unreserved_keyword + | col_name_keyword + | type_func_name_keyword + ; + +collabel + : identifier + | plsql_unreserved_keyword + | unreserved_keyword + | col_name_keyword + | type_func_name_keyword + | reserved_keyword + ; + +identifier + : Identifier opt_uescape + | QuotedIdentifier + | UnicodeQuotedIdentifier + | plsqlvariablename + | plsqlidentifier + | plsql_unreserved_keyword + ; + +plsqlidentifier + : PLSQLIDENTIFIER + ; + +unreserved_keyword + : ABORT_P + | ABSOLUTE_P + | ACCESS + | ACTION + | ADD_P + | ADMIN + | AFTER + | AGGREGATE + | ALSO + | ALTER + | ALWAYS + | ASSERTION + | ASSIGNMENT + | AT + | ATTACH + | ATTRIBUTE + | BACKWARD + | BEFORE + | BEGIN_P + | BY + | CACHE + | CALL + | CALLED + | CASCADE + | CASCADED + | CATALOG + | CHAIN + | CHARACTERISTICS + | CHECKPOINT + | CLASS + | CLOSE + | CLUSTER + | COLUMNS + | COMMENT + | COMMENTS + | COMMIT + | COMMITTED + | CONFIGURATION + | CONFLICT + | CONNECTION + | CONSTRAINTS + | CONTENT_P + | CONTINUE_P + | CONVERSION_P + | COPY + | COST + | CSV + | CUBE + | CURRENT_P + | CURSOR + | CYCLE + | DATA_P + | DATABASE + | DAY_P + | DEALLOCATE + | DECLARE + | DEFAULTS + | DEFERRED + | DEFINER + | DELETE_P + | DELIMITER + | DELIMITERS + | DEPENDS + | DETACH + | DICTIONARY + | DISABLE_P + | DISCARD + | DOCUMENT_P + | DOMAIN_P + | DOUBLE_P + | DROP + | EACH + | ENABLE_P + | ENCODING + | ENCRYPTED + | ENUM_P + | ESCAPE + | EVENT + | EXCLUDE + | EXCLUDING + | EXCLUSIVE + | EXECUTE + | EXPLAIN + | EXPRESSION + | EXTENSION + | EXTERNAL + | FAMILY + | FILTER + | FIRST_P + | FOLLOWING + | FORCE + | FORWARD + | FUNCTION + | FUNCTIONS + | GENERATED + | GLOBAL + | GRANTED + | GROUPS + | HANDLER + | HEADER_P + | HOLD + | HOUR_P + | IDENTITY_P + | IF_P + | IMMEDIATE + | IMMUTABLE + | IMPLICIT_P + | IMPORT_P + | INCLUDE + | INCLUDING + | INCREMENT + | INDEX + | INDEXES + | INHERIT + | INHERITS + | INLINE_P + | INPUT_P + | INSENSITIVE + | INSERT + | INSTEAD + | INVOKER + | ISOLATION + | KEY + | LABEL + | LANGUAGE + | LARGE_P + | LAST_P + | LEAKPROOF + | LEVEL + | LISTEN + | LOAD + | LOCAL + | LOCATION + | LOCK_P + | LOCKED + | LOGGED + | MAPPING + | MATCH + | MATERIALIZED + | MAXVALUE + | METHOD + | MINUTE_P + | MINVALUE + | MODE + | MONTH_P + | MOVE + | NAME_P + | NAMES + | NEW + | NEXT + | NFC + | NFD + | NFKC + | NFKD + | NO + | NORMALIZED + | NOTHING + | NOTIFY + | NOWAIT + | NULLS_P + | OBJECT_P + | OF + | OFF + | OIDS + | OLD + | OPERATOR + | OPTION + | OPTIONS + | ORDINALITY + | OTHERS + | OVER + | OVERRIDING + | OWNED + | OWNER + | PARALLEL + | PARSER + | PARTIAL + | PARTITION + | PASSING + | PASSWORD + | PLANS + | POLICY + | PRECEDING + | PREPARE + | PREPARED + | PRESERVE + | PRIOR + | PRIVILEGES + | PROCEDURAL + | PROCEDURE + | PROCEDURES + | PROGRAM + | PUBLICATION + | QUOTE + | RANGE + | READ + | REASSIGN + | RECHECK + | RECURSIVE + | REF + | REFERENCING + | REFRESH + | REINDEX + | RELATIVE_P + | RELEASE + | RENAME + | REPEATABLE + | REPLICA + | RESET + | RESTART + | RESTRICT + | RETURNS + | REVOKE + | ROLE + | ROLLBACK + | ROLLUP + | ROUTINE + | ROUTINES + | ROWS + | RULE + | SAVEPOINT + | SCHEMA + | SCHEMAS + | SCROLL + | SEARCH + | SECOND_P + | SECURITY + | SEQUENCE + | SEQUENCES + | SERIALIZABLE + | SERVER + | SESSION + | SET + | SETS + | SHARE + | SHOW + | SIMPLE + | SKIP_P + | SNAPSHOT + | SQL_P + | STABLE + | STANDALONE_P + | START + | STATEMENT + | STATISTICS + | STDIN + | STDOUT + | STORAGE + | STORED + | STRICT_P + | STRIP_P + | SUBSCRIPTION + | SUPPORT + | SYSID + | SYSTEM_P + | TABLES + | TABLESPACE + | TEMP + | TEMPLATE + | TEMPORARY + | TEXT_P + | TIES + | TRANSACTION + | TRANSFORM + | TRIGGER + | TRUNCATE + | TRUSTED + | TYPE_P + | TYPES_P + | UESCAPE + | UNBOUNDED + | UNCOMMITTED + | UNENCRYPTED + | UNKNOWN + | UNLISTEN + | UNLOGGED + | UNTIL + | UPDATE + | VACUUM + | VALID + | VALIDATE + | VALIDATOR + | VALUE_P + | VARYING + | VERSION_P + | VIEW + | VIEWS + | VOLATILE + | WHITESPACE_P + | WITHIN + | WITHOUT + | WORK + | WRAPPER + | WRITE + | XML_P + | YEAR_P + | YES_P + | ZONE + ; + +col_name_keyword + : BETWEEN + | BIGINT + | bit + | BOOLEAN_P + | CHAR_P + | character + | COALESCE + | DEC + | DECIMAL_P + | EXISTS + | EXTRACT + | FLOAT_P + | GREATEST + | GROUPING + | INOUT + | INT_P + | INTEGER + | INTERVAL + | LEAST + | NATIONAL + | NCHAR + | NONE + | NORMALIZE + | NULLIF + | numeric + | OUT_P + | OVERLAY + | POSITION + | PRECISION + | REAL + | ROW + | SETOF + | SMALLINT + | SUBSTRING + | TIME + | TIMESTAMP + | TREAT + | TRIM + | VALUES + | VARCHAR + | XMLATTRIBUTES + | XMLCONCAT + | XMLELEMENT + | XMLEXISTS + | XMLFOREST + | XMLNAMESPACES + | XMLPARSE + | XMLPI + | XMLROOT + | XMLSERIALIZE + | XMLTABLE + | builtin_function_name + ; + +type_func_name_keyword + : AUTHORIZATION + | BINARY + | COLLATION + | CONCURRENTLY + | CROSS + | CURRENT_SCHEMA + | FREEZE + | FULL + | ILIKE + | INNER_P + | IS + | ISNULL + | JOIN + | LIKE + | NATURAL + | NOTNULL + | OUTER_P + | OVERLAPS + | SIMILAR + | TABLESAMPLE + | VERBOSE + ; + +reserved_keyword + : ALL + | ANALYSE + | ANALYZE + | AND + | ANY + | ARRAY + | AS + | ASC + | ASYMMETRIC + | BOTH + | CASE + | CAST + | CHECK + | COLLATE + | COLUMN + | CONSTRAINT + | CREATE + | CURRENT_CATALOG + | CURRENT_DATE + | CURRENT_ROLE + | CURRENT_TIME + | CURRENT_TIMESTAMP + | CURRENT_USER + // | DEFAULT + | DEFERRABLE + | DESC + | DISTINCT + | DO + | ELSE + | END_P + | EXCEPT + | FALSE_P + | FETCH + | FOR + | FOREIGN + | FROM + | GRANT + | GROUP_P + | HAVING + | IN_P + | INITIALLY + | INTERSECT + /* +from pl_gram.y, line ~2982 + * Fortunately, INTO is a fully reserved word in the main grammar, so + * at least we need not worry about it appearing as an identifier. +*/ + + // | INTO + | LATERAL_P + | LEADING + | LIMIT + | LOCALTIME + | LOCALTIMESTAMP + | NOT + | NULL_P + | OFFSET + | ON + | ONLY + | OR + | ORDER + | PLACING + | PRIMARY + | REFERENCES + | RETURNING + | SELECT + | SESSION_USER + | SOME + | SYMMETRIC + | TABLE + | THEN + | TO + | TRAILING + | TRUE_P + | UNION + | UNIQUE + | USER + | USING + | VARIADIC + | WHEN + | WHERE + | WINDOW + | WITH + ; + +builtin_function_name + : XMLCOMMENT + | XML_IS_WELL_FORMED + | XML_IS_WELL_FORMED_DOCUMENT + | XML_IS_WELL_FORMED_CONTENT + | XMLAGG + | XPATH + | XPATH_EXISTS + | ABS + | CBRT + | CEIL + | CEILING + | DEGREES + | DIV + | EXP + | FACTORIAL + | FLOOR + | GCD + | LCM + | LN + | LOG + | LOG10 + | MIN_SCALE + | MOD + | PI + | POWER + | RADIANS + | ROUND + | SCALE + | SIGN + | SQRT + | TRIM_SCALE + | TRUNC + | WIDTH_BUCKET + | RANDOM + | SETSEED + | ACOS + | ACOSD + | ACOSH + | ASIN + | ASIND + | ASINH + | ATAN + | ATAND + | ATANH + | ATAN2 + | ATAN2D + | COS + | COSD + | COSH + | COT + | COTD + | SIN + | SIND + | SINH + | TAN + | TAND + | TANH + | BIT_LENGTH + | CHAR_LENGTH + | CHARACTER_LENGTH + | LOWER + | OCTET_LENGTH + | OCTET_LENGTH + | UPPER + | ASCII + | BTRIM + | CHR + | CONCAT + | CONCAT_WS + | FORMAT + | INITCAP + | LENGTH + | LPAD + | LTRIM + | MD5 + | PARSE_IDENT + | PG_CLIENT_ENCODING + | QUOTE_IDENT + | QUOTE_LITERAL + | QUOTE_NULLABLE + | REGEXP_COUNT + | REGEXP_INSTR + | REGEXP_LIKE + | REGEXP_MATCH + | REGEXP_MATCHES + | REGEXP_REPLACE + | REGEXP_SPLIT_TO_ARRAY + | REGEXP_SPLIT_TO_TABLE + | REGEXP_SUBSTR + | REPEAT + | REPLACE + | REVERSE + | RPAD + | RTRIM + | SPLIT_PART + | STARTS_WITH + | STRING_TO_ARRAY + | STRING_TO_TABLE + | STRPOS + | SUBSTR + | TO_ASCII + | TO_HEX + | TRANSLATE + | UNISTR + | AGE + | DATE_BIN + | DATE_PART + | DATE_TRUNC + | ISFINITE + | JUSTIFY_DAYS + | JUSTIFY_HOURS + | JUSTIFY_INTERVAL + | MAKE_DATE + | MAKE_INTERVAL + | MAKE_TIME + | MAKE_TIMESTAMP + | MAKE_TIMESTAMPTZ + | CLOCK_TIMESTAMP + | NOW + | STATEMENT_TIMESTAMP + | TIMEOFDAY + | TRANSACTION_TIMESTAMP + | TO_TIMESTAMP + | JUSTIFY_INTERVAL + | JUSTIFY_INTERVAL + | TO_CHAR + | TO_DATE + | TO_NUMBER + ; + +/************************************************************************************************************************************************************/ +/*PL/SQL GRAMMAR */ + +/*PLSQL grammar */ + +/************************************************************************************************************************************************************/ +pl_function + : comp_options pl_block opt_semi + ; + +comp_options + : comp_option* + ; + +comp_option + : sharp OPTION DUMP + | sharp PRINT_STRICT_PARAMS option_value + | sharp VARIABLE_CONFLICT ERROR + | sharp VARIABLE_CONFLICT USE_VARIABLE + | sharp VARIABLE_CONFLICT USE_COLUMN + ; + +sharp + : Operator + ; + +option_value + : sconst + | reserved_keyword + | plsql_unreserved_keyword + | unreserved_keyword + ; + +opt_semi + : + | SEMI + ; + +// exception_sect means opt_exception_sect in original grammar, don't be confused! + +pl_block + : decl_sect BEGIN_P proc_sect exception_sect END_P opt_label + ; + +decl_sect + : opt_block_label (decl_start decl_stmts?)? + ; + +decl_start + : DECLARE + ; + +decl_stmts + : decl_stmt+ + ; + +label_decl + : LESS_LESS any_identifier GREATER_GREATER + ; + +decl_stmt + : decl_statement + | DECLARE + | label_decl + ; + +decl_statement + : decl_varname ( + ALIAS FOR decl_aliasitem + | decl_const decl_datatype decl_collate decl_notnull decl_defval + | opt_scrollable CURSOR decl_cursor_args decl_is_for decl_cursor_query + ) SEMI + ; + +opt_scrollable + : + | NO SCROLL + | SCROLL + ; + +decl_cursor_query + : selectstmt + ; + +decl_cursor_args + : + | OPEN_PAREN decl_cursor_arglist CLOSE_PAREN + ; + +decl_cursor_arglist + : decl_cursor_arg (COMMA decl_cursor_arg)* + ; + +decl_cursor_arg + : decl_varname decl_datatype + ; + +decl_is_for + : IS + | FOR + ; + +decl_aliasitem + : PARAM + | colid + ; + +decl_varname + : any_identifier + ; + +decl_const + : + | CONSTANT + ; + +decl_datatype + : typename + ; //TODO: $$ = read_datatype(yychar); + +decl_collate + : + | COLLATE any_name + ; + +decl_notnull + : + | NOT NULL_P + ; + +decl_defval + : + | decl_defkey sql_expression + ; + +decl_defkey + : assign_operator + | DEFAULT + ; + +assign_operator + : EQUAL + | COLON_EQUALS + ; + +proc_sect + : proc_stmt* + ; + +proc_stmt + : pl_block SEMI + | stmt_return + | stmt_raise + | stmt_assign + | stmt_if + | stmt_case + | stmt_loop + | stmt_while + | stmt_for + | stmt_foreach_a + | stmt_exit + | stmt_assert + | stmt_execsql + | stmt_dynexecute + | stmt_perform + | stmt_call + | stmt_getdiag + | stmt_open + | stmt_fetch + | stmt_move + | stmt_close + | stmt_null + | stmt_commit + | stmt_rollback + | stmt_set + ; + +stmt_perform + : PERFORM expr_until_semi SEMI + ; + +stmt_call + : CALL any_identifier OPEN_PAREN opt_expr_list CLOSE_PAREN SEMI + | DO any_identifier OPEN_PAREN opt_expr_list CLOSE_PAREN SEMI + ; + +opt_expr_list + : + | expr_list + ; + +stmt_assign + : assign_var assign_operator sql_expression SEMI + ; + +stmt_getdiag + : GET getdiag_area_opt DIAGNOSTICS getdiag_list SEMI + ; + +getdiag_area_opt + : + | CURRENT_P + | STACKED + ; + +getdiag_list + : getdiag_list_item (COMMA getdiag_list_item)* + ; + +getdiag_list_item + : getdiag_target assign_operator getdiag_item + ; + +getdiag_item + : colid + ; + +getdiag_target + : assign_var + ; + +assign_var + : (any_name | PARAM) (OPEN_BRACKET expr_until_rightbracket CLOSE_BRACKET)* + ; + +stmt_if + : IF_P expr_until_then THEN proc_sect stmt_elsifs stmt_else END_P IF_P SEMI + ; + +stmt_elsifs + : (ELSIF a_expr THEN proc_sect)* + ; + +stmt_else + : + | ELSE proc_sect + ; + +stmt_case + : CASE opt_expr_until_when case_when_list opt_case_else END_P CASE SEMI + ; + +opt_expr_until_when + : + | sql_expression + ; + +case_when_list + : case_when+ + ; + +case_when + : WHEN expr_list THEN proc_sect + ; + +opt_case_else + : + | ELSE proc_sect + ; + +stmt_loop + : opt_loop_label loop_body + ; + +stmt_while + : opt_loop_label WHILE expr_until_loop loop_body + ; + +stmt_for + : opt_loop_label FOR for_control loop_body + ; + +//TODO: rewrite using read_sql_expression logic? + +for_control + : for_variable IN_P ( + cursor_name opt_cursor_parameters + | selectstmt + | explainstmt + | EXECUTE a_expr opt_for_using_expression + | opt_reverse a_expr DOT_DOT a_expr opt_by_expression + ) + ; + +opt_for_using_expression + : + | USING expr_list + ; + +opt_cursor_parameters + : + | OPEN_PAREN a_expr (COMMA a_expr)* CLOSE_PAREN + ; + +opt_reverse + : + | REVERSE + ; + +opt_by_expression + : + | BY a_expr + ; + +for_variable + : any_name_list + ; + +stmt_foreach_a + : opt_loop_label FOREACH for_variable foreach_slice IN_P ARRAY a_expr loop_body + ; + +foreach_slice + : + | SLICE iconst + ; + +stmt_exit + : exit_type opt_label opt_exitcond SEMI + ; + +exit_type + : EXIT + | CONTINUE_P + ; + +//todo implement RETURN statement according to initial grammar line 1754 + +stmt_return + : RETURN ( + NEXT sql_expression + | QUERY (EXECUTE a_expr opt_for_using_expression | selectstmt) + | opt_return_result + ) SEMI + ; + +opt_return_result + : + | sql_expression + ; + +//https://www.postgresql.org/docs/current/plpgsql-errors-and-messages.html + +//RAISE [ level ] 'format' [, expression [, ... ]] [ USING option = expression [, ... ] ]; + +//RAISE [ level ] condition_name [ USING option = expression [, ... ] ]; + +//RAISE [ level ] SQLSTATE 'sqlstate' [ USING option = expression [, ... ] ]; + +//RAISE [ level ] USING option = expression [, ... ]; + +//RAISE ; + +stmt_raise + : RAISE opt_stmt_raise_level sconst opt_raise_list opt_raise_using SEMI + | RAISE opt_stmt_raise_level identifier opt_raise_using SEMI + | RAISE opt_stmt_raise_level SQLSTATE sconst opt_raise_using SEMI + | RAISE opt_stmt_raise_level opt_raise_using SEMI + | RAISE + ; + +opt_stmt_raise_level + : + | + | DEBUG + | LOG + | INFO + | NOTICE + | WARNING + | EXCEPTION + ; + +opt_raise_list + : + | (COMMA a_expr)+ + ; + +opt_raise_using + : + | USING opt_raise_using_elem_list + ; + +opt_raise_using_elem + : identifier EQUAL a_expr + ; + +opt_raise_using_elem_list + : opt_raise_using_elem (COMMA opt_raise_using_elem)* + ; + +//todo imnplement + +stmt_assert + : ASSERT sql_expression opt_stmt_assert_message SEMI + ; + +opt_stmt_assert_message + : + | COMMA sql_expression + ; + +loop_body + : LOOP proc_sect END_P LOOP opt_label SEMI + ; + +//TODO: looks like all other statements like INSERT/SELECT/UPDATE/DELETE are handled here; + +//pls take a look at original grammar + +stmt_execsql + : make_execsql_stmt SEMI + /*K_IMPORT + | K_INSERT + | t_word + | t_cword +*/ + ; + +//https://www.postgresql.org/docs/current/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-NORESULT + +//EXECUTE command-string [ INTO [STRICT] target ] [ USING expression [, ... ] ]; + +stmt_dynexecute + : EXECUTE a_expr ( + /*this is silly, but i have to time to find nice way to code */ opt_execute_into opt_execute_using + | opt_execute_using opt_execute_into + | + ) SEMI + ; + +opt_execute_using + : + | USING opt_execute_using_list + ; + +opt_execute_using_list + : a_expr (COMMA a_expr)* + ; + +opt_execute_into + : + | INTO STRICT_P? into_target + ; + +//https://www.postgresql.org/docs/current/plpgsql-cursors.html#PLPGSQL-CURSOR-OPENING + +//OPEN unbound_cursorvar [ [ NO ] SCROLL ] FOR query; + +//OPEN unbound_cursorvar [ [ NO ] SCROLL ] FOR EXECUTE query_string + +// [ USING expression [, ... ] ]; + +//OPEN bound_cursorvar [ ( [ argument_name := ] argument_value [, ...] ) ]; + +stmt_open + : OPEN ( + cursor_variable opt_scroll_option FOR (selectstmt | EXECUTE sql_expression opt_open_using) + | colid (OPEN_PAREN opt_open_bound_list CLOSE_PAREN)? + ) SEMI + ; + +opt_open_bound_list_item + : colid COLON_EQUALS a_expr + | a_expr + ; + +opt_open_bound_list + : opt_open_bound_list_item (COMMA opt_open_bound_list_item)* + ; + +opt_open_using + : + | USING expr_list + ; + +opt_scroll_option + : + | opt_scroll_option_no SCROLL + ; + +opt_scroll_option_no + : + | NO + ; + +//https://www.postgresql.org/docs/current/plpgsql-cursors.html#PLPGSQL-CURSOR-OPENING + +//FETCH [ direction { FROM | IN } ] cursor INTO target; + +stmt_fetch + : FETCH direction = opt_fetch_direction opt_cursor_from cursor_variable INTO into_target SEMI + ; + +into_target + : expr_list + ; + +opt_cursor_from + : + | FROM + | IN_P + ; + +opt_fetch_direction + : + | + | NEXT + | PRIOR + | FIRST_P + | LAST_P + | ABSOLUTE_P a_expr + | RELATIVE_P a_expr + | a_expr + | ALL + | (FORWARD | BACKWARD) (a_expr | ALL)? + ; + +//https://www.postgresql.org/docs/current/plpgsql-cursors.html#PLPGSQL-CURSOR-OPENING + +//MOVE [ direction { FROM | IN } ] cursor; + +stmt_move + : MOVE opt_fetch_direction cursor_variable SEMI + ; + +stmt_close + : CLOSE cursor_variable SEMI + ; + +stmt_null + : NULL_P SEMI + ; + +stmt_commit + : COMMIT plsql_opt_transaction_chain SEMI + ; + +stmt_rollback + : ROLLBACK plsql_opt_transaction_chain SEMI + ; + +plsql_opt_transaction_chain + : AND NO? CHAIN + | + ; + +stmt_set + : SET any_name TO DEFAULT SEMI + | RESET (any_name | ALL) SEMI + ; + +cursor_variable + : colid + | PARAM + ; + +exception_sect + : + | EXCEPTION proc_exceptions + ; + +proc_exceptions + : proc_exception+ + ; + +proc_exception + : WHEN proc_conditions THEN proc_sect + ; + +proc_conditions + : proc_condition (OR proc_condition)* + ; + +proc_condition + : any_identifier + | SQLSTATE sconst + ; + +//expr_until_semi: + +//; + +//expr_until_rightbracket: + +//; + +//expr_until_loop: + +//; + +opt_block_label + : + | label_decl + ; + +opt_loop_label + : + | label_decl + ; + +opt_label + : + | any_identifier + ; + +opt_exitcond + : WHEN expr_until_semi + | + ; + +any_identifier + : colid + | plsql_unreserved_keyword + ; + +plsql_unreserved_keyword + : ABSOLUTE_P + | ALIAS + | AND + | ARRAY + | ASSERT + | BACKWARD + | CALL + | CHAIN + | CLOSE + | COLLATE + | COLUMN + //| COLUMN_NAME + | COMMIT + | CONSTANT + | CONSTRAINT + //| CONSTRAINT_NAME + | CONTINUE_P + | CURRENT_P + | CURSOR + //| DATATYPE + | DEBUG + | DEFAULT + //| DETAIL + | DIAGNOSTICS + | DO + | DUMP + | ELSIF + //| ERRCODE + | ERROR + | EXCEPTION + | EXIT + | FETCH + | FIRST_P + | FORWARD + | GET + //| HINT + + //| IMPORT + | INFO + | INSERT + | IS + | LAST_P + //| MESSAGE + + //| MESSAGE_TEXT + | MOVE + | NEXT + | NO + | NOTICE + | OPEN + | OPTION + | PERFORM + //| PG_CONTEXT + + //| PG_DATATYPE_NAME + + //| PG_EXCEPTION_CONTEXT + + //| PG_EXCEPTION_DETAIL + + //| PG_EXCEPTION_HINT + | PRINT_STRICT_PARAMS + | PRIOR + | QUERY + | RAISE + | RELATIVE_P + | RESET + | RETURN + //| RETURNED_SQLSTATE + | ROLLBACK + //| ROW_COUNT + | ROWTYPE + | SCHEMA + //| SCHEMA_NAME + | SCROLL + | SET + | SLICE + | SQLSTATE + | STACKED + | TABLE + //| TABLE_NAME + | TYPE_P + | USE_COLUMN + | USE_VARIABLE + | VARIABLE_CONFLICT + | WARNING + | OUTER_P + ; + +sql_expression + : opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause + ; + +expr_until_then + : sql_expression + ; + +expr_until_semi + : sql_expression + ; + +expr_until_rightbracket + : a_expr + ; + +expr_until_loop + : a_expr + ; + +make_execsql_stmt + : stmt opt_returning_clause_into + ; + +opt_returning_clause_into + : INTO opt_strict into_target + | + ; diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/LexerDispatchingErrorListener.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/LexerDispatchingErrorListener.java new file mode 100644 index 0000000000..b9a7168cd9 --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/LexerDispatchingErrorListener.java @@ -0,0 +1,86 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser; + +import java.util.BitSet; + +import org.antlr.v4.runtime.ANTLRErrorListener; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.Parser; +import org.antlr.v4.runtime.ProxyErrorListener; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.Recognizer; +import org.antlr.v4.runtime.atn.ATNConfigSet; +import org.antlr.v4.runtime.dfa.DFA; + +public class LexerDispatchingErrorListener implements ANTLRErrorListener +{ + Lexer parent; + + public LexerDispatchingErrorListener( + Lexer parent) + { + this.parent = parent; + } + + public void syntaxError( + Recognizer recognizer, + Object offendingSymbol, + int line, + int charPositionInLine, + String msg, + RecognitionException e) + { + ProxyErrorListener foo = new ProxyErrorListener(parent.getErrorListeners()); + foo.syntaxError(recognizer, offendingSymbol, line, charPositionInLine, msg, e); + } + + public void reportAmbiguity( + Parser recognizer, + DFA dfa, + int startIndex, + int stopIndex, + boolean exact, + BitSet ambigAlts, + ATNConfigSet configs) + { + ProxyErrorListener proxyError = new ProxyErrorListener(parent.getErrorListeners()); + proxyError.reportAmbiguity(recognizer, dfa, startIndex, stopIndex, exact, ambigAlts, configs); + } + + public void reportAttemptingFullContext( + Parser recognizer, + DFA dfa, + int startIndex, + int stopIndex, + BitSet conflictingAlts, + ATNConfigSet configs) + { + ProxyErrorListener proxyError = new ProxyErrorListener(parent.getErrorListeners()); + proxyError.reportAttemptingFullContext(recognizer, dfa, startIndex, stopIndex, conflictingAlts, configs); + } + + public void reportContextSensitivity( + Parser recognizer, + DFA dfa, + int startIndex, + int stopIndex, + int prediction, + ATNConfigSet configs) + { + ProxyErrorListener proxyError = new ProxyErrorListener(parent.getErrorListeners()); + proxyError.reportContextSensitivity(recognizer, dfa, startIndex, stopIndex, prediction, configs); + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/ParserDispatchingErrorListener.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/ParserDispatchingErrorListener.java new file mode 100644 index 0000000000..3531e2c33f --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/ParserDispatchingErrorListener.java @@ -0,0 +1,86 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser; + +import java.util.BitSet; + +import org.antlr.v4.runtime.ANTLRErrorListener; +import org.antlr.v4.runtime.Parser; +import org.antlr.v4.runtime.ProxyErrorListener; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.Recognizer; +import org.antlr.v4.runtime.atn.ATNConfigSet; +import org.antlr.v4.runtime.dfa.DFA; + + +public class ParserDispatchingErrorListener implements ANTLRErrorListener +{ + @SuppressWarnings("checkstyle:MemberName") + Parser parent; + + public ParserDispatchingErrorListener( + Parser parent) + { + this.parent = parent; + } + + public void syntaxError( + Recognizer recognizer, Object offendingSymbol, + int line, + int charPositionInLine, + String msg, + RecognitionException e) + { + var foo = new ProxyErrorListener(parent.getErrorListeners()); + foo.syntaxError(recognizer, offendingSymbol, line, charPositionInLine, msg, e); + } + + public void reportAmbiguity( + Parser recognizer, + DFA dfa, + int startIndex, + int stopIndex, + boolean exact, + BitSet ambigAlts, + ATNConfigSet configs) + { + ProxyErrorListener foo = new ProxyErrorListener(parent.getErrorListeners()); + foo.reportAmbiguity(recognizer, dfa, startIndex, stopIndex, exact, ambigAlts, configs); + } + + public void reportAttemptingFullContext( + Parser recognizer, + DFA dfa, + int startIndex, + int stopIndex, + BitSet conflictingAlts, + ATNConfigSet configs) + { + ProxyErrorListener foo = new ProxyErrorListener(parent.getErrorListeners()); + foo.reportAttemptingFullContext(recognizer, dfa, startIndex, stopIndex, conflictingAlts, configs); + } + + public void reportContextSensitivity( + Parser recognizer, + DFA dfa, + int startIndex, + int stopIndex, + int prediction, + ATNConfigSet configs) + { + ProxyErrorListener foo = new ProxyErrorListener(parent.getErrorListeners()); + foo.reportContextSensitivity(recognizer, dfa, startIndex, stopIndex, prediction, configs); + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PgsqlParser.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PgsqlParser.java new file mode 100644 index 0000000000..0479aa08a8 --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PgsqlParser.java @@ -0,0 +1,123 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser; + +import java.util.List; + +import org.antlr.v4.runtime.BailErrorStrategy; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.CharStreams; +import org.antlr.v4.runtime.CommonTokenStream; +import org.antlr.v4.runtime.tree.ParseTreeWalker; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.listener.SqlCommandListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.listener.SqlCreateFunctionListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.listener.SqlCreateMaterializedViewListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.listener.SqlCreateStreamListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.listener.SqlCreateTableTopicListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.listener.SqlDropListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.FunctionInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.StreamInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.ViewInfo; + +public final class PgsqlParser +{ + private final ParseTreeWalker walker; + private final BailErrorStrategy errorStrategy; + private final PostgreSqlLexer lexer; + private final CommonTokenStream tokens; + private final PostgreSqlParser parser; + private final SqlCommandListener commandListener; + private final SqlCreateStreamListener createStreamListener; + private final SqlCreateTableTopicListener createTableListener; + private final SqlCreateFunctionListener createFunctionListener; + private final SqlCreateMaterializedViewListener createMaterializedViewListener; + private final SqlDropListener dropListener; + + public PgsqlParser() + { + this.walker = new ParseTreeWalker(); + this.errorStrategy = new BailErrorStrategy(); + this.lexer = new PostgreSqlLexer(null); + this.tokens = new CommonTokenStream(lexer); + this.parser = new PostgreSqlParser(tokens); + this.commandListener = new SqlCommandListener(); + this.createTableListener = new SqlCreateTableTopicListener(tokens); + this.createStreamListener = new SqlCreateStreamListener(tokens); + this.createFunctionListener = new SqlCreateFunctionListener(tokens); + this.createMaterializedViewListener = new SqlCreateMaterializedViewListener(tokens); + this.dropListener = new SqlDropListener(); + parser.setErrorHandler(errorStrategy); + } + + public String parseCommand( + String sql) + { + parser(sql, commandListener); + return commandListener.command(); + } + + public TableInfo parseCreateTable( + String sql) + { + parser(sql, createTableListener); + return createTableListener.tableInfo(); + } + + public StreamInfo parseCreateStream( + String sql) + { + parser(sql, createStreamListener); + return createStreamListener.streamInfo(); + } + + public FunctionInfo parseCreateFunction( + String sql) + { + parser(sql, createFunctionListener); + return createFunctionListener.functionInfo(); + } + + public ViewInfo parseCreateMaterializedView( + String sql) + { + parser(sql, createMaterializedViewListener); + return createMaterializedViewListener.viewInfo(); + } + + public List parseDrop( + String sql) + { + parser(sql, dropListener); + return dropListener.drops(); + } + + private void parser( + String sql, + PostgreSqlParserBaseListener listener) + { + sql = sql.replace("\u0000", ""); + + CharStream input = CharStreams.fromString(sql); + lexer.reset(); + lexer.setInputStream(input); + + tokens.setTokenSource(lexer); + parser.setTokenStream(tokens); + + walker.walk(listener, parser.root()); + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlLexerBase.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlLexerBase.java new file mode 100644 index 0000000000..59295577b9 --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlLexerBase.java @@ -0,0 +1,95 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser; + +import java.util.ArrayDeque; +import java.util.Deque; + +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Lexer; + +public abstract class PostgreSqlLexerBase extends Lexer +{ + protected final Deque tags = new ArrayDeque<>(); + + protected PostgreSqlLexerBase(CharStream input) + { + super(input); + } + + public void pushTag() + { + tags.push(getText()); + } + + public boolean isTag() + { + return getText().equals(tags.peek()); + } + + public void popTag() + { + tags.pop(); + } + + public boolean checkLA(int c) + { + return getInputStream().LA(1) != c; + } + + public boolean charIsLetter() + { + return Character.isLetter(getInputStream().LA(-1)); + } + + public void handleNumericFail() + { + getInputStream().seek(getInputStream().index() - 2); + setType(PostgreSqlLexer.Integral); + } + + public void handleLessLessGreaterGreater() + { + if ("<<".equals(getText())) + { + setType(PostgreSqlLexer.LESS_LESS); + } + if (">>".equals(getText())) + { + setType(PostgreSqlLexer.GREATER_GREATER); + } + } + + public void unterminatedBlockCommentDebugAssert() + { + //Debug.Assert(InputStream.LA(1) == -1 /*EOF*/); + } + + public boolean checkIfUtf32Letter() + { + int codePoint = getInputStream().LA(-2) << 8 + getInputStream().LA(-1); + char[] c; + if (codePoint < 0x10000) + { + c = new char[]{(char) codePoint}; + } + else + { + codePoint -= 0x10000; + c = new char[]{(char) (codePoint / 0x400 + 0xd800), (char) (codePoint % 0x400 + 0xdc00)}; + } + return Character.isLetter(c[0]); + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlParserBase.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlParserBase.java new file mode 100644 index 0000000000..71f927759e --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PostgreSqlParserBase.java @@ -0,0 +1,171 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser; + +import java.util.List; + +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.CharStreams; +import org.antlr.v4.runtime.CommonTokenStream; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.Parser; +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.TokenStream; + +public abstract class PostgreSqlParserBase extends Parser +{ + + public PostgreSqlParserBase(TokenStream input) + { + super(input); + } + + ParserRuleContext getParsedSqlTree( + String script, + int line) + { + PostgreSqlParser ph = getPostgreSqlParser(script); + ParserRuleContext result = ph.root(); + return result; + } + + public void parseRoutineBody( + PostgreSqlParser.Createfunc_opt_listContext localctx) + { + String lang = null; + for (PostgreSqlParser.Createfunc_opt_itemContext coi : localctx.createfunc_opt_item()) + { + if (coi.LANGUAGE() != null) + { + if (coi.nonreservedword_or_sconst() != null) + { + if (coi.nonreservedword_or_sconst().sconst() != null) + { + lang = coi.nonreservedword_or_sconst().sconst().getText(); + break; + } + if (coi.nonreservedword_or_sconst().nonreservedword() != null) + { + if (coi.nonreservedword_or_sconst().nonreservedword().identifier() != null) + { + if (coi.nonreservedword_or_sconst().nonreservedword().identifier().Identifier() != null) + { + lang = coi.nonreservedword_or_sconst().nonreservedword().identifier().Identifier().getText(); + break; + } + } + } + } + } + } + if (null == lang) + { + return; + } + PostgreSqlParser.Createfunc_opt_itemContext funcAs = null; + for (PostgreSqlParser.Createfunc_opt_itemContext a : localctx.createfunc_opt_item()) + { + if (a.func_as() != null) + { + funcAs = a; + break; + } + + } + if (funcAs != null) + { + String txt = getRoutineBodyString(funcAs.func_as().sconst(0)); + PostgreSqlParser ph = getPostgreSqlParser(txt); + switch (lang) + { + case "plpgsql": + funcAs.func_as().Definition = ph.plsqlroot(); + break; + case "sql": + funcAs.func_as().Definition = ph.root(); + break; + } + } + } + + private String trimQuotes(String s) + { + return (s == null || s.isEmpty()) ? s : s.substring(1, s.length() - 1); + } + + public String unquote( + String s) + { + int slength = s.length(); + StringBuilder r = new StringBuilder(slength); + int i = 0; + while (i < slength) + { + Character c = s.charAt(i); + r.append(c); + if (c == '\'' && i < slength - 1 && s.charAt(i + 1) == '\'') + { + i++; + } + i++; + } + return r.toString(); + } + + public String getRoutineBodyString( + PostgreSqlParser.SconstContext rule) + { + PostgreSqlParser.AnysconstContext anysconst = rule.anysconst(); + org.antlr.v4.runtime.tree.TerminalNode stringConstant = anysconst.StringConstant(); + if (null != stringConstant) + { + return trimQuotes(stringConstant.getText()); + } + org.antlr.v4.runtime.tree.TerminalNode unicodeEscapeStringConstant = anysconst.UnicodeEscapeStringConstant(); + if (null != unicodeEscapeStringConstant) + { + return unquote(unicodeEscapeStringConstant.getText()); + } + org.antlr.v4.runtime.tree.TerminalNode escapeStringConstant = anysconst.EscapeStringConstant(); + if (null != escapeStringConstant) + { + return unquote(escapeStringConstant.getText()); + } + String result = ""; + List dollartext = anysconst.DollarText(); + for (org.antlr.v4.runtime.tree.TerminalNode s : dollartext) + { + result += s.getText(); + } + return result; + } + + public PostgreSqlParser getPostgreSqlParser( + String script) + { + CharStream charStream = CharStreams.fromString(script); + Lexer lexer = new PostgreSqlLexer(charStream); + CommonTokenStream tokens = new CommonTokenStream(lexer); + PostgreSqlParser parser = new PostgreSqlParser(tokens); + lexer.removeErrorListeners(); + parser.removeErrorListeners(); + LexerDispatchingErrorListener listenerLexer = + new LexerDispatchingErrorListener((Lexer)(this.getInputStream().getTokenSource())); + ParserDispatchingErrorListener listenerParser = new ParserDispatchingErrorListener(this); + lexer.addErrorListener(listenerLexer); + parser.addErrorListener(listenerParser); + return parser; + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCommandListener.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCommandListener.java new file mode 100644 index 0000000000..ce9f2ce2ce --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCommandListener.java @@ -0,0 +1,75 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.listener; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParser; +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParserBaseListener; + +public class SqlCommandListener extends PostgreSqlParserBaseListener +{ + private String command = ""; + + public String command() + { + return command; + } + + @Override + public void enterRoot( + PostgreSqlParser.RootContext ctx) + { + command = ""; + } + + @Override + public void enterCreatestmt( + PostgreSqlParser.CreatestmtContext ctx) + { + command = "CREATE %s".formatted(ctx.opttable_type().getText()); + } + + @Override + public void enterCreatestreamstmt( + PostgreSqlParser.CreatestreamstmtContext ctx) + { + command = "CREATE STREAM"; + } + + @Override + public void enterCreatematviewstmt( + PostgreSqlParser.CreatematviewstmtContext ctx) + { + command = "CREATE MATERIALIZED VIEW"; + } + + @Override + public void enterCreatefunctionstmt( + PostgreSqlParser.CreatefunctionstmtContext ctx) + { + String functionBody = ctx.getText(); + + if (!functionBody.contains("$$")) + { + command = "CREATE FUNCTION"; + } + } + + @Override + public void enterDropstmt( + PostgreSqlParser.DropstmtContext ctx) + { + command = "DROP %s".formatted(ctx.object_type_any_name().getText()); + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateFunctionListener.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateFunctionListener.java new file mode 100644 index 0000000000..85c1a98127 --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateFunctionListener.java @@ -0,0 +1,107 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.listener; + +import java.util.ArrayList; +import java.util.List; + +import org.antlr.v4.runtime.TokenStream; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParser; +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParserBaseListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.FunctionArgument; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.FunctionInfo; + +public class SqlCreateFunctionListener extends PostgreSqlParserBaseListener +{ + private final List arguments = new ArrayList<>(); + private final List tables = new ArrayList<>(); + + private final TokenStream tokens; + + private String name; + private String returnType; + private String asFunction; + private String language; + + public SqlCreateFunctionListener( + TokenStream tokens) + { + this.tokens = tokens; + } + + public FunctionInfo functionInfo() + { + return new FunctionInfo(name, arguments, returnType, tables, asFunction, language); + } + + @Override + public void enterRoot( + PostgreSqlParser.RootContext ctx) + { + name = null; + returnType = null; + asFunction = null; + language = null; + arguments.clear(); + tables.clear(); + } + + @Override + public void enterCreatefunctionstmt( + PostgreSqlParser.CreatefunctionstmtContext ctx) + { + name = ctx.func_name().getText(); + } + + @Override + public void enterFunc_arg( + PostgreSqlParser.Func_argContext ctx) + { + String argName = ctx.param_name() != null ? ctx.param_name().getText() : null; + String argType = tokens.getText(ctx.func_type()); + arguments.add(new FunctionArgument(argName, argType)); + } + + @Override + public void enterTable_func_column( + PostgreSqlParser.Table_func_columnContext ctx) + { + String argName = ctx.param_name() != null ? ctx.param_name().getText() : null; + String argType = ctx.func_type().getText(); + tables.add(new FunctionArgument(argName, argType)); + } + + @Override + public void enterFunc_type( + PostgreSqlParser.Func_typeContext ctx) + { + returnType = tokens.getText(ctx.typename()); + } + + @Override + public void enterFunc_as( + PostgreSqlParser.Func_asContext ctx) + { + asFunction = ctx.getText(); + } + + @Override + public void enterNonreservedword_or_sconst( + PostgreSqlParser.Nonreservedword_or_sconstContext ctx) + { + language = ctx.getText(); + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateMaterializedViewListener.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateMaterializedViewListener.java new file mode 100644 index 0000000000..f4e8c5d5a8 --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateMaterializedViewListener.java @@ -0,0 +1,62 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.listener; + +import org.antlr.v4.runtime.TokenStream; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParser; +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParserBaseListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.ViewInfo; + +public class SqlCreateMaterializedViewListener extends PostgreSqlParserBaseListener +{ + private final TokenStream tokens; + + private String name; + private String select; + + public SqlCreateMaterializedViewListener( + TokenStream tokens) + { + this.tokens = tokens; + } + + public ViewInfo viewInfo() + { + return new ViewInfo(name, select); + } + + @Override + public void enterRoot( + PostgreSqlParser.RootContext ctx) + { + name = null; + select = null; + } + + @Override + public void enterCreatematviewstmt( + PostgreSqlParser.CreatematviewstmtContext ctx) + { + name = ctx.create_mv_target().qualified_name().getText(); + } + + @Override + public void enterSelectstmt( + PostgreSqlParser.SelectstmtContext ctx) + { + select = tokens.getText(ctx); + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateStreamListener.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateStreamListener.java new file mode 100644 index 0000000000..34a2638676 --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateStreamListener.java @@ -0,0 +1,73 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.listener; + +import java.util.LinkedHashMap; +import java.util.Map; + +import org.antlr.v4.runtime.TokenStream; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParser; +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParserBaseListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.StreamInfo; + +public class SqlCreateStreamListener extends PostgreSqlParserBaseListener +{ + private final Map columns = new LinkedHashMap<>(); + private final TokenStream tokens; + + private String name; + + public SqlCreateStreamListener( + TokenStream tokens) + { + this.tokens = tokens; + } + + public StreamInfo streamInfo() + { + return new StreamInfo(name, columns); + } + + @Override + public void enterRoot( + PostgreSqlParser.RootContext ctx) + { + name = null; + columns.clear(); + } + + @Override + public void enterQualified_name( + PostgreSqlParser.Qualified_nameContext ctx) + { + name = ctx.getText(); + } + + @Override + public void enterCreatestreamstmt( + PostgreSqlParser.CreatestreamstmtContext ctx) + { + if (ctx.stream_columns() != null) + { + for (PostgreSqlParser.Stream_columnContext streamElement : ctx.stream_columns().stream_column()) + { + String columnName = streamElement.colid().getText(); + String dataType = tokens.getText(streamElement.typename()); + columns.put(columnName, dataType); + } + } + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateTableTopicListener.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateTableTopicListener.java new file mode 100644 index 0000000000..9ec17a7243 --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlCreateTableTopicListener.java @@ -0,0 +1,99 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.listener; + +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; + +import org.agrona.collections.ObjectHashSet; +import org.antlr.v4.runtime.TokenStream; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParser; +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParserBaseListener; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; + +public class SqlCreateTableTopicListener extends PostgreSqlParserBaseListener +{ + private final Map columns = new LinkedHashMap<>(); + private final Set primaryKeys = new ObjectHashSet<>(); + private final TokenStream tokens; + + private String name; + + public SqlCreateTableTopicListener( + TokenStream tokens) + { + this.tokens = tokens; + } + + public TableInfo tableInfo() + { + return new TableInfo(name, columns, primaryKeys); + } + + @Override + public void enterRoot( + PostgreSqlParser.RootContext ctx) + { + name = null; + columns.clear(); + primaryKeys.clear(); + } + + @Override + public void enterQualified_name( + PostgreSqlParser.Qualified_nameContext ctx) + { + name = ctx.getText(); + } + + @Override + public void enterCreatestmt( + PostgreSqlParser.CreatestmtContext ctx) + { + if (ctx.opttableelementlist().tableelementlist() != null) + { + for (PostgreSqlParser.TableelementContext tableElement : ctx.opttableelementlist().tableelementlist().tableelement()) + { + if (tableElement.columnDef() != null) + { + String columnName = tableElement.columnDef().colid().getText(); + String dataType = tokens.getText(tableElement.columnDef().typename()); + columns.put(columnName, dataType); + + for (PostgreSqlParser.ColconstraintContext constraint : + tableElement.columnDef().colquallist().colconstraint()) + { + if (constraint.colconstraintelem().PRIMARY() != null && + constraint.colconstraintelem().KEY() != null) + { + primaryKeys.add(columnName); + } + } + } + else if (tableElement.tableconstraint() != null) + { + if (tableElement.tableconstraint().constraintelem().PRIMARY() != null && + tableElement.tableconstraint().constraintelem().KEY() != null) + { + tableElement.tableconstraint().constraintelem().columnlist().columnElem().forEach( + column -> primaryKeys.add(column.getText())); + } + } + } + } + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlDropListener.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlDropListener.java new file mode 100644 index 0000000000..a7fecb380f --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/listener/SqlDropListener.java @@ -0,0 +1,45 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.listener; + +import java.util.ArrayList; +import java.util.List; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParser; +import io.aklivity.zilla.runtime.binding.pgsql.parser.PostgreSqlParserBaseListener; + +public class SqlDropListener extends PostgreSqlParserBaseListener +{ + private final List drops = new ArrayList<>(); + + public List drops() + { + return drops; + } + + @Override + public void enterRoot( + PostgreSqlParser.RootContext ctx) + { + drops.clear(); + } + + @Override + public void enterDropstmt( + PostgreSqlParser.DropstmtContext ctx) + { + ctx.any_name_list().any_name().forEach(name -> drops.add(name.getText())); + } +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/FunctionArgument.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/FunctionArgument.java new file mode 100644 index 0000000000..91f04b17f4 --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/FunctionArgument.java @@ -0,0 +1,21 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.model; + +public record FunctionArgument( + String name, + String type) +{ +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/FunctionInfo.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/FunctionInfo.java new file mode 100644 index 0000000000..f41b7939de --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/FunctionInfo.java @@ -0,0 +1,27 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.model; + +import java.util.List; + +public record FunctionInfo( + String name, + List arguments, + String returnType, + List tables, + String asFunction, + String language) +{ +} diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableCommand.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/StreamInfo.java similarity index 56% rename from incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableCommand.java rename to incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/StreamInfo.java index 02c14773b0..a666131e4f 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableCommand.java +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/StreamInfo.java @@ -12,22 +12,12 @@ * WARRANTIES OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ -package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; +package io.aklivity.zilla.runtime.binding.pgsql.parser.model; import java.util.Map; -import net.sf.jsqlparser.statement.create.table.CreateTable; - -public final class RisingwaveCreateTableCommand +public record StreamInfo( + String name, + Map columns) { - public final CreateTable createTable; - public final Map includes; - - public RisingwaveCreateTableCommand( - CreateTable createTable, - Map includes) - { - this.createTable = createTable; - this.includes = includes; - } } diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/TableInfo.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/TableInfo.java new file mode 100644 index 0000000000..2f1b3e272b --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/TableInfo.java @@ -0,0 +1,25 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.model; + +import java.util.Map; +import java.util.Set; + +public record TableInfo( + String name, + Map columns, + Set primaryKeys) +{ +} diff --git a/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/ViewInfo.java b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/ViewInfo.java new file mode 100644 index 0000000000..2f6f43e280 --- /dev/null +++ b/incubator/binding-pgsql/src/main/java/io/aklivity/zilla/runtime/binding/pgsql/parser/model/ViewInfo.java @@ -0,0 +1,21 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser.model; + +public record ViewInfo( + String name, + String select) +{ +} diff --git a/incubator/binding-pgsql/src/main/moditect/module-info.java b/incubator/binding-pgsql/src/main/moditect/module-info.java index 3868d46eb3..b8ee14bb35 100644 --- a/incubator/binding-pgsql/src/main/moditect/module-info.java +++ b/incubator/binding-pgsql/src/main/moditect/module-info.java @@ -15,6 +15,11 @@ module io.aklivity.zilla.runtime.binding.pgsql { requires io.aklivity.zilla.runtime.engine; + requires org.antlr.antlr4.runtime; + + exports io.aklivity.zilla.runtime.binding.pgsql.parser; + exports io.aklivity.zilla.runtime.binding.pgsql.parser.listener; + exports io.aklivity.zilla.runtime.binding.pgsql.parser.model; provides io.aklivity.zilla.runtime.engine.binding.BindingFactorySpi with io.aklivity.zilla.runtime.binding.pgsql.internal.PgsqlBindingFactorySpi; diff --git a/incubator/binding-pgsql/src/test/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PgsqlParserTest.java b/incubator/binding-pgsql/src/test/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PgsqlParserTest.java new file mode 100644 index 0000000000..201977e28f --- /dev/null +++ b/incubator/binding-pgsql/src/test/java/io/aklivity/zilla/runtime/binding/pgsql/parser/PgsqlParserTest.java @@ -0,0 +1,356 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.pgsql.parser; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.util.List; + +import org.antlr.v4.runtime.misc.ParseCancellationException; +import org.junit.Before; +import org.junit.Test; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.FunctionInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.StreamInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.ViewInfo; + +public class PgsqlParserTest +{ + private PgsqlParser parser; + + @Before + public void setUp() + { + parser = new PgsqlParser(); + } + + @Test + public void shouldParseWithPrimaryKeySql() + { + String sql = "CREATE TABLE test (id INT PRIMARY KEY, name VARCHAR(100));"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertNotNull(tableInfo); + assertTrue(tableInfo.primaryKeys().contains("id")); + } + + @Test + public void shouldCreateParseWithPrimaryKeysSql() + { + String sql = """ + CREATE TABLE example_table ( + id INT PRIMARY KEY, + name VARCHAR(100), + age INT, + PRIMARY KEY (id, name) + );"""; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertNotNull(tableInfo); + assertEquals(2, tableInfo.primaryKeys().size()); + assertEquals(3, tableInfo.columns().size()); + assertTrue(tableInfo.primaryKeys().contains("id")); + assertTrue(tableInfo.primaryKeys().contains("name")); + } + + @Test + public void shouldParseCreateTableName() + { + String sql = "CREATE TABLE test (id INT);"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertEquals("test", tableInfo.name()); + } + + @Test + public void shouldParseCreateTableNameWithDoublePrecisionTypeField() + { + String sql = "CREATE TABLE test (id DOUBLE PRECISION);"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertEquals("test", tableInfo.name()); + assertEquals("DOUBLE PRECISION", tableInfo.columns().get("id")); + } + + @Test + public void shouldParseCreateTableColumns() + { + String sql = "CREATE TABLE test (id INT, name VARCHAR(100));"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertEquals(2, tableInfo.columns().size()); + assertEquals("INT", tableInfo.columns().get("id")); + assertEquals("VARCHAR(100)", tableInfo.columns().get("name")); + } + + @Test + public void shouldParseCreatreTablePrimaryKey() + { + String sql = "CREATE TABLE test (id INT PRIMARY KEY, name VARCHAR(100));"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertEquals(1, tableInfo.primaryKeys().size()); + assertTrue(tableInfo.primaryKeys().contains("id")); + } + + @Test + public void shouldParseCreateTableCompositePrimaryKey() + { + String sql = "CREATE TABLE test (id INT, name VARCHAR(100), PRIMARY KEY (id, name));"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertEquals(2, tableInfo.primaryKeys().size()); + assertTrue(tableInfo.primaryKeys().contains("id")); + assertTrue(tableInfo.primaryKeys().contains("name")); + } + + @Test + public void shouldHandleEmptyCreateTable() + { + String sql = "CREATE TABLE test ();"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertEquals(0, tableInfo.columns().size()); + assertEquals(0, tableInfo.primaryKeys().size()); + } + + @Test + public void shouldHandleEmptySql() + { + String sql = ""; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertNotNull(tableInfo); + } + + @Test + public void shouldParseCreateMaterializedView() + { + String sql = "CREATE MATERIALIZED VIEW test_view AS SELECT * FROM test_table;"; + ViewInfo viewInfo = parser.parseCreateMaterializedView(sql); + assertNotNull(viewInfo); + assertEquals("test_view", viewInfo.name()); + assertEquals("SELECT * FROM test_table", viewInfo.select()); + } + + @Test(expected = ParseCancellationException.class) + public void shouldHandleEmptyCreateMaterializedView() + { + String sql = "CREATE MATERIALIZED VIEW test_view AS ;"; + ViewInfo viewInfo = parser.parseCreateMaterializedView(sql); + assertNotNull(viewInfo); + assertEquals("test_view", viewInfo.name()); + } + + @Test(expected = ParseCancellationException.class) + public void shouldHandleInvalidCreateMaterializedView() + { + String sql = "CREATE MATERIALIZED VIEW test_view"; + parser.parseCreateMaterializedView(sql); + } + + @Test(expected = ParseCancellationException.class) + public void shouldHandleInvalidCreateTable() + { + String sql = "CREATE TABLE test"; + parser.parseCreateTable(sql); + } + + @Test + public void shouldParseDropSingleTable() + { + String sql = "DROP TABLE test_table;"; + List drops = parser.parseDrop(sql); + assertEquals(1, drops.size()); + assertTrue(drops.contains("test_table")); + } + + @Test + public void shouldParseDropMultipleTables() + { + String sql = "DROP TABLE table1, table2;"; + List drops = parser.parseDrop(sql); + assertEquals(2, drops.size()); + assertTrue(drops.contains("table1")); + assertTrue(drops.contains("table2")); + } + + @Test(expected = ParseCancellationException.class) + public void shouldHandleEmptyDropStatement() + { + String sql = "DROP TABLE;"; + List drops = parser.parseDrop(sql); + assertEquals(0, drops.size()); + } + + @Test + public void shouldParseDropView() + { + String sql = "DROP VIEW test_view;"; + List drops = parser.parseDrop(sql); + assertEquals(1, drops.size()); + assertTrue(drops.contains("test_view")); + } + + @Test + public void shouldParseDropMaterializedView() + { + String sql = "DROP MATERIALIZED VIEW test_materialized_view;"; + List drops = parser.parseDrop(sql); + assertEquals(1, drops.size()); + assertTrue(drops.contains("test_materialized_view")); + } + + @Test + public void shouldParseCreateStream() + { + String sql = "CREATE STREAM test_stream (id INT, name VARCHAR(100));"; + StreamInfo streamInfo = parser.parseCreateStream(sql); + assertNotNull(streamInfo); + assertEquals("test_stream", streamInfo.name()); + assertEquals(2, streamInfo.columns().size()); + assertEquals("INT", streamInfo.columns().get("id")); + assertEquals("VARCHAR(100)", streamInfo.columns().get("name")); + } + + @Test + public void shouldParseCreateStreamIfNotExists() + { + String sql = "CREATE STREAM IF NOT EXISTS test_stream (id INT, name VARCHAR(100));"; + StreamInfo streamInfo = parser.parseCreateStream(sql); + assertNotNull(streamInfo); + assertEquals("test_stream", streamInfo.name()); + assertEquals(2, streamInfo.columns().size()); + assertEquals("INT", streamInfo.columns().get("id")); + assertEquals("VARCHAR(100)", streamInfo.columns().get("name")); + } + + @Test(expected = ParseCancellationException.class) + public void shouldHandleInvalidCreateStream() + { + String sql = "CREATE STREAM test_stream"; + parser.parseCreateStream(sql); + } + + @Test + public void shouldParseCreateFunction() + { + String sql = "CREATE FUNCTION test_function() RETURNS INT AS $$ BEGIN RETURN 1; END $$ LANGUAGE plpgsql;"; + FunctionInfo functionInfo = parser.parseCreateFunction(sql); + assertNotNull(functionInfo); + assertEquals("test_function", functionInfo.name()); + assertEquals("INT", functionInfo.returnType()); + } + + @Test + public void shouldParseCreateFunctionWithLanguage() + { + String sql = "CREATE FUNCTION test_function(int) RETURNS TABLE (x INT) LANGUAGE python AS 'test_function';"; + FunctionInfo functionInfo = parser.parseCreateFunction(sql); + assertNotNull(functionInfo); + assertEquals("test_function", functionInfo.name()); + assertEquals("INT", functionInfo.returnType()); + assertEquals("python", functionInfo.language()); + } + + @Test + public void shouldParseCreateFunctionWithStructReturnType() + { + String sql = "CREATE FUNCTION test_function(int) RETURNS struct" + + " LANGUAGE python AS 'test_function';"; + FunctionInfo functionInfo = parser.parseCreateFunction(sql); + assertNotNull(functionInfo); + assertEquals("test_function", functionInfo.name()); + assertEquals("struct", functionInfo.returnType()); + assertEquals("python", functionInfo.language()); + } + + @Test(expected = ParseCancellationException.class) + public void shouldHandleInvalidCreateFunction() + { + String sql = "CREATE FUNCTION test_function()"; + parser.parseCreateFunction(sql); + } + + @Test + public void shouldParseCreateTableWithUniqueConstraint() + { + String sql = "CREATE TABLE test (id INT UNIQUE, name VARCHAR(100));"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertNotNull(tableInfo); + assertEquals(2, tableInfo.columns().size()); + assertTrue(tableInfo.columns().containsKey("id")); + assertTrue(tableInfo.columns().containsKey("name")); + } + + @Test + public void shouldParseCreateTableWithForeignKey() + { + String sql = "CREATE TABLE test (id INT, name VARCHAR(100), CONSTRAINT fk_name FOREIGN KEY (name)" + + " REFERENCES other_table(name));"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertNotNull(tableInfo); + assertEquals(2, tableInfo.columns().size()); + assertTrue(tableInfo.columns().containsKey("id")); + assertTrue(tableInfo.columns().containsKey("name")); + } + + @Test + public void shouldParseCreateTableWithCheckConstraint() + { + String sql = "CREATE TABLE test (id INT, name VARCHAR(100), CHECK (id > 0));"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertNotNull(tableInfo); + assertEquals(2, tableInfo.columns().size()); + assertTrue(tableInfo.columns().containsKey("id")); + assertTrue(tableInfo.columns().containsKey("name")); + } + + @Test + public void shouldHandleInvalidCreateTableWithMissingColumns() + { + String sql = "CREATE TABLE test ();"; + parser.parseCreateTable(sql); + } + + @Test + public void shouldParseCreateTableWithDefaultValues() + { + String sql = "CREATE TABLE test (id INT DEFAULT 0, name VARCHAR(100) DEFAULT 'unknown');"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertNotNull(tableInfo); + assertEquals(2, tableInfo.columns().size()); + assertEquals("INT", tableInfo.columns().get("id")); + assertEquals("VARCHAR(100)", tableInfo.columns().get("name")); + } + + @Test + public void shouldParseCreateTableWithNotNullConstraint() + { + String sql = "CREATE TABLE test (id INT NOT NULL, name VARCHAR(100) NOT NULL);"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertNotNull(tableInfo); + assertEquals(2, tableInfo.columns().size()); + assertTrue(tableInfo.columns().containsKey("id")); + assertTrue(tableInfo.columns().containsKey("name")); + } + + @Test + public void shouldParseCreateTableWithMultipleConstraints() + { + String sql = "CREATE TABLE test (id INT PRIMARY KEY, name VARCHAR(100) UNIQUE, age INT CHECK (age > 0));"; + TableInfo tableInfo = parser.parseCreateTable(sql); + assertNotNull(tableInfo); + assertEquals(3, tableInfo.columns().size()); + assertTrue(tableInfo.primaryKeys().contains("id")); + assertTrue(tableInfo.columns().containsKey("name")); + assertTrue(tableInfo.columns().containsKey("age")); + } + +} diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.python/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.python/client.rpt index 33ee75c8cb..9612e522fa 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.python/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.python/client.rpt @@ -32,9 +32,9 @@ write zilla:data.ext ${pgsql:dataEx() .query() .build() .build()} -write "CREATE FUNCTION gcd(int , int)\n" +write "CREATE FUNCTION gcd(int, int)\n" "RETURNS int\n" - "AS gcd\n" + "AS 'gcd'\n" "LANGUAGE python\n" "USING LINK 'http://localhost:8816';" [0x00] diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.python/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.python/server.rpt index 7bda0b7335..538c98b141 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.python/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.python/server.rpt @@ -34,9 +34,9 @@ read zilla:data.ext ${pgsql:dataEx() .query() .build() .build()} -read "CREATE FUNCTION gcd(int , int)\n" +read "CREATE FUNCTION gcd(int, int)\n" "RETURNS int\n" - "AS gcd\n" + "AS 'gcd'\n" "LANGUAGE python\n" "USING LINK 'http://localhost:8816';" [0x00] diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.struct/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.struct/client.rpt index 6c81524818..0a33a54114 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.struct/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.struct/client.rpt @@ -33,8 +33,8 @@ write zilla:data.ext ${pgsql:dataEx() .build() .build()} write "CREATE FUNCTION key_value(bytea)\n" - "RETURNS struct < key varchar , value varchar >\n" - "AS key_value\n" + "RETURNS struct\n" + "AS 'key_value'\n" "LANGUAGE python\n" "USING LINK 'http://localhost:8816';" [0x00] diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.struct/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.struct/server.rpt index 23335bb651..cffa0b2496 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.struct/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.struct/server.rpt @@ -35,8 +35,8 @@ read zilla:data.ext ${pgsql:dataEx() .build() .build()} read "CREATE FUNCTION key_value(bytea)\n" - "RETURNS struct < key varchar , value varchar >\n" - "AS key_value\n" + "RETURNS struct\n" + "AS 'key_value'\n" "LANGUAGE python\n" "USING LINK 'http://localhost:8816';" [0x00] diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.table/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.table/client.rpt index ebcab805e4..88160cdb0d 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.table/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.table/client.rpt @@ -33,8 +33,8 @@ write zilla:data.ext ${pgsql:dataEx() .build() .build()} write "CREATE FUNCTION series(int)\n" - "RETURNS TABLE ( x int )\n" - "AS series\n" + "RETURNS TABLE (x int)\n" + "AS 'series'\n" "LANGUAGE java\n" "USING LINK 'http://localhost:8815';" [0x00] diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.table/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.table/server.rpt index ec7a49322a..f02bca873d 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.table/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function.return.table/server.rpt @@ -35,8 +35,8 @@ read zilla:data.ext ${pgsql:dataEx() .build() .build()} read "CREATE FUNCTION series(int)\n" - "RETURNS TABLE ( x int )\n" - "AS series\n" + "RETURNS TABLE (x int)\n" + "AS 'series'\n" "LANGUAGE java\n" "USING LINK 'http://localhost:8815';" [0x00] diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function/client.rpt index 182d430247..1a9a69c6e0 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function/client.rpt @@ -32,9 +32,9 @@ write zilla:data.ext ${pgsql:dataEx() .query() .build() .build()} -write "CREATE FUNCTION gcd(int , int)\n" +write "CREATE FUNCTION gcd(int, int)\n" "RETURNS int\n" - "AS gcd\n" + "AS 'gcd'\n" "LANGUAGE java\n" "USING LINK 'http://localhost:8815';" [0x00] diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function/server.rpt index 475e1d7c17..b925f5bcdd 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.function/server.rpt @@ -34,9 +34,9 @@ read zilla:data.ext ${pgsql:dataEx() .query() .build() .build()} -read "CREATE FUNCTION gcd(int , int)\n" +read "CREATE FUNCTION gcd(int, int)\n" "RETURNS int\n" - "AS gcd\n" + "AS 'gcd'\n" "LANGUAGE java\n" "USING LINK 'http://localhost:8815';" [0x00] diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.stream.with.includes/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.stream.with.includes/client.rpt index 679a78508e..ca19a105fb 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.stream.with.includes/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.stream.with.includes/client.rpt @@ -33,9 +33,9 @@ write zilla:data.ext ${pgsql:dataEx() .build() .build()} write "CREATE SOURCE IF NOT EXISTS weather (*)\n" - "INCLUDE header 'zilla:correlation-id' AS correlation_id\n" - "INCLUDE header 'zilla:identity' AS identity\n" - "INCLUDE timestamp AS timestamp\n" + "INCLUDE header 'zilla:correlation-id' AS zilla_correlation_id\n" + "INCLUDE header 'zilla:identity' AS zilla_identity\n" + "INCLUDE timestamp AS zilla_timestamp\n" "WITH (\n" " connector='kafka',\n" " properties.bootstrap.server='localhost:9092',\n" diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.stream.with.includes/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.stream.with.includes/server.rpt index 9871eea900..cabb3d2999 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.stream.with.includes/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.stream.with.includes/server.rpt @@ -37,9 +37,9 @@ read zilla:data.ext ${pgsql:dataEx() .build() .build()} read "CREATE SOURCE IF NOT EXISTS weather (*)\n" - "INCLUDE header 'zilla:correlation-id' AS correlation_id\n" - "INCLUDE header 'zilla:identity' AS identity\n" - "INCLUDE timestamp AS timestamp\n" + "INCLUDE header 'zilla:correlation-id' AS zilla_correlation_id\n" + "INCLUDE header 'zilla:identity' AS zilla_identity\n" + "INCLUDE timestamp AS zilla_timestamp\n" "WITH (\n" " connector='kafka',\n" " properties.bootstrap.server='localhost:9092',\n" diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.table.with.primary.key.and.includes/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.table.with.primary.key.and.includes/client.rpt index 7c587a897b..f5775ad345 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.table.with.primary.key.and.includes/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.table.with.primary.key.and.includes/client.rpt @@ -35,7 +35,7 @@ write zilla:data.ext ${pgsql:dataEx() write "CREATE SOURCE IF NOT EXISTS cities_source (*)\n" "INCLUDE header 'zilla:correlation-id' AS zilla_correlation_id_header\n" "INCLUDE header 'zilla:identity' AS zilla_identity_header\n" - "INCLUDE timestamp AS timestamp\n" + "INCLUDE timestamp AS zilla_timestamp_timestamp\n" "WITH (\n" " connector='kafka',\n" " properties.bootstrap.server='localhost:9092',\n" @@ -67,11 +67,11 @@ write zilla:data.ext ${pgsql:dataEx() .query() .build() .build()} -write "CREATE MATERIALIZED VIEW IF NOT EXISTS cities_view AS" - " SELECT id, name, description," - " COALESCE(correlation_id, zilla_correlation_id_header::varchar) as correlation_id," - " COALESCE(identity, zilla_identity_header::varchar) as identity," - " timestamp" +write "CREATE MATERIALIZED VIEW IF NOT EXISTS cities_view" + " AS SELECT id, name, description," + " COALESCE(zilla_correlation_id, zilla_correlation_id_header::varchar) as zilla_correlation_id," + " COALESCE(zilla_identity, zilla_identity_header::varchar) as zilla_identity," + " COALESCE(zilla_timestamp, zilla_timestamp_timestamp::varchar) as zilla_timestamp" " FROM cities_source;" [0x00] write flush @@ -97,7 +97,7 @@ write zilla:data.ext ${pgsql:dataEx() .build()} write "CREATE TABLE IF NOT EXISTS cities" " (id VARCHAR, name VARCHAR, description VARCHAR," - " correlation_id VARCHAR, identity VARCHAR, timestamp TIMESTAMP," + " zilla_correlation_id VARCHAR, zilla_identity VARCHAR, zilla_timestamp TIMESTAMP," " PRIMARY KEY (id));" [0x00] write flush @@ -192,7 +192,7 @@ write zilla:data.ext ${pgsql:dataEx() .build()} write "CREATE TOPIC IF NOT EXISTS cities " "(id VARCHAR, name VARCHAR, description VARCHAR," - " correlation_id VARCHAR, identity VARCHAR, timestamp TIMESTAMP," + " zilla_correlation_id VARCHAR, zilla_identity VARCHAR, zilla_timestamp TIMESTAMP," " PRIMARY KEY (id));" [0x00] write flush diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.table.with.primary.key.and.includes/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.table.with.primary.key.and.includes/server.rpt index 4bc34b76a3..48be7e8fd1 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.table.with.primary.key.and.includes/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/effective/create.table.with.primary.key.and.includes/server.rpt @@ -39,7 +39,7 @@ read zilla:data.ext ${pgsql:dataEx() read "CREATE SOURCE IF NOT EXISTS cities_source (*)\n" "INCLUDE header 'zilla:correlation-id' AS zilla_correlation_id_header\n" "INCLUDE header 'zilla:identity' AS zilla_identity_header\n" - "INCLUDE timestamp AS timestamp\n" + "INCLUDE timestamp AS zilla_timestamp_timestamp\n" "WITH (\n" " connector='kafka',\n" " properties.bootstrap.server='localhost:9092',\n" @@ -70,11 +70,11 @@ read zilla:data.ext ${pgsql:dataEx() .query() .build() .build()} -read "CREATE MATERIALIZED VIEW IF NOT EXISTS cities_view AS" - " SELECT id, name, description," - " COALESCE(correlation_id, zilla_correlation_id_header::varchar) as correlation_id," - " COALESCE(identity, zilla_identity_header::varchar) as identity," - " timestamp" +read "CREATE MATERIALIZED VIEW IF NOT EXISTS cities_view" + " AS SELECT id, name, description," + " COALESCE(zilla_correlation_id, zilla_correlation_id_header::varchar) as zilla_correlation_id," + " COALESCE(zilla_identity, zilla_identity_header::varchar) as zilla_identity," + " COALESCE(zilla_timestamp, zilla_timestamp_timestamp::varchar) as zilla_timestamp" " FROM cities_source;" [0x00] @@ -99,7 +99,7 @@ read zilla:data.ext ${pgsql:dataEx() .build()} read "CREATE TABLE IF NOT EXISTS cities" " (id VARCHAR, name VARCHAR, description VARCHAR," - " correlation_id VARCHAR, identity VARCHAR, timestamp TIMESTAMP," + " zilla_correlation_id VARCHAR, zilla_identity VARCHAR, zilla_timestamp TIMESTAMP," " PRIMARY KEY (id));" [0x00] @@ -193,7 +193,7 @@ read zilla:data.ext ${pgsql:dataEx() .build()} read "CREATE TOPIC IF NOT EXISTS cities " "(id VARCHAR, name VARCHAR, description VARCHAR," - " correlation_id VARCHAR, identity VARCHAR, timestamp TIMESTAMP," + " zilla_correlation_id VARCHAR, zilla_identity VARCHAR, zilla_timestamp TIMESTAMP," " PRIMARY KEY (id));" [0x00] diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.python/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.python/client.rpt index 340e999227..93bfa33205 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.python/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.python/client.rpt @@ -33,7 +33,7 @@ write zilla:data.ext ${pgsql:dataEx() .build() .build()} write "CREATE FUNCTION gcd(int, int) RETURNS int " - "LANGUAGE python AS gcd;" + "LANGUAGE python AS 'gcd';" [0x00] write flush diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.python/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.python/server.rpt index 20e83d8382..0170ffc27a 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.python/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.python/server.rpt @@ -37,7 +37,7 @@ read zilla:data.ext ${pgsql:dataEx() .build() .build()} read "CREATE FUNCTION gcd(int, int) RETURNS int " - "LANGUAGE python AS gcd;" + "LANGUAGE python AS 'gcd';" [0x00] write advise zilla:flush ${pgsql:flushEx() diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.struct/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.struct/client.rpt index bf1030e822..7b03821097 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.struct/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.struct/client.rpt @@ -33,7 +33,7 @@ write zilla:data.ext ${pgsql:dataEx() .build() .build()} write "CREATE FUNCTION key_value(bytea) RETURNS struct " - "LANGUAGE python AS key_value;" + "LANGUAGE python AS 'key_value';" [0x00] write flush diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.struct/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.struct/server.rpt index 05a9d55584..dddbbe6eee 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.struct/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.struct/server.rpt @@ -37,7 +37,7 @@ read zilla:data.ext ${pgsql:dataEx() .build() .build()} read "CREATE FUNCTION key_value(bytea) RETURNS struct " - "LANGUAGE python AS key_value;" + "LANGUAGE python AS 'key_value';" [0x00] write advise zilla:flush ${pgsql:flushEx() diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.table/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.table/client.rpt index 8f7384ab62..e8599cdbf5 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.table/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.table/client.rpt @@ -33,7 +33,7 @@ write zilla:data.ext ${pgsql:dataEx() .build() .build()} write "CREATE FUNCTION series(int) RETURNS TABLE (x int) " - "AS series;" + "AS 'series';" [0x00] write flush diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.table/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.table/server.rpt index 073520fff6..38ada2e027 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.table/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function.return.table/server.rpt @@ -37,7 +37,7 @@ read zilla:data.ext ${pgsql:dataEx() .build() .build()} read "CREATE FUNCTION series(int) RETURNS TABLE (x int) " - "AS series;" + "AS 'series';" [0x00] write advise zilla:flush ${pgsql:flushEx() diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function/client.rpt index 49ccf60200..cada6175a2 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function/client.rpt @@ -33,7 +33,7 @@ write zilla:data.ext ${pgsql:dataEx() .build() .build()} write "CREATE FUNCTION gcd(int, int) RETURNS int " - "AS gcd;" + "AS 'gcd';" [0x00] write flush diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function/server.rpt index 4fc06f7a40..8036c14b74 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.function/server.rpt @@ -37,7 +37,7 @@ read zilla:data.ext ${pgsql:dataEx() .build() .build()} read "CREATE FUNCTION gcd(int, int) RETURNS int " - "AS gcd;" + "AS 'gcd';" [0x00] write advise zilla:flush ${pgsql:flushEx() diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.stream.with.includes/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.stream.with.includes/client.rpt index dbb1c245b7..61a9befb91 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.stream.with.includes/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.stream.with.includes/client.rpt @@ -33,10 +33,8 @@ write zilla:data.ext ${pgsql:dataEx() .build() .build()} write "CREATE STREAM IF NOT EXISTS weather " - "(city VARCHAR, temperature DOUBLE, date DATE)\n" - "INCLUDE zilla_correlation_id AS correlation_id\n" - "INCLUDE zilla_identity AS identity\n" - "INCLUDE timestamp as timestamp;" + "(city VARCHAR, temperature DOUBLE, date DATE," + " zilla_correlation_id VARCHAR, zilla_identity VARCHAR, zilla_timestamp TIMESTAMP);" [0x00] write flush diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.stream.with.includes/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.stream.with.includes/server.rpt index 19833142cf..e328e36ca6 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.stream.with.includes/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.stream.with.includes/server.rpt @@ -37,12 +37,11 @@ read zilla:data.ext ${pgsql:dataEx() .build() .build()} read "CREATE STREAM IF NOT EXISTS weather " - "(city VARCHAR, temperature DOUBLE, date DATE)\n" - "INCLUDE zilla_correlation_id AS correlation_id\n" - "INCLUDE zilla_identity AS identity\n" - "INCLUDE timestamp as timestamp;" + "(city VARCHAR, temperature DOUBLE, date DATE," + " zilla_correlation_id VARCHAR, zilla_identity VARCHAR, zilla_timestamp TIMESTAMP);" [0x00] + write advise zilla:flush ${pgsql:flushEx() .typeId(zilla:id("pgsql")) .completion() diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.table.with.primary.key.and.includes/client.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.table.with.primary.key.and.includes/client.rpt index f40e1041f9..823f4ffbe8 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.table.with.primary.key.and.includes/client.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.table.with.primary.key.and.includes/client.rpt @@ -33,10 +33,9 @@ write zilla:data.ext ${pgsql:dataEx() .build() .build()} write "CREATE TABLE IF NOT EXISTS cities " - "(id VARCHAR, name VARCHAR, description VARCHAR, PRIMARY KEY (id))\n" - "INCLUDE zilla_correlation_id AS correlation_id\n" - "INCLUDE zilla_identity AS identity\n" - "INCLUDE timestamp as timestamp;" + "(id VARCHAR, name VARCHAR, description VARCHAR," + " zilla_correlation_id VARCHAR, zilla_identity VARCHAR, zilla_timestamp TIMESTAMP," + " PRIMARY KEY (id));" [0x00] write flush diff --git a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.table.with.primary.key.and.includes/server.rpt b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.table.with.primary.key.and.includes/server.rpt index ed5fda502c..3c916e9f9c 100644 --- a/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.table.with.primary.key.and.includes/server.rpt +++ b/incubator/binding-risingwave.spec/src/main/scripts/io/aklivity/zilla/specs/binding/risingwave/streams/pgsql/create.table.with.primary.key.and.includes/server.rpt @@ -37,10 +37,9 @@ read zilla:data.ext ${pgsql:dataEx() .build() .build()} read "CREATE TABLE IF NOT EXISTS cities " - "(id VARCHAR, name VARCHAR, description VARCHAR, PRIMARY KEY (id))\n" - "INCLUDE zilla_correlation_id AS correlation_id\n" - "INCLUDE zilla_identity AS identity\n" - "INCLUDE timestamp as timestamp;" + "(id VARCHAR, name VARCHAR, description VARCHAR," + " zilla_correlation_id VARCHAR, zilla_identity VARCHAR, zilla_timestamp TIMESTAMP," + " PRIMARY KEY (id));" [0x00] write advise zilla:flush ${pgsql:flushEx() diff --git a/incubator/binding-risingwave/NOTICE b/incubator/binding-risingwave/NOTICE index c6b7d9c015..3913dbbc71 100644 --- a/incubator/binding-risingwave/NOTICE +++ b/incubator/binding-risingwave/NOTICE @@ -10,5 +10,5 @@ WARRANTIES OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This project includes: - JSQLParser library under GNU Library or Lesser General Public License (LGPL) V2.1 or The Apache Software License, Version 2.0 + zilla::incubator::binding-pgsql under Aklivity Community License Agreement diff --git a/incubator/binding-risingwave/pom.xml b/incubator/binding-risingwave/pom.xml index 98571514a4..a087cd9681 100644 --- a/incubator/binding-risingwave/pom.xml +++ b/incubator/binding-risingwave/pom.xml @@ -24,7 +24,7 @@ - 0.86 + 0.91 0 @@ -42,8 +42,8 @@ provided - com.github.jsqlparser - jsqlparser + io.aklivity.zilla + binding-pgsql ${project.groupId} @@ -195,7 +195,6 @@ io/aklivity/zilla/runtime/binding/risingwave/internal/types/**/*.class - net/sf/jsqlparser/parser/* diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCommandTemplate.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCommandTemplate.java index bb65d54a24..c107737304 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCommandTemplate.java +++ b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCommandTemplate.java @@ -14,138 +14,32 @@ */ package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; -import java.io.StringReader; -import java.util.LinkedHashMap; -import java.util.List; import java.util.Map; -import org.agrona.DirectBuffer; import org.agrona.collections.Object2ObjectHashMap; -import net.sf.jsqlparser.parser.CCJSqlParserManager; -import net.sf.jsqlparser.statement.create.table.CreateTable; -import net.sf.jsqlparser.statement.create.table.Index; public abstract class RisingwaveCommandTemplate { - private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); - private final Map includeMap = new LinkedHashMap<>(); + protected static final String ZILLA_CORRELATION_ID = "zilla_correlation_id"; + protected static final String ZILLA_IDENTITY = "zilla_identity"; + protected static final String ZILLA_TIMESTAMP = "zilla_timestamp"; protected final StringBuilder fieldBuilder = new StringBuilder(); protected final StringBuilder includeBuilder = new StringBuilder(); protected static final Map ZILLA_MAPPINGS = new Object2ObjectHashMap<>(); static { - ZILLA_MAPPINGS.put("zilla_correlation_id", "INCLUDE header 'zilla:correlation-id' AS %s\n"); - ZILLA_MAPPINGS.put("zilla_identity", "INCLUDE header 'zilla:identity' AS %s\n"); - ZILLA_MAPPINGS.put("timestamp", "INCLUDE timestamp AS %s\n"); + ZILLA_MAPPINGS.put(ZILLA_CORRELATION_ID, "INCLUDE header 'zilla:correlation-id' AS %s\n"); + ZILLA_MAPPINGS.put(ZILLA_IDENTITY, "INCLUDE header 'zilla:identity' AS %s\n"); + ZILLA_MAPPINGS.put(ZILLA_TIMESTAMP, "INCLUDE timestamp AS %s\n"); } protected static final Map ZILLA_INCLUDE_TYPE_MAPPINGS = new Object2ObjectHashMap<>(); static { - ZILLA_INCLUDE_TYPE_MAPPINGS.put("zilla_correlation_id", "VARCHAR"); - ZILLA_INCLUDE_TYPE_MAPPINGS.put("zilla_identity", "VARCHAR"); - ZILLA_INCLUDE_TYPE_MAPPINGS.put("timestamp", "TIMESTAMP"); - } - - public String primaryKey( - CreateTable statement) - { - String primaryKey = null; - - final List indexes = statement.getIndexes(); - - if (indexes != null && !indexes.isEmpty()) - { - match: - for (Index index : indexes) - { - if ("PRIMARY KEY".equalsIgnoreCase(index.getType())) - { - final List primaryKeyColumns = index.getColumns(); - primaryKey = primaryKeyColumns.get(0).columnName; - break match; - } - } - } - - return primaryKey; - } - - public RisingwaveCreateTableCommand parserCreateTable( - DirectBuffer buffer, - int offset, - int length) - { - String query = buffer.getStringWithoutLengthUtf8(offset, length); - query = query.replaceAll("(?i)\\bCREATE\\s+STREAM\\b", "CREATE TABLE"); - - int includeIndex = query.indexOf("INCLUDE"); - - String createTablePart; - String includePart = null; - - CreateTable createTable = null; - Map includes = null; - - if (includeIndex != -1) - { - createTablePart = query.substring(0, includeIndex).trim(); - includePart = query.substring(includeIndex).trim(); - } - else - { - createTablePart = query.trim(); - } - - try - { - createTable = (CreateTable) parserManager.parse(new StringReader(createTablePart)); - } - catch (Exception ignore) - { - } - - if (includePart != null) - { - includes = parseSpecificIncludes(includePart); - } - - return new RisingwaveCreateTableCommand(createTable, includes); - } - - private Map parseSpecificIncludes( - String includePart) - { - String[] includeClauses = includePart.toLowerCase().split("include"); - for (String clause : includeClauses) - { - clause = clause.trim(); - if (!clause.isEmpty()) - { - String[] parts = clause.toLowerCase().split("as"); - if (parts.length == 2) - { - String key = parts[0].trim(); - String value = parts[1].trim().replace(";", ""); - - if (isValidInclude(key)) - { - includeMap.put(key, value); - } - } - } - } - - return includeMap; - } - - private static boolean isValidInclude( - String key) - { - return "zilla_correlation_id".equals(key) || - "zilla_identity".equals(key) || - "timestamp".equals(key); + ZILLA_INCLUDE_TYPE_MAPPINGS.put(ZILLA_CORRELATION_ID, "VARCHAR"); + ZILLA_INCLUDE_TYPE_MAPPINGS.put(ZILLA_IDENTITY, "VARCHAR"); + ZILLA_INCLUDE_TYPE_MAPPINGS.put(ZILLA_TIMESTAMP, "TIMESTAMP"); } } diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateFunctionTemplate.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateFunctionTemplate.java index 6c687b2e90..b171265ba2 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateFunctionTemplate.java +++ b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateFunctionTemplate.java @@ -16,13 +16,12 @@ import java.util.List; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.FunctionArgument; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.FunctionInfo; import io.aklivity.zilla.runtime.binding.risingwave.config.RisingwaveUdfConfig; -import net.sf.jsqlparser.statement.Statement; -import net.sf.jsqlparser.statement.create.function.CreateFunction; public class RisingwaveCreateFunctionTemplate extends RisingwaveCommandTemplate { - private static final List KEYWORDS = List.of("LANGUAGE", "AS", "USING"); private final String sqlFormat = """ CREATE FUNCTION %s(%s) RETURNS %s @@ -30,8 +29,8 @@ public class RisingwaveCreateFunctionTemplate extends RisingwaveCommandTemplate LANGUAGE %s USING LINK '%s';\u0000"""; - private final String java; - private final String python; + private final String javaServer; + private final String pythonServer; public RisingwaveCreateFunctionTemplate( List udfs) @@ -54,58 +53,50 @@ else if (udf.language.equalsIgnoreCase("python")) } } - this.java = javaServer; - this.python = pythonServer; + this.javaServer = javaServer; + this.pythonServer = pythonServer; } public String generate( - Statement statement) + FunctionInfo functionInfo) { - CreateFunction createFunction = (CreateFunction) statement; - List parts = createFunction.getFunctionDeclarationParts(); + String functionName = functionInfo.name(); + String asFunction = functionInfo.asFunction(); + List arguments = functionInfo.arguments(); + List tables = functionInfo.tables(); - String functionName = parts.get(0); + fieldBuilder.setLength(0); - int paramStartIndex = parts.indexOf("("); - int paramEndIndex = parts.indexOf(")"); - String parameters = paramStartIndex >= 0 && paramEndIndex > paramStartIndex - ? String.join(" ", parts.subList(paramStartIndex + 1, paramEndIndex)) - : ""; + arguments + .forEach(arg -> fieldBuilder.append( + arg.name() != null + ? "%s %s, ".formatted(arg.name(), arg.type()) + : "%s, ".formatted(arg.type()))); - int returnsIndex = parts.indexOf("RETURNS"); - String returnType = returnsIndex >= 0 ? parts.get(returnsIndex + 1) : ""; - - if (returnsIndex >= 0) + if (!arguments.isEmpty()) { - int nextKeywordIndex = findNextKeywordIndex(parts, returnsIndex + 1); - returnType = nextKeywordIndex >= 0 - ? String.join(" ", parts.subList(returnsIndex + 1, nextKeywordIndex)) - : String.join(" ", parts.subList(returnsIndex + 1, parts.size())); + fieldBuilder.delete(fieldBuilder.length() - 2, fieldBuilder.length()); } + String funcArguments = fieldBuilder.toString(); - int asIndex = parts.indexOf("AS"); - String body = asIndex >= 0 ? parts.get(asIndex + 1) : ""; - - int langIndex = parts.indexOf("LANGUAGE"); - String language = langIndex >= 0 ? parts.get(langIndex + 1) : "java"; - - return sqlFormat.formatted(functionName, parameters, returnType.trim(), body, language, - "python".equalsIgnoreCase(language) ? python : java); - } + String language = functionInfo.language() != null ? functionInfo.language() : "java"; + String server = "python".equalsIgnoreCase(language) ? pythonServer : javaServer; - private int findNextKeywordIndex( - List parts, - int startIndex) - { - int endIndex = -1; - for (int index = startIndex; index < parts.size(); index++) + String returnType = functionInfo.returnType(); + if (!tables.isEmpty()) { - if (KEYWORDS.contains(parts.get(index).toUpperCase())) - { - endIndex = index; - break; - } + fieldBuilder.setLength(0); + fieldBuilder.append("TABLE ("); + tables.forEach(arg -> fieldBuilder.append( + arg.name() != null + ? "%s %s, ".formatted(arg.name(), arg.type()) + : "%s, ".formatted(arg.type()))); + fieldBuilder.delete(fieldBuilder.length() - 2, fieldBuilder.length()); + fieldBuilder.append(")"); + + returnType = fieldBuilder.toString(); } - return endIndex; + + return sqlFormat.formatted(functionName, funcArguments, returnType, asFunction, language, server); } } diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateMaterializedViewTemplate.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateMaterializedViewTemplate.java index 4a57891eb3..a6f852d0b0 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateMaterializedViewTemplate.java +++ b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateMaterializedViewTemplate.java @@ -14,53 +14,63 @@ */ package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; -import net.sf.jsqlparser.statement.create.table.CreateTable; -import net.sf.jsqlparser.statement.create.view.CreateView; +import java.util.LinkedHashMap; +import java.util.Map; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.ViewInfo; + public class RisingwaveCreateMaterializedViewTemplate extends RisingwaveCommandTemplate { private final String sqlFormat = """ CREATE MATERIALIZED VIEW IF NOT EXISTS %s AS %s;\u0000"""; private final String fieldFormat = "%s, "; - private final String includeFormat = "COALESCE(%s, zilla_%s_header::varchar) as %s, "; + private final String includeFormat = "COALESCE(%s, %s_header::varchar) as %s, "; + private final String timestampFormat = "COALESCE(%s, %s_timestamp::varchar) as %s, "; public RisingwaveCreateMaterializedViewTemplate() { } public String generate( - CreateView createView) + ViewInfo viewInfo) { - String view = createView.getView().getName(); - String select = createView.getSelect().toString(); + String name = viewInfo.name(); + String select = viewInfo.select(); - return String.format(sqlFormat, view, select); + return String.format(sqlFormat, name, select); } public String generate( - RisingwaveCreateTableCommand command) + TableInfo tableInfo) { - CreateTable createTable = command.createTable; - String name = createTable.getTable().getName(); + String name = tableInfo.name(); String select = "*"; - if (command.includes != null) + Map includes = tableInfo.columns().entrySet().stream() + .filter(e -> ZILLA_MAPPINGS.containsKey(e.getKey())) + .collect(LinkedHashMap::new, (m, e) -> m.put(e.getKey(), e.getValue()), Map::putAll); + + if (!includes.isEmpty()) { fieldBuilder.setLength(0); - createTable.getColumnDefinitions() - .forEach(c -> fieldBuilder.append( - String.format(fieldFormat, c.getColumnName()))); - command.includes.forEach((k, v) -> + tableInfo.columns().keySet() + .stream() + .filter(c -> !ZILLA_MAPPINGS.containsKey(c)) + .forEach(c -> fieldBuilder.append(String.format(fieldFormat, c))); + + includes.forEach((k, v) -> { - if ("timestamp".equals(k)) + if (ZILLA_TIMESTAMP.equals(k)) { - fieldBuilder.append(String.format(fieldFormat, v)); + fieldBuilder.append(String.format(timestampFormat, k, k, k)); } else { - fieldBuilder.append(String.format(includeFormat, v, v, v)); + fieldBuilder.append(String.format(includeFormat, k, k, k)); } }); diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSinkTemplate.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSinkTemplate.java index e30a55b5f3..2025b81d0e 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSinkTemplate.java +++ b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSinkTemplate.java @@ -17,8 +17,8 @@ import java.util.Map; import java.util.Optional; -import net.sf.jsqlparser.statement.create.table.CreateTable; -import net.sf.jsqlparser.statement.create.view.CreateView; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.ViewInfo; public class RisingwaveCreateSinkTemplate extends RisingwaveCommandTemplate { @@ -51,9 +51,9 @@ public RisingwaveCreateSinkTemplate( public String generate( String database, Map columns, - CreateView createView) + ViewInfo viewInfo) { - String viewName = createView.getView().getName(); + String viewName = viewInfo.name(); Optional> primaryKeyMatch = columns.entrySet().stream() .filter(e -> "id".equalsIgnoreCase(e.getKey())) @@ -74,19 +74,18 @@ public String generate( public String generate( String database, - String primaryKey, - CreateTable createTable) + TableInfo tableInfo) { - String table = createTable.getTable().getName(); + String table = tableInfo.name(); return String.format(sqlKafkaFormat, table, table, bootstrapServer, database, table, - primaryKeyFormat.formatted(primaryKey), schemaRegistry); + primaryKeyFormat.formatted(tableInfo.primaryKeys().stream().findFirst().get()), schemaRegistry); } public String generate( - CreateTable createTable) + TableInfo tableInfo) { - String table = createTable.getTable().getName(); + String table = tableInfo.name(); return String.format(sqlFormat, table, table, table); } diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSourceTemplate.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSourceTemplate.java index 1e64e8456d..f154574431 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSourceTemplate.java +++ b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSourceTemplate.java @@ -14,8 +14,12 @@ */ package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; +import java.util.LinkedHashMap; import java.util.Map; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.StreamInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; + public class RisingwaveCreateSourceTemplate extends RisingwaveCommandTemplate { private final String sqlFormat = """ @@ -46,16 +50,19 @@ public RisingwaveCreateSourceTemplate( public String generateStreamSource( String database, - RisingwaveCreateTableCommand command) + StreamInfo streamInfo) { - String table = command.createTable.getTable().getName(); + String table = streamInfo.name(); includeBuilder.setLength(0); - final Map includes = command.includes; - if (includes != null && !includes.isEmpty()) + Map includes = streamInfo.columns().entrySet().stream() + .filter(e -> ZILLA_MAPPINGS.containsKey(e.getKey())) + .collect(LinkedHashMap::new, (m, e) -> m.put(e.getKey(), e.getValue()), Map::putAll); + + if (!includes.isEmpty()) { includeBuilder.append("\n"); - includes.forEach((k, v) -> includeBuilder.append(String.format(ZILLA_MAPPINGS.get(k), v))); + includes.forEach((k, v) -> includeBuilder.append(String.format(ZILLA_MAPPINGS.get(k), k))); includeBuilder.delete(includeBuilder.length() - 1, includeBuilder.length()); } @@ -64,27 +71,29 @@ public String generateStreamSource( public String generateTableSource( String database, - RisingwaveCreateTableCommand command) + TableInfo tableInfo) { - String table = command.createTable.getTable().getName(); + String table = tableInfo.name(); String sourceName = "%s_source".formatted(table); includeBuilder.setLength(0); - final Map includes = command.includes; - if (includes != null && !includes.isEmpty()) + Map includes = tableInfo.columns().entrySet().stream() + .filter(e -> ZILLA_MAPPINGS.containsKey(e.getKey())) + .collect(LinkedHashMap::new, (m, e) -> m.put(e.getKey(), e.getValue()), Map::putAll); + + if (!includes.isEmpty()) { includeBuilder.append("\n"); includes.forEach((k, v) -> { - if ("timestamp".equals(k)) + if (ZILLA_TIMESTAMP.equals(k)) { - includeBuilder.append(String.format(ZILLA_MAPPINGS.get(k), v)); + includeBuilder.append(String.format(ZILLA_MAPPINGS.get(k), "%s_timestamp".formatted(k))); } else { - includeBuilder.append(String.format(ZILLA_MAPPINGS.get(k), "zilla_%s_header".formatted(v))); + includeBuilder.append(String.format(ZILLA_MAPPINGS.get(k), "%s_header".formatted(k))); } - }); includeBuilder.delete(includeBuilder.length() - 1, includeBuilder.length()); } diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableTemplate.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableTemplate.java index 9e8f98acf0..9c225454af 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableTemplate.java +++ b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableTemplate.java @@ -14,7 +14,7 @@ */ package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; -import net.sf.jsqlparser.statement.create.table.CreateTable; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; public class RisingwaveCreateTableTemplate extends RisingwaveCommandTemplate { @@ -28,24 +28,18 @@ public RisingwaveCreateTableTemplate() } public String generate( - RisingwaveCreateTableCommand command) + TableInfo tableInfo) { - CreateTable createTable = command.createTable; - String topic = createTable.getTable().getName(); - String primaryKeyField = primaryKey(createTable); - String primaryKey = primaryKeyField != null ? String.format(primaryKeyFormat, primaryKeyField) : ""; + String topic = tableInfo.name(); + String primaryKey = !tableInfo.primaryKeys().isEmpty() + ? String.format(primaryKeyFormat, tableInfo.primaryKeys().stream().findFirst().get()) + : ""; fieldBuilder.setLength(0); - createTable.getColumnDefinitions() - .forEach(c -> fieldBuilder.append( - String.format(fieldFormat, c.getColumnName(), c.getColDataType().getDataType()))); - - if (command.includes != null) - { - command.includes.forEach((k, v) -> fieldBuilder.append( - String.format(fieldFormat, v, ZILLA_INCLUDE_TYPE_MAPPINGS.get(k)))); - } + tableInfo.columns() + .forEach((k, v) -> fieldBuilder.append( + String.format(fieldFormat, k, v))); fieldBuilder.delete(fieldBuilder.length() - 2, fieldBuilder.length()); diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTopicTemplate.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTopicTemplate.java index f088a3111a..39a1b16c2f 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTopicTemplate.java +++ b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTopicTemplate.java @@ -16,8 +16,9 @@ import java.util.Map; -import net.sf.jsqlparser.statement.create.table.CreateTable; -import net.sf.jsqlparser.statement.create.view.CreateView; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.StreamInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.ViewInfo; public class RisingwaveCreateTopicTemplate extends RisingwaveCommandTemplate { @@ -34,17 +35,18 @@ public RisingwaveCreateTopicTemplate() } public String generate( - CreateTable createTable) + TableInfo tableInfo) { - String topic = createTable.getTable().getName(); - String primaryKeyField = primaryKey(createTable); - String primaryKey = primaryKeyField != null ? String.format(primaryKeyFormat, primaryKeyField) : ""; + String topic = tableInfo.name(); + String primaryKey = !tableInfo.primaryKeys().isEmpty() + ? String.format(primaryKeyFormat, tableInfo.primaryKeys().stream().findFirst().get()) + : ""; fieldBuilder.setLength(0); - createTable.getColumnDefinitions() - .forEach(c -> fieldBuilder.append( - String.format(fieldFormat, c.getColumnName(), c.getColDataType().getDataType()))); + tableInfo.columns() + .forEach((k, v) -> fieldBuilder.append( + String.format(fieldFormat, k, v))); fieldBuilder.delete(fieldBuilder.length() - 2, fieldBuilder.length()); @@ -52,35 +54,29 @@ public String generate( } public String generate( - RisingwaveCreateTableCommand command) + StreamInfo streamInfo) { - CreateTable createTable = command.createTable; - String topic = createTable.getTable().getName(); - String primaryKeyField = primaryKey(createTable); - String primaryKey = primaryKeyField != null ? String.format(primaryKeyFormat, primaryKeyField) : ""; + String topic = streamInfo.name(); fieldBuilder.setLength(0); - createTable.getColumnDefinitions() - .forEach(c -> fieldBuilder.append( - String.format(fieldFormat, c.getColumnName(), c.getColDataType().getDataType()))); - - if (command.includes != null) - { - command.includes.forEach((k, v) -> fieldBuilder.append( - String.format(fieldFormat, v, ZILLA_INCLUDE_TYPE_MAPPINGS.get(k)))); - } + streamInfo.columns() + .entrySet() + .stream() + .filter(e -> !ZILLA_MAPPINGS.containsKey(e.getKey())) + .forEach(e -> fieldBuilder.append( + String.format(fieldFormat, e.getKey(), e.getValue()))); fieldBuilder.delete(fieldBuilder.length() - 2, fieldBuilder.length()); - return String.format(sqlFormat, topic, fieldBuilder, primaryKey); + return String.format(sqlFormat, topic, fieldBuilder, ""); } public String generate( - CreateView createView, + ViewInfo viewInfo, Map columns) { - String topic = createView.getView().getName(); + String topic = viewInfo.name(); primaryKeyBuilder.setLength(0); columns.keySet().forEach(k -> primaryKeyBuilder.append(k).append(", ")); diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveDescribeTemplate.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveDescribeTemplate.java index 238d75bb06..4f0718acd4 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveDescribeTemplate.java +++ b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveDescribeTemplate.java @@ -14,8 +14,7 @@ */ package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; -import net.sf.jsqlparser.statement.Statement; -import net.sf.jsqlparser.statement.create.view.CreateView; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.ViewInfo; public class RisingwaveDescribeTemplate extends RisingwaveCommandTemplate { @@ -27,11 +26,10 @@ public RisingwaveDescribeTemplate() } public String generate( - Statement statement) + ViewInfo viewInfo) { - CreateView createView = (CreateView) statement; - String view = createView.getView().getName(); + String name = viewInfo.name(); - return String.format(sqlFormat, view); + return String.format(sqlFormat, name); } } diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveSqlCommandParser.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveSqlCommandParser.java deleted file mode 100644 index a3ddf19ed0..0000000000 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveSqlCommandParser.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2021-2023 Aklivity Inc - * - * Licensed under the Aklivity Community License (the "License"); you may not use - * this file except in compliance with the License. You may obtain a copy of the - * License at - * - * https://www.aklivity.io/aklivity-community-license/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; - -import java.nio.charset.StandardCharsets; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import io.aklivity.zilla.runtime.binding.risingwave.internal.config.RisingwaveCommandType; - -public final class RisingwaveSqlCommandParser -{ - private static final String SQL_FUNCTION_PATTERN = - "CREATE\\s+FUNCTION[\\s\\S]+?\\$\\$[\\s\\S]+?\\$\\$"; - private static final String SQL_COMMAND_PATTERN = - "(?i)\\b(CREATE FUNCTION)\\b.*?\\$\\$(.*?)\\$\\$\\s*;[\\x00\\n]*" + - "|\\b(CREATE FUNCTION)\\b.*?RETURNS .*?AS.*?;[\\x00\\n]*" + - "|\\b(CREATE MATERIALIZED VIEW|CREATE SOURCE|CREATE SINK|CREATE INDEX|CREATE STREAM" + - "|CREATE VIEW|SHOW TABLES|DESCRIBE|SHOW)\\b.*?;[\\x00\\n]*" + - "|\\b(SELECT|INSERT|UPDATE|DELETE|ALTER|DROP|CREATE TABLE|CREATE SCHEMA|CREATE DATABASE)\\b.*?;[\\x00\\n]*" + - "|\\b(SET)\\b\\s+.*?=.*[\\x00\\n]*"; - - private final Pattern functionPattern = Pattern.compile(SQL_FUNCTION_PATTERN, Pattern.CASE_INSENSITIVE); - private final Pattern sqlPattern = Pattern.compile(SQL_COMMAND_PATTERN, Pattern.DOTALL); - - public RisingwaveSqlCommandParser() - { - } - - public String detectFirstSQLCommand( - String input) - { - String command = null; - Matcher matcher = sqlPattern.matcher(input); - - if (matcher.find()) - { - command = matcher.group(); - } - - return command; - } - - public RisingwaveCommandType decodeCommandType( - String input) - { - RisingwaveCommandType matchingCommand = RisingwaveCommandType.UNKNOWN_COMMAND; - - command: - for (RisingwaveCommandType command : RisingwaveCommandType.values()) - { - byte[] strBytes = input.getBytes(StandardCharsets.UTF_8); - byte[] prefixBytes = command.value(); - - boolean match = strBytes.length > prefixBytes.length; - - if (match) - { - for (int i = 0; i < prefixBytes.length; i++) - { - if (strBytes[i] != prefixBytes[i]) - { - match = false; - break; - } - } - } - - if (match) - { - matchingCommand = command; - break command; - } - } - - if (matchingCommand == RisingwaveCommandType.CREATE_FUNCTION_COMMAND && - isEmbeddedFunction(input)) - { - matchingCommand = RisingwaveCommandType.UNKNOWN_COMMAND; - } - - - return matchingCommand; - } - - private boolean isEmbeddedFunction( - String sqlQuery) - { - Matcher matcher = functionPattern.matcher(sqlQuery); - return matcher.find(); - } -} diff --git a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/stream/RisingwaveProxyFactory.java b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/stream/RisingwaveProxyFactory.java index 3037753452..5225180c8b 100644 --- a/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/stream/RisingwaveProxyFactory.java +++ b/incubator/binding-risingwave/src/main/java/io/aklivity/zilla/runtime/binding/risingwave/internal/stream/RisingwaveProxyFactory.java @@ -17,9 +17,6 @@ import static io.aklivity.zilla.runtime.engine.buffer.BufferPool.NO_SLOT; import static java.util.Objects.requireNonNull; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.StringReader; import java.nio.ByteOrder; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -36,14 +33,16 @@ import org.agrona.collections.LongArrayQueue; import org.agrona.collections.Object2ObjectHashMap; import org.agrona.concurrent.UnsafeBuffer; -import org.agrona.io.DirectBufferInputStream; +import io.aklivity.zilla.runtime.binding.pgsql.parser.PgsqlParser; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.FunctionInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.StreamInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.ViewInfo; import io.aklivity.zilla.runtime.binding.risingwave.internal.RisingwaveConfiguration; import io.aklivity.zilla.runtime.binding.risingwave.internal.config.RisingwaveBindingConfig; import io.aklivity.zilla.runtime.binding.risingwave.internal.config.RisingwaveCommandType; import io.aklivity.zilla.runtime.binding.risingwave.internal.config.RisingwaveRouteConfig; -import io.aklivity.zilla.runtime.binding.risingwave.internal.statement.RisingwaveCreateTableCommand; -import io.aklivity.zilla.runtime.binding.risingwave.internal.statement.RisingwaveSqlCommandParser; import io.aklivity.zilla.runtime.binding.risingwave.internal.types.Flyweight; import io.aklivity.zilla.runtime.binding.risingwave.internal.types.OctetsFW; import io.aklivity.zilla.runtime.binding.risingwave.internal.types.String32FW; @@ -65,10 +64,6 @@ import io.aklivity.zilla.runtime.engine.buffer.BufferPool; import io.aklivity.zilla.runtime.engine.catalog.CatalogHandler; import io.aklivity.zilla.runtime.engine.config.BindingConfig; -import net.sf.jsqlparser.parser.CCJSqlParserManager; -import net.sf.jsqlparser.statement.Statement; -import net.sf.jsqlparser.statement.create.function.CreateFunction; -import net.sf.jsqlparser.statement.create.view.CreateView; public final class RisingwaveProxyFactory implements RisingwaveStreamFactory { @@ -86,10 +81,9 @@ public final class RisingwaveProxyFactory implements RisingwaveStreamFactory private static final OctetsFW EMPTY_OCTETS = new OctetsFW().wrap(EMPTY_BUFFER, 0, 0); private static final Consumer EMPTY_EXTENSION = ex -> {}; - private final RisingwaveSqlCommandParser sqlCommandParser = new RisingwaveSqlCommandParser(); - private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); - private final DirectBufferInputStream inputStream = new DirectBufferInputStream(EMPTY_BUFFER); - private final Reader reader = new InputStreamReader(inputStream); + private final PgsqlParser parser = new PgsqlParser(); + private final List statements = new ArrayList<>(); + private final StringBuilder currentStatement = new StringBuilder(); private final BeginFW beginRO = new BeginFW(); private final DataFW dataRO = new DataFW(); @@ -731,24 +725,17 @@ private void doParseQuery( { final MutableDirectBuffer parserBuffer = bufferPool.buffer(parserSlot); - int progress = 0; - - parse: - while (progress <= parserSlotOffset) - { - final String query = parserBuffer.getStringWithoutLengthUtf8(progress, parserSlotOffset); - final String statement = sqlCommandParser.detectFirstSQLCommand(query); - int statementLength = statement != null ? statement.length() : parserSlotOffset; - - if (statement != null) + String sql = parserBuffer.getStringWithoutLengthAscii(0, parserSlotOffset); + splitStatements(sql) + .stream() + .findFirst() + .ifPresent(s -> { - final RisingwaveCommandType command = sqlCommandParser.decodeCommandType(statement); - final PgsqlTransform transform = clientTransforms.get(command); - transform.transform(this, traceId, authorizationId, parserBuffer, progress, statementLength); - break parse; - } - progress += statementLength; - } + String statement = s; + String command = parser.parseCommand(statement); + final PgsqlTransform transform = clientTransforms.get(RisingwaveCommandType.valueOf(command.getBytes())); + transform.transform(this, traceId, authorizationId, statement); + }); } } @@ -1497,47 +1484,45 @@ private void decodeCreateTableCommand( PgsqlServer server, long traceId, long authorization, - DirectBuffer buffer, - int offset, - int length) + String statement) { if (server.commandsProcessed == 6 || server.commandsProcessed == COMMAND_PROCESSED_ERRORED) { + final int length = statement.length(); server.onCommandCompleted(traceId, authorization, length, RisingwaveCompletionCommand.CREATE_TABLE_COMMAND); } else { final RisingwaveBindingConfig binding = server.binding; - final RisingwaveCreateTableCommand command = binding.createTable.parserCreateTable(buffer, offset, length); - final String primaryKey = binding.createTable.primaryKey(command.createTable); + final TableInfo tableInfo = parser.parseCreateTable(statement); String newStatement = ""; int progress = 0; if (server.commandsProcessed == 0) { - newStatement = binding.createTopic.generate(command); + newStatement = binding.createTopic.generate(tableInfo); } else if (server.commandsProcessed == 1) { - newStatement = binding.createSource.generateTableSource(server.database, command); + newStatement = binding.createSource.generateTableSource(server.database, tableInfo); } else if (server.commandsProcessed == 2) { - newStatement = binding.createView.generate(command); + newStatement = binding.createView.generate(tableInfo); } else if (server.commandsProcessed == 3) { - newStatement = binding.createTable.generate(command); + newStatement = binding.createTable.generate(tableInfo); } else if (server.commandsProcessed == 4) { - newStatement = binding.createSink.generate(command.createTable); + newStatement = binding.createSink.generate(tableInfo); } else if (server.commandsProcessed == 5) { - newStatement = binding.createSink.generate(server.database, primaryKey, command.createTable); + newStatement = binding.createSink.generate(server.database, tableInfo); } statementBuffer.putBytes(progress, newStatement.getBytes()); @@ -1556,30 +1541,29 @@ private void decodeCreateStreamCommand( PgsqlServer server, long traceId, long authorization, - DirectBuffer buffer, - int offset, - int length) + String statement) { if (server.commandsProcessed == 2 || server.commandsProcessed == COMMAND_PROCESSED_ERRORED) { + final int length = statement.length(); server.onCommandCompleted(traceId, authorization, length, RisingwaveCompletionCommand.CREATE_STREAM_COMMAND); } else { final RisingwaveBindingConfig binding = server.binding; - final RisingwaveCreateTableCommand command = binding.createTable.parserCreateTable(buffer, offset, length); + final StreamInfo streamInfo = parser.parseCreateStream(statement); String newStatement = ""; int progress = 0; if (server.commandsProcessed == 0) { - newStatement = binding.createTopic.generate(command.createTable); + newStatement = binding.createTopic.generate(streamInfo); } else if (server.commandsProcessed == 1) { - newStatement = binding.createSource.generateStreamSource(server.database, command); + newStatement = binding.createSource.generateStreamSource(server.database, streamInfo); } statementBuffer.putBytes(progress, newStatement.getBytes()); @@ -1598,20 +1582,19 @@ private void decodeCreateMaterializedViewCommand( PgsqlServer server, long traceId, long authorization, - DirectBuffer buffer, - int offset, - int length) + String statement) { if (server.commandsProcessed == 4 || server.commandsProcessed == COMMAND_PROCESSED_ERRORED) { + final int length = statement.length(); server.onCommandCompleted(traceId, authorization, length, RisingwaveCompletionCommand.CREATE_MATERIALIZED_VIEW_COMMAND); } else { final RisingwaveBindingConfig binding = server.binding; - final CreateView statement = (CreateView) parseStatement(buffer, offset, length); + final ViewInfo viewInfo = parser.parseCreateMaterializedView(statement); PgsqlFlushCommand typeCommand = ignoreFlushCommand; PgsqlDataCommand dataCommand = proxyDataCommand; @@ -1620,22 +1603,22 @@ private void decodeCreateMaterializedViewCommand( if (server.commandsProcessed == 0) { - newStatement = binding.createView.generate(statement); + newStatement = binding.createView.generate(viewInfo); } else if (server.commandsProcessed == 1) { - newStatement = binding.describeView.generate(statement); + newStatement = binding.describeView.generate(viewInfo); typeCommand = typeFlushCommand; dataCommand = rowDataCommand; server.columns.clear(); } else if (server.commandsProcessed == 2) { - newStatement = binding.createTopic.generate(statement, server.columns); + newStatement = binding.createTopic.generate(viewInfo, server.columns); } else if (server.commandsProcessed == 3) { - newStatement = binding.createSink.generate(server.database, server.columns, statement); + newStatement = binding.createSink.generate(server.database, server.columns, viewInfo); } statementBuffer.putBytes(progress, newStatement.getBytes()); @@ -1656,26 +1639,25 @@ private void decodeCreateFunctionCommand( PgsqlServer server, long traceId, long authorization, - DirectBuffer buffer, - int offset, - int length) + String statement) { if (server.commandsProcessed == 1 || server.commandsProcessed == COMMAND_PROCESSED_ERRORED) { + final int length = statement.length(); server.onCommandCompleted(traceId, authorization, length, RisingwaveCompletionCommand.CREATE_FUNCTION_COMMAND); } else { final RisingwaveBindingConfig binding = server.binding; - final CreateFunction statement = (CreateFunction) parseStatement(buffer, offset, length); + final FunctionInfo functionInfo = parser.parseCreateFunction(statement); String newStatement = ""; int progress = 0; if (server.commandsProcessed == 0) { - newStatement = binding.createFunction.generate(statement); + newStatement = binding.createFunction.generate(functionInfo); } statementBuffer.putBytes(progress, newStatement.getBytes()); @@ -1694,10 +1676,10 @@ private void decodeUnknownCommand( PgsqlServer server, long traceId, long authorization, - DirectBuffer buffer, - int offset, - int length) + String statement) { + final int length = statement.length(); + if (server.commandsProcessed == 1 || server.commandsProcessed == COMMAND_PROCESSED_ERRORED) { @@ -1705,11 +1687,13 @@ private void decodeUnknownCommand( } else { + statementBuffer.putBytes(0, statement.getBytes()); + final RisingwaveRouteConfig route = - server.binding.resolve(authorization, buffer, offset, length); + server.binding.resolve(authorization, statementBuffer, 0, length); final PgsqlClient client = server.streamsByRouteIds.get(route.id); - client.doPgsqlQuery(traceId, authorization, buffer, offset, length); + client.doPgsqlQuery(traceId, authorization, statementBuffer, 0, length); client.completionCommand = proxyFlushCommand; } } @@ -1809,42 +1793,50 @@ private void proxyDataCommand( server.doAppData(routedId, traceId, authorization, flags, buffer, offset, limit, extension); } - private Statement parseStatement( - DirectBuffer buffer, - int offset, - int length) + public List splitStatements( + String sql) { - Statement statement = null; - try + statements.clear(); + currentStatement.setLength(0); + + boolean inDollarQuotes = false; + int length = sql.length(); + int start = 0; + + for (int i = 0; i < length; i++) { - //TODO: Avoid object creation - String query = buffer.getStringWithoutLengthUtf8(offset, length); - RisingwaveCommandType commandType = sqlCommandParser.decodeCommandType(query); - if (commandType.equals(RisingwaveCommandType.CREATE_MATERIALIZED_VIEW_COMMAND)) - { - String sql = buffer.getStringWithoutLengthUtf8(offset, length); - // Replace "CREATE MATERIALIZED VIEW" with "CREATE VIEW" for compatibility - sql = sql.replace("CREATE MATERIALIZED VIEW", "CREATE VIEW"); - // Remove "IF NOT EXISTS" clause because JSqlParser doesn't support it - sql = sql.replace("IF NOT EXISTS", ""); - statement = parserManager.parse(new StringReader(sql)); - } - else if (commandType.equals(RisingwaveCommandType.CREATE_FUNCTION_COMMAND)) + char c = sql.charAt(i); + + if (c == '$' && i + 1 < length && sql.charAt(i + 1) == '$') { - query = query.substring(0, query.length() - 1); - statement = parserManager.parse(new StringReader(query)); + inDollarQuotes = !inDollarQuotes; + i++; } - else + else if (c == ';' && !inDollarQuotes) { - inputStream.wrap(buffer, offset, length); - statement = parserManager.parse(reader); + int j = i + 1; + while (j < length && Character.isWhitespace(sql.charAt(j))) + { + j++; + } + + if (j < length && sql.charAt(j) == '\0') + { + i = j; + } + + statements.add(sql.substring(start, i + 1)); + start = j; + i = j - 1; } } - catch (Exception ignored) + + if (start < length) { + statements.add(sql.substring(start, length)); } - return statement; + return statements; } @FunctionalInterface @@ -1854,9 +1846,7 @@ void transform( PgsqlServer server, long traceId, long authorization, - DirectBuffer writeBuffer, - int offset, - int length); + String statement); } @FunctionalInterface diff --git a/incubator/binding-risingwave/src/main/moditect/module-info.java b/incubator/binding-risingwave/src/main/moditect/module-info.java index 77bc6206bd..0155d5c356 100644 --- a/incubator/binding-risingwave/src/main/moditect/module-info.java +++ b/incubator/binding-risingwave/src/main/moditect/module-info.java @@ -14,8 +14,8 @@ */ module io.aklivity.zilla.runtime.binding.risingwave { - requires net.sf.jsqlparser; requires io.aklivity.zilla.runtime.engine; + requires io.aklivity.zilla.runtime.binding.pgsql; exports io.aklivity.zilla.runtime.binding.risingwave.config; diff --git a/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateFunctionTemplateTest.java b/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateFunctionTemplateTest.java new file mode 100644 index 0000000000..b0defa56e0 --- /dev/null +++ b/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateFunctionTemplateTest.java @@ -0,0 +1,178 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; + +import static org.junit.Assert.assertEquals; + +import java.util.List; + +import org.junit.BeforeClass; +import org.junit.Test; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.FunctionArgument; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.FunctionInfo; +import io.aklivity.zilla.runtime.binding.risingwave.config.RisingwaveUdfConfig; + + +public class RisingwaveCreateFunctionTemplateTest +{ + private static RisingwaveCreateFunctionTemplate template; + + @BeforeClass + public static void setUp() + { + template = new RisingwaveCreateFunctionTemplate(List.of( + RisingwaveUdfConfig.builder().server("http://localhost:8815").language("java").build(), + RisingwaveUdfConfig.builder().server("http://localhost:8816").language("python").build())); + } + + @Test + public void shouldGenerateFunctionWithValidFunctionInfo() + { + FunctionInfo functionInfo = new FunctionInfo( + "test_function", + List.of(new FunctionArgument("arg1", "INT")), + "INT", + List.of(), + "test_function", + "java"); + String expectedSQL = """ + CREATE FUNCTION test_function(arg1 INT) + RETURNS INT + AS test_function + LANGUAGE java + USING LINK 'http://localhost:8815';\u0000"""; + + String actualSQL = template.generate(functionInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateFunctionWithTableReturnType() + { + FunctionInfo functionInfo = new FunctionInfo( + "test_function", + List.of(new FunctionArgument("arg1", "INT")), + "INT", + List.of(new FunctionArgument("tab1", "INT")), + "test_function", + "java"); + + String expectedSQL = """ + CREATE FUNCTION test_function(arg1 INT) + RETURNS TABLE (tab1 INT) + AS test_function + LANGUAGE java + USING LINK 'http://localhost:8815';\u0000"""; + + String actualSQL = template.generate(functionInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateFunctionWithTableAsReturnType() + { + FunctionInfo functionInfo = new FunctionInfo( + "test_function", + List.of(new FunctionArgument("arg1", "INT")), + "INT", + List.of(), + "test_function", + "java"); + + String expectedSQL = """ + CREATE FUNCTION test_function(arg1 INT) + RETURNS INT + AS test_function + LANGUAGE java + USING LINK 'http://localhost:8815';\u0000"""; + + String actualSQL = template.generate(functionInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateFunctionWithMultipleArguments() + { + FunctionInfo functionInfo = new FunctionInfo( + "test_function", + List.of(new FunctionArgument("arg1", "INT"), new FunctionArgument("arg2", "STRING")), + "STRING", + List.of(), + "test_function", + "python"); + + String expectedSQL = """ + CREATE FUNCTION test_function(arg1 INT, arg2 STRING) + RETURNS STRING + AS test_function + LANGUAGE python + USING LINK 'http://localhost:8816';\u0000"""; + + String actualSQL = template.generate(functionInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateFunctionWithUnnamedArguments() + { + FunctionInfo functionInfo = new FunctionInfo( + "test_function", + List.of(new FunctionArgument(null, "INT"), new FunctionArgument(null, "STRING")), + "STRING", + List.of(), + "test_function", + "java"); + + String expectedSQL = """ + CREATE FUNCTION test_function(INT, STRING) + RETURNS STRING + AS test_function + LANGUAGE java + USING LINK 'http://localhost:8815';\u0000"""; + + String actualSQL = template.generate(functionInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateFunctionWithEmptyArguments() + { + FunctionInfo functionInfo = new FunctionInfo( + "test_function", + List.of(), + "VOID", + List.of(), + "test_function", + "python"); + + String expectedSQL = """ + CREATE FUNCTION test_function() + RETURNS VOID + AS test_function + LANGUAGE python + USING LINK 'http://localhost:8816';\u0000"""; + + String actualSQL = template.generate(functionInfo); + + assertEquals(expectedSQL, actualSQL); + } + +} diff --git a/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateMaterializedViewTemplateTest.java b/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateMaterializedViewTemplateTest.java new file mode 100644 index 0000000000..079d0011f5 --- /dev/null +++ b/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateMaterializedViewTemplateTest.java @@ -0,0 +1,93 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; + +import static org.junit.Assert.assertEquals; + +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; + +import org.junit.Ignore; +import org.junit.Test; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.ViewInfo; + +public class RisingwaveCreateMaterializedViewTemplateTest +{ + private final RisingwaveCreateMaterializedViewTemplate template = new RisingwaveCreateMaterializedViewTemplate(); + + @Test + public void shouldGenerateMaterializedViewWithValidViewInfo() + { + ViewInfo viewInfo = new ViewInfo("test_view", "SELECT * FROM test_table"); + String expectedSQL = """ + CREATE MATERIALIZED VIEW IF NOT EXISTS test_view AS SELECT * FROM test_table;\u0000"""; + + String actualSQL = template.generate(viewInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Ignore("TODO") + @Test + public void shouldGenerateMaterializedViewWithValidTableInfo() + { + TableInfo tableInfo = new TableInfo( + "test_table", + Map.of("id", "INT", "name", "STRING"), + Set.of("id")); + String expectedSQL = """ + CREATE MATERIALIZED VIEW IF NOT EXISTS test_table_view AS SELECT id, name FROM test_table_source;\u0000"""; + + String actualSQL = template.generate(tableInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateMaterializedViewWithEmptyColumns() + { + TableInfo tableInfo = new TableInfo("empty_table", Map.of(), Set.of()); + String expectedSQL = """ + CREATE MATERIALIZED VIEW IF NOT EXISTS empty_table_view AS SELECT * FROM empty_table_source;\u0000"""; + + String actualSQL = template.generate(tableInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateMaterializedViewWithIncludes() + { + Map columns = new LinkedHashMap<>(); + columns.put("id", "INT"); + columns.put("zilla_correlation_id", "VARCHAR"); + columns.put("zilla_identity", "VARCHAR"); + columns.put("zilla_timestamp", "TIMESTAMP"); + + TableInfo tableInfo = new TableInfo("test_table", columns, Set.of("id")); + String expectedSQL = "CREATE MATERIALIZED VIEW IF NOT EXISTS test_table_view AS SELECT id," + + " COALESCE(zilla_correlation_id, zilla_correlation_id_header::varchar) as zilla_correlation_id," + + " COALESCE(zilla_identity, zilla_identity_header::varchar) as zilla_identity," + + " COALESCE(zilla_timestamp, zilla_timestamp_timestamp::varchar) as zilla_timestamp" + + " FROM test_table_source;\u0000"; + + String actualSQL = template.generate(tableInfo); + + assertEquals(expectedSQL, actualSQL); + } +} diff --git a/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSourceTemplateTest.java b/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSourceTemplateTest.java new file mode 100644 index 0000000000..b6f7d8ed11 --- /dev/null +++ b/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateSourceTemplateTest.java @@ -0,0 +1,162 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; + +import static org.junit.Assert.assertEquals; + +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; + +import org.junit.BeforeClass; +import org.junit.Test; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.StreamInfo; +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; + +public class RisingwaveCreateSourceTemplateTest +{ + private static RisingwaveCreateSourceTemplate template; + + @BeforeClass + public static void setUp() + { + template = new RisingwaveCreateSourceTemplate("localhost:9092", "http://localhost:8081", 1627846260000L); + } + + @Test + public void shouldGenerateStreamSourceWithValidStreamInfo() + { + StreamInfo streamInfo = new StreamInfo("test_stream", Map.of("id", "INT", "name", "STRING")); + String expectedSQL = """ + CREATE SOURCE IF NOT EXISTS test_stream (*) + WITH ( + connector='kafka', + properties.bootstrap.server='localhost:9092', + topic='test_db.test_stream', + scan.startup.mode='latest', + scan.startup.timestamp.millis='1627846260000' + ) FORMAT PLAIN ENCODE AVRO ( + schema.registry = 'http://localhost:8081' + );\u0000"""; + + String actualSQL = template.generateStreamSource("test_db", streamInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateTableSourceWithValidTableInfoAndIncludes() + { + Map columns = new LinkedHashMap<>(); + columns.put("id", "INT"); + columns.put("zilla_correlation_id", "VARCHAR"); + columns.put("zilla_identity", "VARCHAR"); + columns.put("zilla_timestamp", "TIMESTAMP"); + + TableInfo tableInfo = new TableInfo( + "test_table", columns, Set.of("id")); + String expectedSQL = """ + CREATE SOURCE IF NOT EXISTS test_table_source (*) + INCLUDE header 'zilla:correlation-id' AS zilla_correlation_id_header + INCLUDE header 'zilla:identity' AS zilla_identity_header + INCLUDE timestamp AS zilla_timestamp_timestamp + WITH ( + connector='kafka', + properties.bootstrap.server='localhost:9092', + topic='test_db.test_table', + scan.startup.mode='latest', + scan.startup.timestamp.millis='1627846260000' + ) FORMAT PLAIN ENCODE AVRO ( + schema.registry = 'http://localhost:8081' + );\u0000"""; + + String actualSQL = template.generateTableSource("test_db", tableInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateStreamSourceWithEmptyColumnsReturnsSQLWithoutIncludes() + { + StreamInfo streamInfo = new StreamInfo("empty_stream", Map.of()); + String expectedSQL = """ + CREATE SOURCE IF NOT EXISTS empty_stream (*) + WITH ( + connector='kafka', + properties.bootstrap.server='localhost:9092', + topic='test_db.empty_stream', + scan.startup.mode='latest', + scan.startup.timestamp.millis='1627846260000' + ) FORMAT PLAIN ENCODE AVRO ( + schema.registry = 'http://localhost:8081' + );\u0000"""; + + String actualSQL = template.generateStreamSource("test_db", streamInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateStreamSourceWithEmptyColumnsReturnsSQLWithIncludes() + { + Map columns = new LinkedHashMap<>(); + columns.put("id", "INT"); + columns.put("zilla_correlation_id", "VARCHAR"); + columns.put("zilla_identity", "VARCHAR"); + columns.put("zilla_timestamp", "TIMESTAMP"); + + String expectedSQL = """ + CREATE SOURCE IF NOT EXISTS include_stream (*) + INCLUDE header 'zilla:correlation-id' AS zilla_correlation_id + INCLUDE header 'zilla:identity' AS zilla_identity + INCLUDE timestamp AS zilla_timestamp + WITH ( + connector='kafka', + properties.bootstrap.server='localhost:9092', + topic='test_db.include_stream', + scan.startup.mode='latest', + scan.startup.timestamp.millis='1627846260000' + ) FORMAT PLAIN ENCODE AVRO ( + schema.registry = 'http://localhost:8081' + );\u0000"""; + StreamInfo streamInfo = new StreamInfo("include_stream", columns); + + String actualSQL = template.generateStreamSource("test_db", streamInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateTableSourceWithEmptyColumnsAndWithoutIncludes() + { + TableInfo tableInfo = new TableInfo("empty_table", Map.of(), Set.of()); + String expectedSQL = """ + CREATE SOURCE IF NOT EXISTS empty_table_source (*) + WITH ( + connector='kafka', + properties.bootstrap.server='localhost:9092', + topic='test_db.empty_table', + scan.startup.mode='latest', + scan.startup.timestamp.millis='1627846260000' + ) FORMAT PLAIN ENCODE AVRO ( + schema.registry = 'http://localhost:8081' + );\u0000"""; + + String actualSQL = template.generateTableSource("test_db", tableInfo); + + assertEquals(expectedSQL, actualSQL); + } +} diff --git a/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableTemplateTest.java b/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableTemplateTest.java new file mode 100644 index 0000000000..231384f573 --- /dev/null +++ b/incubator/binding-risingwave/src/test/java/io/aklivity/zilla/runtime/binding/risingwave/internal/statement/RisingwaveCreateTableTemplateTest.java @@ -0,0 +1,96 @@ +/* + * Copyright 2021-2023 Aklivity Inc + * + * Licensed under the Aklivity Community License (the "License"); you may not use + * this file except in compliance with the License. You may obtain a copy of the + * License at + * + * https://www.aklivity.io/aklivity-community-license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package io.aklivity.zilla.runtime.binding.risingwave.internal.statement; + +import static org.junit.Assert.assertEquals; + +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; + +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +import io.aklivity.zilla.runtime.binding.pgsql.parser.model.TableInfo; + +public class RisingwaveCreateTableTemplateTest +{ + private static RisingwaveCreateTableTemplate template; + + @BeforeClass + public static void setUp() + { + template = new RisingwaveCreateTableTemplate(); + } + + @Test + public void shouldGenerateTableWithValidTableInfo() + { + Map columns = new LinkedHashMap<>(); + columns.put("id", "INT"); + columns.put("name", "STRING"); + + TableInfo tableInfo = new TableInfo( + "test_table", + columns, + Set.of("id")); + String expectedSQL = """ + CREATE TABLE IF NOT EXISTS test_table (id INT, name STRING, PRIMARY KEY (id));\u0000"""; + + String actualSQL = template.generate(tableInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Test + public void shouldGenerateTableWithoutPrimaryKey() + { + Map columns = new LinkedHashMap<>(); + columns.put("id", "INT"); + columns.put("name", "STRING"); + + TableInfo tableInfo = new TableInfo( + "test_table", + columns, + Set.of()); + String expectedSQL = """ + CREATE TABLE IF NOT EXISTS test_table (id INT, name STRING);\u0000"""; + + String actualSQL = template.generate(tableInfo); + + assertEquals(expectedSQL, actualSQL); + } + + @Ignore("TODO") + @Test + public void shouldGenerateTableWithMultiplePrimaryKeys() + { + Map columns = new LinkedHashMap<>(); + columns.put("id", "INT"); + columns.put("name", "STRING"); + + TableInfo tableInfo = new TableInfo( + "test_table", + columns, + Set.of("id", "name")); + String expectedSQL = """ + CREATE TABLE IF NOT EXISTS test_table (id INT, name STRING, PRIMARY KEY (id));\u0000"""; + + String actualSQL = template.generate(tableInfo); + + assertEquals(expectedSQL, actualSQL); + } +} diff --git a/pom.xml b/pom.xml index 7fe8c4d9ca..d4f4318538 100644 --- a/pom.xml +++ b/pom.xml @@ -204,11 +204,6 @@ jmh-profilers 0.1.4 - - com.github.jsqlparser - jsqlparser - 5.0 - io.aklivity.k3po driver From b23e3f09cadec07cf0f28c7a29570382c96ca1a3 Mon Sep 17 00:00:00 2001 From: John Fallows Date: Tue, 22 Oct 2024 17:23:38 -0700 Subject: [PATCH 08/16] Update source headers --- .../maven/plugins/flyweight/internal/parser/Flyweight.g4 | 3 +-- .../build/maven/plugins/flyweight/internal/AbstractMojo.java | 2 +- .../build/maven/plugins/flyweight/internal/GenerateMojo.java | 2 +- .../build/maven/plugins/flyweight/internal/Generator.java | 2 +- .../zilla/build/maven/plugins/flyweight/internal/Parser.java | 2 +- .../maven/plugins/flyweight/internal/TestGenerateMojo.java | 2 +- .../build/maven/plugins/flyweight/internal/ValidateMojo.java | 2 +- .../plugins/flyweight/internal/ast/AstAbstractMemberNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstByteOrder.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstEnumNode.java | 2 +- .../plugins/flyweight/internal/ast/AstListMemberNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstListNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstMapNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstNamedNode.java | 2 +- .../build/maven/plugins/flyweight/internal/ast/AstNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstScopeNode.java | 2 +- .../plugins/flyweight/internal/ast/AstSpecificationNode.java | 2 +- .../plugins/flyweight/internal/ast/AstStructMemberNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstStructNode.java | 2 +- .../build/maven/plugins/flyweight/internal/ast/AstType.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstTypedefNode.java | 2 +- .../plugins/flyweight/internal/ast/AstUnionCaseNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstUnionNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstValueNode.java | 2 +- .../plugins/flyweight/internal/ast/AstVariantCaseNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/AstVariantNode.java | 2 +- .../maven/plugins/flyweight/internal/ast/parse/AstParser.java | 2 +- .../plugins/flyweight/internal/ast/visit/EnumVisitor.java | 2 +- .../plugins/flyweight/internal/ast/visit/ListVisitor.java | 2 +- .../plugins/flyweight/internal/ast/visit/ScopeVisitor.java | 2 +- .../plugins/flyweight/internal/ast/visit/StructVisitor.java | 2 +- .../plugins/flyweight/internal/ast/visit/UnionVisitor.java | 2 +- .../plugins/flyweight/internal/ast/visit/VariantVisitor.java | 2 +- .../flyweight/internal/generate/Array16FWGenerator.java | 2 +- .../flyweight/internal/generate/Array32FWGenerator.java | 2 +- .../flyweight/internal/generate/Array8FWGenerator.java | 2 +- .../plugins/flyweight/internal/generate/ArrayFWGenerator.java | 2 +- .../flyweight/internal/generate/ArrayFlyweightGenerator.java | 2 +- .../internal/generate/BoundedOctets16FlyweightGenerator.java | 2 +- .../internal/generate/BoundedOctets32FlyweightGenerator.java | 2 +- .../internal/generate/BoundedOctets8FlyweightGenerator.java | 2 +- .../internal/generate/BoundedOctetsFlyweightGenerator.java | 2 +- .../flyweight/internal/generate/ClassSpecGenerator.java | 2 +- .../flyweight/internal/generate/ClassSpecMixinGenerator.java | 2 +- .../flyweight/internal/generate/EnumFlyweightGenerator.java | 2 +- .../flyweight/internal/generate/EnumTypeGenerator.java | 2 +- .../flyweight/internal/generate/FlyweightGenerator.java | 2 +- .../plugins/flyweight/internal/generate/List0FWGenerator.java | 2 +- .../flyweight/internal/generate/List32FWGenerator.java | 2 +- .../plugins/flyweight/internal/generate/List8FWGenerator.java | 2 +- .../plugins/flyweight/internal/generate/ListFWGenerator.java | 2 +- .../flyweight/internal/generate/ListFlyweightGenerator.java | 2 +- .../plugins/flyweight/internal/generate/Map16FWGenerator.java | 2 +- .../plugins/flyweight/internal/generate/Map32FWGenerator.java | 2 +- .../plugins/flyweight/internal/generate/Map8FWGenerator.java | 2 +- .../plugins/flyweight/internal/generate/MapFWGenerator.java | 2 +- .../flyweight/internal/generate/MapFlyweightGenerator.java | 2 +- .../flyweight/internal/generate/MethodSpecGenerator.java | 2 +- .../flyweight/internal/generate/OctetsFlyweightGenerator.java | 2 +- .../plugins/flyweight/internal/generate/PackagedTypeSpec.java | 2 +- .../internal/generate/ParameterizedTypeSpecGenerator.java | 2 +- .../internal/generate/String16FlyweightGenerator.java | 2 +- .../internal/generate/String32FlyweightGenerator.java | 2 +- .../internal/generate/String8FlyweightGenerator.java | 2 +- .../flyweight/internal/generate/StringFlyweightGenerator.java | 2 +- .../flyweight/internal/generate/StructFlyweightGenerator.java | 2 +- .../maven/plugins/flyweight/internal/generate/TypeNames.java | 2 +- .../plugins/flyweight/internal/generate/TypeResolver.java | 2 +- .../flyweight/internal/generate/TypeSpecGenerator.java | 2 +- .../flyweight/internal/generate/UnionFlyweightGenerator.java | 2 +- .../internal/generate/VarStringFlyweightGenerator.java | 2 +- .../internal/generate/VariantFlyweightGenerator.java | 2 +- .../internal/generate/Varint32FlyweightGenerator.java | 2 +- .../internal/generate/Varint64FlyweightGenerator.java | 2 +- .../internal/generate/Varuint32FlyweightGenerator.java | 2 +- .../internal/generate/Varuint32nFlyweightGenerator.java | 2 +- .../flyweight-maven-plugin/src/main/moditect/module-info.java | 2 +- .../resources/META-INF/m2e/lifecycle-mapping-metadata.xml | 2 +- .../maven/plugins/flyweight/internal/GenerateMojoRule.java | 2 +- .../maven/plugins/flyweight/internal/GenerateMojoTest.java | 2 +- .../plugins/flyweight/internal/ast/parse/AstParserTest.java | 2 +- .../maven/plugins/flyweight/internal/bench/FlyweightBM.java | 2 +- .../plugins/flyweight/internal/generated/Array16FWTest.java | 2 +- .../plugins/flyweight/internal/generated/Array32FWTest.java | 2 +- .../plugins/flyweight/internal/generated/Array8FWTest.java | 2 +- .../flyweight/internal/generated/BoundedOctets16FWTest.java | 2 +- .../flyweight/internal/generated/BoundedOctets32FWTest.java | 2 +- .../flyweight/internal/generated/BoundedOctets8FWTest.java | 2 +- .../flyweight/internal/generated/ConstrainedMapFWTest.java | 2 +- .../internal/generated/ContiguousSizeFieldsFWTest.java | 2 +- .../flyweight/internal/generated/EnumWithInt16FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithInt32FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithInt64FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithInt8FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithString16FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithString32FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithString8FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithUint16FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithUint32FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithUint64FWTest.java | 2 +- .../flyweight/internal/generated/EnumWithUint8FWTest.java | 2 +- .../internal/generated/EnumWithVariantOfUint64FWTest.java | 2 +- .../plugins/flyweight/internal/generated/FlatFWTest.java | 2 +- .../flyweight/internal/generated/FlatWithArrayFWTest.java | 2 +- .../flyweight/internal/generated/FlatWithOctetsFWTest.java | 2 +- .../plugins/flyweight/internal/generated/FlyweightTest.java | 2 +- .../plugins/flyweight/internal/generated/IntegerFWTest.java | 2 +- .../internal/generated/IntegerFixedArraysFWTest.java | 2 +- .../internal/generated/IntegerVariableArraysFWTest.java | 2 +- .../plugins/flyweight/internal/generated/List0FWTest.java | 2 +- .../plugins/flyweight/internal/generated/List32FWTest.java | 2 +- .../plugins/flyweight/internal/generated/List8FWTest.java | 2 +- .../internal/generated/ListFromVariantOfListFWTest.java | 2 +- .../flyweight/internal/generated/ListWithArrayFWTest.java | 2 +- .../internal/generated/ListWithArrayOfStructFWTest.java | 2 +- .../internal/generated/ListWithConstrainedMapFWTest.java | 2 +- .../generated/ListWithEnumAndVariantWithDefaultFWTest.java | 2 +- .../flyweight/internal/generated/ListWithEnumFWTest.java | 2 +- .../flyweight/internal/generated/ListWithMapFWTest.java | 2 +- .../internal/generated/ListWithMissingFieldByteFWTest.java | 2 +- .../flyweight/internal/generated/ListWithOctetsFW.java | 2 +- .../flyweight/internal/generated/ListWithOctetsFWTest.java | 2 +- .../generated/ListWithPhysicalAndLogicalLengthFWTest.java | 2 +- .../flyweight/internal/generated/ListWithTypedefFWTest.java | 2 +- .../flyweight/internal/generated/ListWithUnionFWTest.java | 2 +- .../flyweight/internal/generated/ListWithVariantFWTest.java | 2 +- .../plugins/flyweight/internal/generated/Map16FWTest.java | 2 +- .../plugins/flyweight/internal/generated/Map32FWTest.java | 2 +- .../plugins/flyweight/internal/generated/Map8FWTest.java | 2 +- .../plugins/flyweight/internal/generated/NestedFWTest.java | 2 +- .../internal/generated/OctetsDefaultedNoAnchorFWTest.java | 2 +- .../plugins/flyweight/internal/generated/OctetsFWTest.java | 2 +- .../internal/generated/PotentialNameConflitsFWTest.java | 2 +- .../plugins/flyweight/internal/generated/RollFWTest.java | 2 +- .../plugins/flyweight/internal/generated/String16FWTest.java | 2 +- .../plugins/flyweight/internal/generated/String32FWTest.java | 2 +- .../plugins/flyweight/internal/generated/String8FWTest.java | 2 +- .../generated/StructWithNonPrimitiveFieldsFWTest.java | 2 +- .../internal/generated/TypedefFromTypedefFWTest.java | 2 +- .../flyweight/internal/generated/TypedefUint32FWTest.java | 2 +- .../flyweight/internal/generated/UnionChildFWTest.java | 2 +- .../flyweight/internal/generated/UnionOctetsFWTest.java | 2 +- .../flyweight/internal/generated/UnionStringFWTest.java | 2 +- .../flyweight/internal/generated/UnionWithEnumFWTest.java | 2 +- .../internal/generated/VariantEnumKindOfInt16FWTest.java | 2 +- .../internal/generated/VariantEnumKindOfInt8FWTest.java | 2 +- .../internal/generated/VariantEnumKindOfStringFWTest.java | 2 +- .../internal/generated/VariantEnumKindOfUint16FWTest.java | 2 +- .../internal/generated/VariantEnumKindOfUint32FWTest.java | 2 +- .../internal/generated/VariantEnumKindOfUint8FWTest.java | 2 +- .../internal/generated/VariantEnumKindWithInt32FWTest.java | 2 +- .../flyweight/internal/generated/VariantOfArrayFWTest.java | 2 +- .../flyweight/internal/generated/VariantOfListFWTest.java | 2 +- .../flyweight/internal/generated/VariantOfMapFWTest.java | 2 +- .../flyweight/internal/generated/VariantOfOctetsFWTest.java | 2 +- .../internal/generated/VariantUint8KindOfUint64FWTest.java | 2 +- .../generated/VariantUint8KindWithInt64TypeFWTest.java | 2 +- .../generated/VariantUint8KindWithString32TypeFWTest.java | 2 +- .../internal/generated/VariantWithFourTypesFWTest.java | 2 +- .../internal/generated/VariantWithVariantCaseFWTest.java | 2 +- .../flyweight/internal/generated/VariantWithoutOfFWTest.java | 2 +- .../plugins/flyweight/internal/generated/Varint32FWTest.java | 2 +- .../plugins/flyweight/internal/generated/Varint64FWTest.java | 2 +- .../plugins/flyweight/internal/generated/Varuint32FWTest.java | 2 +- .../flyweight/internal/generated/Varuint32nFWTest.java | 2 +- .../test-project/invalidIntArrayLengthHasDefault.idl | 2 +- .../test-project/invalidIntArrayLengthNotUnsigned.idl | 2 +- .../invalidIntArrayWithDefaultLengthNotSigned.idl | 2 +- .../src/test/resources/test-project/invalidOctetsNotLast.idl | 2 +- .../resources/test-project/invalidOctetsNotLastNested.idl | 2 +- .../test/resources/test-project/invalidUnrecognizedType.idl | 2 +- .../src/test/resources/test-project/pom.xml | 2 +- .../src/test/resources/test-project/test.idl | 2 +- cloud/docker-image/src/main/docker/Dockerfile | 2 +- cloud/docker-image/src/main/docker/alpine.Dockerfile | 2 +- cloud/docker-image/src/main/docker/assembly.xml | 2 +- .../io/aklivity/zilla/conf/checkstyle/configuration.xml | 2 +- .../io/aklivity/zilla/conf/checkstyle/suppressions.xml | 2 +- .../zilla/specs/binding/amqp/internal/AmqpFunctions.java | 2 +- .../binding-amqp.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/amqp.idl | 2 +- .../binding/amqp/config/client.when.address.receive.only.yaml | 2 +- .../binding/amqp/config/client.when.address.send.only.yaml | 2 +- .../io/aklivity/zilla/specs/binding/amqp/config/client.yaml | 2 +- .../binding/amqp/config/server.when.address.receive.only.yaml | 2 +- .../binding/amqp/config/server.when.address.send.only.yaml | 2 +- .../io/aklivity/zilla/specs/binding/amqp/config/server.yaml | 2 +- .../application/abort.after.sending.first.fragment/client.rpt | 2 +- .../application/abort.after.sending.first.fragment/server.rpt | 2 +- .../amqp/streams/application/connect.and.reset/client.rpt | 2 +- .../amqp/streams/application/connect.and.reset/server.rpt | 2 +- .../streams/application/connect.as.receiver.only/client.rpt | 2 +- .../streams/application/connect.as.receiver.only/server.rpt | 2 +- .../application/connect.as.receiver.then.abort/client.rpt | 2 +- .../application/connect.as.receiver.then.abort/server.rpt | 2 +- .../application/connect.as.receiver.then.sender/client.rpt | 2 +- .../application/connect.as.receiver.then.sender/server.rpt | 2 +- .../streams/application/connect.as.sender.only/client.rpt | 2 +- .../streams/application/connect.as.sender.only/server.rpt | 2 +- .../application/connect.as.sender.then.abort/client.rpt | 2 +- .../application/connect.as.sender.then.abort/server.rpt | 2 +- .../application/connect.as.sender.then.receiver/client.rpt | 2 +- .../application/connect.as.sender.then.receiver/server.rpt | 2 +- .../binding/amqp/streams/application/disconnect/client.rpt | 2 +- .../binding/amqp/streams/application/disconnect/server.rpt | 2 +- .../streams/application/incoming.window.exceeded/client.rpt | 2 +- .../streams/application/incoming.window.exceeded/server.rpt | 2 +- .../streams/application/incoming.window.reduced/client.rpt | 2 +- .../streams/application/incoming.window.reduced/server.rpt | 2 +- .../amqp/streams/application/link.credit.exceeded/client.rpt | 2 +- .../amqp/streams/application/link.credit.exceeded/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../application/send.to.client.at.least.once/client.rpt | 2 +- .../application/send.to.client.at.least.once/server.rpt | 2 +- .../send.to.client.through.multiple.sessions/client.rpt | 2 +- .../send.to.client.through.multiple.sessions/server.rpt | 3 +-- .../send.to.client.when.first.fragment.aborted/client.rpt | 2 +- .../send.to.client.when.first.fragment.aborted/server.rpt | 2 +- .../application/send.to.client.when.fragmented/client.rpt | 2 +- .../application/send.to.client.when.fragmented/server.rpt | 2 +- .../send.to.client.when.last.fragment.aborted/client.rpt | 2 +- .../send.to.client.when.last.fragment.aborted/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 3 +-- .../send.to.client.when.links.interleaved/client.rpt | 2 +- .../send.to.client.when.links.interleaved/server.rpt | 2 +- .../send.to.client.when.max.frame.size.exceeded/client.rpt | 2 +- .../send.to.client.when.max.frame.size.exceeded/server.rpt | 2 +- .../send.to.client.when.middle.fragment.aborted/client.rpt | 2 +- .../send.to.client.when.middle.fragment.aborted/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 3 +-- .../send.to.client.when.sessions.interleaved/client.rpt | 2 +- .../send.to.client.when.sessions.interleaved/server.rpt | 3 +-- .../application/send.to.client.with.annotations/client.rpt | 2 +- .../application/send.to.client.with.annotations/server.rpt | 2 +- .../send.to.client.with.application.properties/client.rpt | 2 +- .../send.to.client.with.application.properties/server.rpt | 2 +- .../application/send.to.client.with.array32/client.rpt | 2 +- .../application/send.to.client.with.array32/server.rpt | 2 +- .../streams/application/send.to.client.with.array8/client.rpt | 2 +- .../streams/application/send.to.client.with.array8/server.rpt | 2 +- .../application/send.to.client.with.boolean/client.rpt | 2 +- .../application/send.to.client.with.boolean/server.rpt | 2 +- .../streams/application/send.to.client.with.byte/client.rpt | 2 +- .../streams/application/send.to.client.with.byte/server.rpt | 2 +- .../streams/application/send.to.client.with.char/client.rpt | 2 +- .../streams/application/send.to.client.with.char/server.rpt | 2 +- .../send.to.client.with.delivery.annotations/client.rpt | 2 +- .../send.to.client.with.delivery.annotations/server.rpt | 2 +- .../streams/application/send.to.client.with.false/client.rpt | 2 +- .../streams/application/send.to.client.with.false/server.rpt | 2 +- .../streams/application/send.to.client.with.footer/client.rpt | 2 +- .../streams/application/send.to.client.with.footer/server.rpt | 2 +- .../application/send.to.client.with.headers/client.rpt | 2 +- .../application/send.to.client.with.headers/server.rpt | 2 +- .../streams/application/send.to.client.with.int/client.rpt | 2 +- .../streams/application/send.to.client.with.int/server.rpt | 2 +- .../streams/application/send.to.client.with.list0/client.rpt | 2 +- .../streams/application/send.to.client.with.list0/server.rpt | 2 +- .../streams/application/send.to.client.with.list32/client.rpt | 2 +- .../streams/application/send.to.client.with.list32/server.rpt | 2 +- .../streams/application/send.to.client.with.list8/client.rpt | 2 +- .../streams/application/send.to.client.with.list8/server.rpt | 2 +- .../streams/application/send.to.client.with.long/client.rpt | 2 +- .../streams/application/send.to.client.with.long/server.rpt | 2 +- .../streams/application/send.to.client.with.map32/client.rpt | 2 +- .../streams/application/send.to.client.with.map32/server.rpt | 2 +- .../streams/application/send.to.client.with.map8/client.rpt | 2 +- .../streams/application/send.to.client.with.map8/server.rpt | 2 +- .../application/send.to.client.with.multiple.data/client.rpt | 2 +- .../application/send.to.client.with.multiple.data/server.rpt | 2 +- .../send.to.client.with.multiple.sequence/client.rpt | 2 +- .../send.to.client.with.multiple.sequence/server.rpt | 2 +- .../streams/application/send.to.client.with.null/client.rpt | 2 +- .../streams/application/send.to.client.with.null/server.rpt | 2 +- .../application/send.to.client.with.properties/client.rpt | 2 +- .../application/send.to.client.with.properties/server.rpt | 2 +- .../streams/application/send.to.client.with.short/client.rpt | 2 +- .../streams/application/send.to.client.with.short/server.rpt | 2 +- .../application/send.to.client.with.single.data/client.rpt | 2 +- .../application/send.to.client.with.single.data/server.rpt | 2 +- .../send.to.client.with.single.sequence/client.rpt | 2 +- .../send.to.client.with.single.sequence/server.rpt | 2 +- .../application/send.to.client.with.smallint/client.rpt | 2 +- .../application/send.to.client.with.smallint/server.rpt | 2 +- .../application/send.to.client.with.smalllong/client.rpt | 2 +- .../application/send.to.client.with.smalllong/server.rpt | 2 +- .../application/send.to.client.with.smalluint/client.rpt | 2 +- .../application/send.to.client.with.smalluint/server.rpt | 2 +- .../application/send.to.client.with.smallulong/client.rpt | 2 +- .../application/send.to.client.with.smallulong/server.rpt | 2 +- .../application/send.to.client.with.str32utf8/client.rpt | 2 +- .../application/send.to.client.with.str32utf8/server.rpt | 2 +- .../application/send.to.client.with.str8utf8/client.rpt | 2 +- .../application/send.to.client.with.str8utf8/server.rpt | 2 +- .../streams/application/send.to.client.with.sym32/client.rpt | 2 +- .../streams/application/send.to.client.with.sym32/server.rpt | 2 +- .../streams/application/send.to.client.with.sym8/client.rpt | 2 +- .../streams/application/send.to.client.with.sym8/server.rpt | 2 +- .../application/send.to.client.with.timestamp/client.rpt | 2 +- .../application/send.to.client.with.timestamp/server.rpt | 2 +- .../streams/application/send.to.client.with.true/client.rpt | 2 +- .../streams/application/send.to.client.with.true/server.rpt | 2 +- .../streams/application/send.to.client.with.ubyte/client.rpt | 2 +- .../streams/application/send.to.client.with.ubyte/server.rpt | 2 +- .../streams/application/send.to.client.with.uint/client.rpt | 2 +- .../streams/application/send.to.client.with.uint/server.rpt | 2 +- .../streams/application/send.to.client.with.uint0/client.rpt | 2 +- .../streams/application/send.to.client.with.uint0/server.rpt | 2 +- .../streams/application/send.to.client.with.ulong/client.rpt | 2 +- .../streams/application/send.to.client.with.ulong/server.rpt | 2 +- .../streams/application/send.to.client.with.ulong0/client.rpt | 2 +- .../streams/application/send.to.client.with.ulong0/server.rpt | 2 +- .../streams/application/send.to.client.with.ushort/client.rpt | 2 +- .../streams/application/send.to.client.with.ushort/server.rpt | 2 +- .../streams/application/send.to.client.with.vbin32/client.rpt | 2 +- .../streams/application/send.to.client.with.vbin32/server.rpt | 2 +- .../streams/application/send.to.client.with.vbin8/client.rpt | 2 +- .../streams/application/send.to.client.with.vbin8/server.rpt | 2 +- .../application/send.to.server.at.least.once/client.rpt | 2 +- .../application/send.to.server.at.least.once/server.rpt | 2 +- .../application/send.to.server.then.flow.with.echo/client.rpt | 2 +- .../application/send.to.server.then.flow.with.echo/server.rpt | 2 +- .../send.to.server.when.first.fragment.aborted/client.rpt | 2 +- .../send.to.server.when.first.fragment.aborted/server.rpt | 2 +- .../application/send.to.server.when.fragmented/client.rpt | 2 +- .../application/send.to.server.when.fragmented/server.rpt | 2 +- .../send.to.server.when.last.fragment.aborted/client.rpt | 2 +- .../send.to.server.when.last.fragment.aborted/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../send.to.server.when.links.interleaved/client.rpt | 2 +- .../send.to.server.when.links.interleaved/server.rpt | 2 +- .../send.to.server.when.max.frame.size.exceeded/client.rpt | 2 +- .../send.to.server.when.max.frame.size.exceeded/server.rpt | 2 +- .../send.to.server.when.middle.fragment.aborted/client.rpt | 2 +- .../send.to.server.when.middle.fragment.aborted/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../send.to.server.when.sessions.interleaved/client.rpt | 2 +- .../send.to.server.when.sessions.interleaved/server.rpt | 2 +- .../application/send.to.server.with.annotations/client.rpt | 2 +- .../application/send.to.server.with.annotations/server.rpt | 2 +- .../send.to.server.with.application.properties/client.rpt | 2 +- .../send.to.server.with.application.properties/server.rpt | 2 +- .../application/send.to.server.with.array32/client.rpt | 2 +- .../application/send.to.server.with.array32/server.rpt | 2 +- .../streams/application/send.to.server.with.array8/client.rpt | 2 +- .../streams/application/send.to.server.with.array8/server.rpt | 2 +- .../application/send.to.server.with.boolean/client.rpt | 2 +- .../application/send.to.server.with.boolean/server.rpt | 2 +- .../streams/application/send.to.server.with.byte/client.rpt | 2 +- .../streams/application/send.to.server.with.byte/server.rpt | 2 +- .../streams/application/send.to.server.with.char/client.rpt | 2 +- .../streams/application/send.to.server.with.char/server.rpt | 2 +- .../send.to.server.with.delivery.annotations/client.rpt | 2 +- .../send.to.server.with.delivery.annotations/server.rpt | 2 +- .../streams/application/send.to.server.with.false/client.rpt | 2 +- .../streams/application/send.to.server.with.false/server.rpt | 2 +- .../streams/application/send.to.server.with.footer/client.rpt | 2 +- .../streams/application/send.to.server.with.footer/server.rpt | 2 +- .../application/send.to.server.with.headers/client.rpt | 2 +- .../application/send.to.server.with.headers/server.rpt | 2 +- .../streams/application/send.to.server.with.int/client.rpt | 2 +- .../streams/application/send.to.server.with.int/server.rpt | 2 +- .../send.to.server.with.invalid.delivery.id/client.rpt | 2 +- .../send.to.server.with.invalid.delivery.id/server.rpt | 2 +- .../send.to.server.with.large.delivery.count/client.rpt | 2 +- .../send.to.server.with.large.delivery.count/server.rpt | 2 +- .../streams/application/send.to.server.with.list0/client.rpt | 2 +- .../streams/application/send.to.server.with.list0/server.rpt | 2 +- .../streams/application/send.to.server.with.list32/client.rpt | 2 +- .../streams/application/send.to.server.with.list32/server.rpt | 2 +- .../streams/application/send.to.server.with.list8/client.rpt | 2 +- .../streams/application/send.to.server.with.list8/server.rpt | 2 +- .../streams/application/send.to.server.with.long/client.rpt | 2 +- .../streams/application/send.to.server.with.long/server.rpt | 2 +- .../streams/application/send.to.server.with.map32/client.rpt | 2 +- .../streams/application/send.to.server.with.map32/server.rpt | 2 +- .../streams/application/send.to.server.with.map8/client.rpt | 2 +- .../streams/application/send.to.server.with.map8/server.rpt | 2 +- .../application/send.to.server.with.multiple.data/client.rpt | 2 +- .../application/send.to.server.with.multiple.data/server.rpt | 2 +- .../send.to.server.with.multiple.sequence/client.rpt | 2 +- .../send.to.server.with.multiple.sequence/server.rpt | 2 +- .../streams/application/send.to.server.with.null/client.rpt | 2 +- .../streams/application/send.to.server.with.null/server.rpt | 2 +- .../application/send.to.server.with.properties/client.rpt | 2 +- .../application/send.to.server.with.properties/server.rpt | 2 +- .../streams/application/send.to.server.with.short/client.rpt | 2 +- .../streams/application/send.to.server.with.short/server.rpt | 2 +- .../application/send.to.server.with.single.data/client.rpt | 2 +- .../application/send.to.server.with.single.data/server.rpt | 2 +- .../send.to.server.with.single.sequence/client.rpt | 2 +- .../send.to.server.with.single.sequence/server.rpt | 2 +- .../application/send.to.server.with.smallint/client.rpt | 2 +- .../application/send.to.server.with.smallint/server.rpt | 2 +- .../application/send.to.server.with.smalllong/client.rpt | 2 +- .../application/send.to.server.with.smalllong/server.rpt | 2 +- .../application/send.to.server.with.smalluint/client.rpt | 2 +- .../application/send.to.server.with.smalluint/server.rpt | 2 +- .../application/send.to.server.with.smallulong/client.rpt | 2 +- .../application/send.to.server.with.smallulong/server.rpt | 2 +- .../application/send.to.server.with.str32utf8/client.rpt | 2 +- .../application/send.to.server.with.str32utf8/server.rpt | 2 +- .../application/send.to.server.with.str8utf8/client.rpt | 2 +- .../application/send.to.server.with.str8utf8/server.rpt | 2 +- .../streams/application/send.to.server.with.sym32/client.rpt | 2 +- .../streams/application/send.to.server.with.sym32/server.rpt | 2 +- .../streams/application/send.to.server.with.sym8/client.rpt | 2 +- .../streams/application/send.to.server.with.sym8/server.rpt | 2 +- .../application/send.to.server.with.timestamp/client.rpt | 2 +- .../application/send.to.server.with.timestamp/server.rpt | 2 +- .../streams/application/send.to.server.with.true/client.rpt | 2 +- .../streams/application/send.to.server.with.true/server.rpt | 2 +- .../streams/application/send.to.server.with.ubyte/client.rpt | 2 +- .../streams/application/send.to.server.with.ubyte/server.rpt | 2 +- .../streams/application/send.to.server.with.uint/client.rpt | 2 +- .../streams/application/send.to.server.with.uint/server.rpt | 2 +- .../streams/application/send.to.server.with.uint0/client.rpt | 2 +- .../streams/application/send.to.server.with.uint0/server.rpt | 2 +- .../streams/application/send.to.server.with.ulong/client.rpt | 2 +- .../streams/application/send.to.server.with.ulong/server.rpt | 2 +- .../streams/application/send.to.server.with.ulong0/client.rpt | 2 +- .../streams/application/send.to.server.with.ulong0/server.rpt | 2 +- .../streams/application/send.to.server.with.ushort/client.rpt | 2 +- .../streams/application/send.to.server.with.ushort/server.rpt | 2 +- .../streams/application/send.to.server.with.vbin32/client.rpt | 2 +- .../streams/application/send.to.server.with.vbin32/server.rpt | 2 +- .../streams/application/send.to.server.with.vbin8/client.rpt | 2 +- .../streams/application/send.to.server.with.vbin8/server.rpt | 2 +- .../amqp/streams/application/server.sent.flush/client.rpt | 2 +- .../amqp/streams/application/server.sent.flush/server.rpt | 2 +- .../connection/client.idle.timeout.does.not.expire/client.rpt | 2 +- .../connection/client.idle.timeout.does.not.expire/server.rpt | 2 +- .../network/connection/client.idle.timeout.expires/client.rpt | 2 +- .../network/connection/client.idle.timeout.expires/server.rpt | 2 +- .../connection/close.exchange.server.abandoned/client.rpt | 2 +- .../connection/close.exchange.server.abandoned/server.rpt | 2 +- .../network/connection/close.exchange.simultaneous/client.rpt | 2 +- .../network/connection/close.exchange.simultaneous/server.rpt | 2 +- .../amqp/streams/network/connection/close.exchange/client.rpt | 2 +- .../amqp/streams/network/connection/close.exchange/server.rpt | 2 +- .../network/connection/header.exchange/handshake.client.rpt | 2 +- .../network/connection/header.exchange/handshake.server.rpt | 2 +- .../network/connection/open.exchange.pipelined/client.rpt | 2 +- .../network/connection/open.exchange.pipelined/server.rpt | 2 +- .../amqp/streams/network/connection/open.exchange/client.rpt | 2 +- .../amqp/streams/network/connection/open.exchange/server.rpt | 2 +- .../open.with.outgoing.locales.negotiated.default/client.rpt | 2 +- .../open.with.outgoing.locales.negotiated.default/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../network/connection/protocol.header.unmatched/client.rpt | 2 +- .../network/connection/protocol.header.unmatched/server.rpt | 2 +- .../connection/reject.incorrect.fields.key.type/client.rpt | 2 +- .../connection/reject.incorrect.fields.key.type/server.rpt | 2 +- .../sasl.exchange.then.open.exchange.pipelined/client.rpt | 2 +- .../sasl.exchange.then.open.exchange.pipelined/server.rpt | 2 +- .../amqp/streams/network/connection/sasl.exchange/client.rpt | 2 +- .../amqp/streams/network/connection/sasl.exchange/server.rpt | 2 +- .../connection/server.idle.timeout.does.not.expire/client.rpt | 2 +- .../connection/server.idle.timeout.does.not.expire/server.rpt | 2 +- .../network/connection/server.idle.timeout.expires/client.rpt | 2 +- .../network/connection/server.idle.timeout.expires/server.rpt | 2 +- .../streams/network/link/attach.as.receiver.only/client.rpt | 2 +- .../streams/network/link/attach.as.receiver.only/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../network/link/attach.as.receiver.then.sender/client.rpt | 2 +- .../network/link/attach.as.receiver.then.sender/server.rpt | 2 +- .../attach.as.receiver.when.source.does.not.exist/client.rpt | 2 +- .../attach.as.receiver.when.source.does.not.exist/server.rpt | 2 +- .../streams/network/link/attach.as.sender.only/client.rpt | 2 +- .../streams/network/link/attach.as.sender.only/server.rpt | 2 +- .../network/link/attach.as.sender.then.receiver/client.rpt | 2 +- .../network/link/attach.as.sender.then.receiver/server.rpt | 2 +- .../attach.as.sender.when.target.does.not.exist/client.rpt | 2 +- .../attach.as.sender.when.target.does.not.exist/server.rpt | 2 +- .../amqp/streams/network/link/detach.exchange/client.rpt | 2 +- .../amqp/streams/network/link/detach.exchange/server.rpt | 2 +- .../network/link/flow.with.unattached.handle/client.rpt | 2 +- .../network/link/flow.with.unattached.handle/server.rpt | 2 +- .../amqp/streams/network/link/flow.without.handle/client.rpt | 2 +- .../amqp/streams/network/link/flow.without.handle/server.rpt | 2 +- .../amqp/streams/network/link/handle.max.exceeded/client.rpt | 2 +- .../amqp/streams/network/link/handle.max.exceeded/server.rpt | 2 +- .../amqp/streams/network/link/link.credit.exceeded/client.rpt | 2 +- .../amqp/streams/network/link/link.credit.exceeded/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../network/link/reject.attach.when.handle.in.use/client.rpt | 2 +- .../network/link/reject.attach.when.handle.in.use/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../link/reject.flow.with.inconsistent.fields/client.rpt | 2 +- .../link/reject.flow.with.inconsistent.fields/server.rpt | 2 +- .../reject.transfer.with.more.inconsistent.fields/client.rpt | 2 +- .../reject.transfer.with.more.inconsistent.fields/server.rpt | 2 +- .../amqp/streams/network/link/server.sent.flush/client.rpt | 2 +- .../amqp/streams/network/link/server.sent.flush/server.rpt | 2 +- .../network/link/transfer.to.client.at.least.once/client.rpt | 2 +- .../network/link/transfer.to.client.at.least.once/server.rpt | 2 +- .../transfer.to.client.max.message.size.exceeded/client.rpt | 2 +- .../transfer.to.client.max.message.size.exceeded/server.rpt | 2 +- .../transfer.to.client.when.first.fragment.aborted/client.rpt | 2 +- .../transfer.to.client.when.first.fragment.aborted/server.rpt | 2 +- .../link/transfer.to.client.when.fragmented/client.rpt | 2 +- .../link/transfer.to.client.when.fragmented/server.rpt | 2 +- .../transfer.to.client.when.last.fragment.aborted/client.rpt | 2 +- .../transfer.to.client.when.last.fragment.aborted/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../link/transfer.to.client.when.links.interleaved/client.rpt | 2 +- .../link/transfer.to.client.when.links.interleaved/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../link/transfer.to.client.with.annotations/client.rpt | 2 +- .../link/transfer.to.client.with.annotations/server.rpt | 2 +- .../transfer.to.client.with.application.properties/client.rpt | 2 +- .../transfer.to.client.with.application.properties/server.rpt | 2 +- .../network/link/transfer.to.client.with.array32/client.rpt | 2 +- .../network/link/transfer.to.client.with.array32/server.rpt | 2 +- .../network/link/transfer.to.client.with.array8/client.rpt | 2 +- .../network/link/transfer.to.client.with.array8/server.rpt | 2 +- .../network/link/transfer.to.client.with.boolean/client.rpt | 2 +- .../network/link/transfer.to.client.with.boolean/server.rpt | 2 +- .../network/link/transfer.to.client.with.byte/client.rpt | 2 +- .../network/link/transfer.to.client.with.byte/server.rpt | 2 +- .../network/link/transfer.to.client.with.char/client.rpt | 2 +- .../network/link/transfer.to.client.with.char/server.rpt | 2 +- .../transfer.to.client.with.delivery.annotations/client.rpt | 2 +- .../transfer.to.client.with.delivery.annotations/server.rpt | 2 +- .../network/link/transfer.to.client.with.false/client.rpt | 2 +- .../network/link/transfer.to.client.with.false/server.rpt | 2 +- .../network/link/transfer.to.client.with.footer/client.rpt | 2 +- .../network/link/transfer.to.client.with.footer/server.rpt | 2 +- .../network/link/transfer.to.client.with.headers/client.rpt | 2 +- .../network/link/transfer.to.client.with.headers/server.rpt | 2 +- .../network/link/transfer.to.client.with.int/client.rpt | 2 +- .../network/link/transfer.to.client.with.int/server.rpt | 2 +- .../network/link/transfer.to.client.with.list0/client.rpt | 2 +- .../network/link/transfer.to.client.with.list0/server.rpt | 2 +- .../network/link/transfer.to.client.with.list32/client.rpt | 2 +- .../network/link/transfer.to.client.with.list32/server.rpt | 2 +- .../network/link/transfer.to.client.with.list8/client.rpt | 2 +- .../network/link/transfer.to.client.with.list8/server.rpt | 2 +- .../network/link/transfer.to.client.with.long/client.rpt | 2 +- .../network/link/transfer.to.client.with.long/server.rpt | 2 +- .../network/link/transfer.to.client.with.map32/client.rpt | 2 +- .../network/link/transfer.to.client.with.map32/server.rpt | 2 +- .../network/link/transfer.to.client.with.map8/client.rpt | 2 +- .../network/link/transfer.to.client.with.map8/server.rpt | 2 +- .../link/transfer.to.client.with.multiple.data/client.rpt | 2 +- .../link/transfer.to.client.with.multiple.data/server.rpt | 2 +- .../link/transfer.to.client.with.multiple.sequence/client.rpt | 2 +- .../link/transfer.to.client.with.multiple.sequence/server.rpt | 2 +- .../network/link/transfer.to.client.with.null/client.rpt | 2 +- .../network/link/transfer.to.client.with.null/server.rpt | 2 +- .../link/transfer.to.client.with.properties/client.rpt | 2 +- .../link/transfer.to.client.with.properties/server.rpt | 2 +- .../network/link/transfer.to.client.with.short/client.rpt | 2 +- .../network/link/transfer.to.client.with.short/server.rpt | 2 +- .../link/transfer.to.client.with.single.data/client.rpt | 2 +- .../link/transfer.to.client.with.single.data/server.rpt | 2 +- .../link/transfer.to.client.with.single.sequence/client.rpt | 2 +- .../link/transfer.to.client.with.single.sequence/server.rpt | 2 +- .../network/link/transfer.to.client.with.smallint/client.rpt | 2 +- .../network/link/transfer.to.client.with.smallint/server.rpt | 2 +- .../network/link/transfer.to.client.with.smalllong/client.rpt | 2 +- .../network/link/transfer.to.client.with.smalllong/server.rpt | 2 +- .../network/link/transfer.to.client.with.smalluint/client.rpt | 2 +- .../network/link/transfer.to.client.with.smalluint/server.rpt | 2 +- .../link/transfer.to.client.with.smallulong/client.rpt | 2 +- .../link/transfer.to.client.with.smallulong/server.rpt | 2 +- .../network/link/transfer.to.client.with.str32utf8/client.rpt | 2 +- .../network/link/transfer.to.client.with.str32utf8/server.rpt | 2 +- .../network/link/transfer.to.client.with.str8utf8/client.rpt | 2 +- .../network/link/transfer.to.client.with.str8utf8/server.rpt | 2 +- .../network/link/transfer.to.client.with.sym32/client.rpt | 2 +- .../network/link/transfer.to.client.with.sym32/server.rpt | 2 +- .../network/link/transfer.to.client.with.sym8/client.rpt | 2 +- .../network/link/transfer.to.client.with.sym8/server.rpt | 2 +- .../network/link/transfer.to.client.with.timestamp/client.rpt | 2 +- .../network/link/transfer.to.client.with.timestamp/server.rpt | 2 +- .../network/link/transfer.to.client.with.true/client.rpt | 2 +- .../network/link/transfer.to.client.with.true/server.rpt | 2 +- .../network/link/transfer.to.client.with.ubyte/client.rpt | 2 +- .../network/link/transfer.to.client.with.ubyte/server.rpt | 2 +- .../network/link/transfer.to.client.with.uint/client.rpt | 2 +- .../network/link/transfer.to.client.with.uint/server.rpt | 2 +- .../network/link/transfer.to.client.with.uint0/client.rpt | 2 +- .../network/link/transfer.to.client.with.uint0/server.rpt | 2 +- .../network/link/transfer.to.client.with.ulong/client.rpt | 2 +- .../network/link/transfer.to.client.with.ulong/server.rpt | 2 +- .../network/link/transfer.to.client.with.ulong0/client.rpt | 2 +- .../network/link/transfer.to.client.with.ulong0/server.rpt | 2 +- .../network/link/transfer.to.client.with.ushort/client.rpt | 2 +- .../network/link/transfer.to.client.with.ushort/server.rpt | 2 +- .../network/link/transfer.to.client.with.vbin32/client.rpt | 2 +- .../network/link/transfer.to.client.with.vbin32/server.rpt | 2 +- .../network/link/transfer.to.client.with.vbin8/client.rpt | 2 +- .../network/link/transfer.to.client.with.vbin8/server.rpt | 2 +- .../network/link/transfer.to.server.at.least.once/client.rpt | 2 +- .../network/link/transfer.to.server.at.least.once/server.rpt | 2 +- .../transfer.to.server.max.message.size.exceeded/client.rpt | 2 +- .../transfer.to.server.max.message.size.exceeded/server.rpt | 2 +- .../transfer.to.server.then.flow.with.echo.on.link/client.rpt | 2 +- .../transfer.to.server.then.flow.with.echo.on.link/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../transfer.to.server.when.first.fragment.aborted/client.rpt | 2 +- .../transfer.to.server.when.first.fragment.aborted/server.rpt | 2 +- .../link/transfer.to.server.when.fragmented/client.rpt | 2 +- .../link/transfer.to.server.when.fragmented/server.rpt | 2 +- .../transfer.to.server.when.last.fragment.aborted/client.rpt | 2 +- .../transfer.to.server.when.last.fragment.aborted/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../link/transfer.to.server.when.links.interleaved/client.rpt | 2 +- .../link/transfer.to.server.when.links.interleaved/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../link/transfer.to.server.with.annotations/client.rpt | 2 +- .../link/transfer.to.server.with.annotations/server.rpt | 2 +- .../transfer.to.server.with.application.properties/client.rpt | 2 +- .../transfer.to.server.with.application.properties/server.rpt | 2 +- .../network/link/transfer.to.server.with.array32/client.rpt | 2 +- .../network/link/transfer.to.server.with.array32/server.rpt | 2 +- .../network/link/transfer.to.server.with.array8/client.rpt | 2 +- .../network/link/transfer.to.server.with.array8/server.rpt | 2 +- .../network/link/transfer.to.server.with.boolean/client.rpt | 2 +- .../network/link/transfer.to.server.with.boolean/server.rpt | 2 +- .../network/link/transfer.to.server.with.byte/client.rpt | 2 +- .../network/link/transfer.to.server.with.byte/server.rpt | 2 +- .../network/link/transfer.to.server.with.char/client.rpt | 2 +- .../network/link/transfer.to.server.with.char/server.rpt | 2 +- .../transfer.to.server.with.delivery.annotations/client.rpt | 2 +- .../transfer.to.server.with.delivery.annotations/server.rpt | 2 +- .../network/link/transfer.to.server.with.false/client.rpt | 2 +- .../network/link/transfer.to.server.with.false/server.rpt | 2 +- .../network/link/transfer.to.server.with.footer/client.rpt | 2 +- .../network/link/transfer.to.server.with.footer/server.rpt | 2 +- .../network/link/transfer.to.server.with.headers/client.rpt | 2 +- .../network/link/transfer.to.server.with.headers/server.rpt | 2 +- .../network/link/transfer.to.server.with.int/client.rpt | 2 +- .../network/link/transfer.to.server.with.int/server.rpt | 2 +- .../transfer.to.server.with.invalid.delivery.id/client.rpt | 2 +- .../transfer.to.server.with.invalid.delivery.id/server.rpt | 2 +- .../transfer.to.server.with.large.delivery.count/client.rpt | 2 +- .../transfer.to.server.with.large.delivery.count/server.rpt | 2 +- .../transfer.to.server.with.large.next.incoming.id/client.rpt | 2 +- .../transfer.to.server.with.large.next.incoming.id/server.rpt | 2 +- .../network/link/transfer.to.server.with.list0/client.rpt | 2 +- .../network/link/transfer.to.server.with.list0/server.rpt | 2 +- .../network/link/transfer.to.server.with.list32/client.rpt | 2 +- .../network/link/transfer.to.server.with.list32/server.rpt | 2 +- .../network/link/transfer.to.server.with.list8/client.rpt | 2 +- .../network/link/transfer.to.server.with.list8/server.rpt | 2 +- .../network/link/transfer.to.server.with.long/client.rpt | 2 +- .../network/link/transfer.to.server.with.long/server.rpt | 2 +- .../network/link/transfer.to.server.with.map32/client.rpt | 2 +- .../network/link/transfer.to.server.with.map32/server.rpt | 2 +- .../network/link/transfer.to.server.with.map8/client.rpt | 2 +- .../network/link/transfer.to.server.with.map8/server.rpt | 2 +- .../link/transfer.to.server.with.multiple.data/client.rpt | 2 +- .../link/transfer.to.server.with.multiple.data/server.rpt | 2 +- .../link/transfer.to.server.with.multiple.sequence/client.rpt | 2 +- .../link/transfer.to.server.with.multiple.sequence/server.rpt | 2 +- .../network/link/transfer.to.server.with.null/client.rpt | 2 +- .../network/link/transfer.to.server.with.null/server.rpt | 2 +- .../link/transfer.to.server.with.properties/client.rpt | 2 +- .../link/transfer.to.server.with.properties/server.rpt | 2 +- .../network/link/transfer.to.server.with.short/client.rpt | 2 +- .../network/link/transfer.to.server.with.short/server.rpt | 2 +- .../link/transfer.to.server.with.single.data/client.rpt | 2 +- .../link/transfer.to.server.with.single.data/server.rpt | 2 +- .../link/transfer.to.server.with.single.sequence/client.rpt | 2 +- .../link/transfer.to.server.with.single.sequence/server.rpt | 2 +- .../network/link/transfer.to.server.with.smallint/client.rpt | 2 +- .../network/link/transfer.to.server.with.smallint/server.rpt | 2 +- .../network/link/transfer.to.server.with.smalllong/client.rpt | 2 +- .../network/link/transfer.to.server.with.smalllong/server.rpt | 2 +- .../network/link/transfer.to.server.with.smalluint/client.rpt | 2 +- .../network/link/transfer.to.server.with.smalluint/server.rpt | 2 +- .../link/transfer.to.server.with.smallulong/client.rpt | 2 +- .../link/transfer.to.server.with.smallulong/server.rpt | 2 +- .../network/link/transfer.to.server.with.str32utf8/client.rpt | 2 +- .../network/link/transfer.to.server.with.str32utf8/server.rpt | 2 +- .../network/link/transfer.to.server.with.str8utf8/client.rpt | 2 +- .../network/link/transfer.to.server.with.str8utf8/server.rpt | 2 +- .../network/link/transfer.to.server.with.sym32/client.rpt | 2 +- .../network/link/transfer.to.server.with.sym32/server.rpt | 2 +- .../network/link/transfer.to.server.with.sym8/client.rpt | 2 +- .../network/link/transfer.to.server.with.sym8/server.rpt | 2 +- .../network/link/transfer.to.server.with.timestamp/client.rpt | 2 +- .../network/link/transfer.to.server.with.timestamp/server.rpt | 2 +- .../network/link/transfer.to.server.with.true/client.rpt | 2 +- .../network/link/transfer.to.server.with.true/server.rpt | 2 +- .../network/link/transfer.to.server.with.ubyte/client.rpt | 2 +- .../network/link/transfer.to.server.with.ubyte/server.rpt | 2 +- .../network/link/transfer.to.server.with.uint/client.rpt | 2 +- .../network/link/transfer.to.server.with.uint/server.rpt | 2 +- .../network/link/transfer.to.server.with.uint0/client.rpt | 2 +- .../network/link/transfer.to.server.with.uint0/server.rpt | 2 +- .../network/link/transfer.to.server.with.ulong/client.rpt | 2 +- .../network/link/transfer.to.server.with.ulong/server.rpt | 2 +- .../network/link/transfer.to.server.with.ulong0/client.rpt | 2 +- .../network/link/transfer.to.server.with.ulong0/server.rpt | 2 +- .../network/link/transfer.to.server.with.ushort/client.rpt | 2 +- .../network/link/transfer.to.server.with.ushort/server.rpt | 2 +- .../network/link/transfer.to.server.with.vbin32/client.rpt | 2 +- .../network/link/transfer.to.server.with.vbin32/server.rpt | 2 +- .../network/link/transfer.to.server.with.vbin8/client.rpt | 2 +- .../network/link/transfer.to.server.with.vbin8/server.rpt | 2 +- .../network/session/begin.channel.max.exceeded/client.rpt | 2 +- .../network/session/begin.channel.max.exceeded/server.rpt | 2 +- .../amqp/streams/network/session/begin.exchange/client.rpt | 2 +- .../amqp/streams/network/session/begin.exchange/server.rpt | 2 +- .../network/session/begin.multiple.sessions/client.rpt | 2 +- .../network/session/begin.multiple.sessions/server.rpt | 2 +- .../amqp/streams/network/session/begin.then.close/client.rpt | 2 +- .../amqp/streams/network/session/begin.then.close/server.rpt | 2 +- .../amqp/streams/network/session/discard.after.end/client.rpt | 2 +- .../amqp/streams/network/session/discard.after.end/server.rpt | 2 +- .../network/session/end.exchange.simultaneous/client.rpt | 2 +- .../network/session/end.exchange.simultaneous/server.rpt | 2 +- .../amqp/streams/network/session/end.exchange/client.rpt | 2 +- .../amqp/streams/network/session/end.exchange/server.rpt | 2 +- .../network/session/incoming.window.exceeded/client.rpt | 2 +- .../network/session/incoming.window.exceeded/server.rpt | 2 +- .../network/session/incoming.window.reduced/client.rpt | 2 +- .../network/session/incoming.window.reduced/server.rpt | 2 +- .../streams/network/session/reject.errant.link/client.rpt | 2 +- .../streams/network/session/reject.errant.link/server.rpt | 2 +- .../session/send.to.client.multiple.sessions/client.rpt | 2 +- .../session/send.to.client.multiple.sessions/server.rpt | 3 +-- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../transfer.to.client.when.sessions.interleaved/client.rpt | 2 +- .../transfer.to.client.when.sessions.interleaved/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../transfer.to.server.when.sessions.interleaved/client.rpt | 2 +- .../transfer.to.server.when.sessions.interleaved/server.rpt | 2 +- .../aklivity/zilla/specs/binding/amqp/config/SchemaTest.java | 2 +- .../zilla/specs/binding/amqp/internal/AmqpFunctionsTest.java | 2 +- .../specs/binding/amqp/streams/application/StreamIT.java | 2 +- .../specs/binding/amqp/streams/network/ConnectionIT.java | 2 +- .../zilla/specs/binding/amqp/streams/network/LinkIT.java | 2 +- .../zilla/specs/binding/amqp/streams/network/SessionIT.java | 2 +- .../runtime/binding/amqp/config/AmqpConditionConfig.java | 2 +- .../zilla/runtime/binding/amqp/internal/AmqpBinding.java | 2 +- .../runtime/binding/amqp/internal/AmqpBindingContext.java | 2 +- .../runtime/binding/amqp/internal/AmqpBindingFactorySpi.java | 2 +- .../runtime/binding/amqp/internal/AmqpConfiguration.java | 2 +- .../binding/amqp/internal/config/AmqpBindingConfig.java | 2 +- .../amqp/internal/config/AmqpConditionConfigAdapter.java | 2 +- .../binding/amqp/internal/config/AmqpConditionMatcher.java | 2 +- .../runtime/binding/amqp/internal/config/AmqpRouteConfig.java | 2 +- .../binding/amqp/internal/stream/AmqpConnectionState.java | 2 +- .../binding/amqp/internal/stream/AmqpServerFactory.java | 2 +- .../binding/amqp/internal/stream/AmqpSessionState.java | 2 +- .../zilla/runtime/binding/amqp/internal/stream/AmqpState.java | 2 +- .../binding/amqp/internal/stream/AmqpStreamFactory.java | 2 +- .../binding/amqp/internal/stream/AmqpTransferFlags.java | 2 +- .../runtime/binding/amqp/internal/util/AmqpTypeUtil.java | 2 +- incubator/binding-amqp/src/main/moditect/module-info.java | 2 +- incubator/binding-amqp/src/main/zilla/protocol.idl | 2 +- .../amqp/internal/config/AmqpConditionConfigAdapterTest.java | 2 +- .../binding/amqp/internal/config/AmqpConfigurationTest.java | 2 +- .../binding/amqp/internal/stream/AmqpConnectionStateTest.java | 2 +- .../binding/amqp/internal/stream/AmqpSessionStateTest.java | 2 +- .../binding/amqp/internal/stream/server/AdvisoryIT.java | 2 +- .../binding/amqp/internal/stream/server/AmqpServerIT.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../zilla/specs/binding/pgsql/kafka/config/proxy.yaml | 2 +- .../binding/pgsql/kafka/streams/kafka/create.topic/client.rpt | 2 +- .../binding/pgsql/kafka/streams/kafka/create.topic/server.rpt | 2 +- .../binding/pgsql/kafka/streams/kafka/drop.topic/client.rpt | 2 +- .../binding/pgsql/kafka/streams/kafka/drop.topic/server.rpt | 2 +- .../binding/pgsql/kafka/streams/pgsql/create.topic/client.rpt | 2 +- .../binding/pgsql/kafka/streams/pgsql/create.topic/server.rpt | 2 +- .../binding/pgsql/kafka/streams/pgsql/drop.topic/client.rpt | 2 +- .../binding/pgsql/kafka/streams/pgsql/drop.topic/server.rpt | 2 +- .../zilla/specs/binding/pgsql/kafka/streams/KafkaIT.java | 2 +- .../zilla/specs/binding/pgsql/kafka/streams/PgsqlIT.java | 2 +- .../binding/pgsql/kafka/internal/PgsqlKafkaBinding.java | 2 +- .../pgsql/kafka/internal/PgsqlKafkaBindingContext.java | 2 +- .../pgsql/kafka/internal/PgsqlKafkaBindingFactorySpi.java | 2 +- .../binding/pgsql/kafka/internal/PgsqlKafkaConfiguration.java | 2 +- .../pgsql/kafka/internal/config/PgsqlKafkaBindingConfig.java | 2 +- .../pgsql/kafka/internal/config/PgsqlKafkaRouteConfig.java | 2 +- .../kafka/internal/schema/PgsqlKafkaAvroSchemaTemplate.java | 2 +- .../internal/schema/PgsqlKafkaKeyAvroSchemaTemplate.java | 2 +- .../internal/schema/PgsqlKafkaValueAvroSchemaTemplate.java | 2 +- .../pgsql/kafka/internal/stream/PgsqlKafkaCommandType.java | 2 +- .../kafka/internal/stream/PgsqlKafkaCompletionCommand.java | 2 +- .../pgsql/kafka/internal/stream/PgsqlKafkaProxyFactory.java | 2 +- .../binding/pgsql/kafka/internal/stream/PgsqlKafkaState.java | 2 +- .../pgsql/kafka/internal/stream/PgsqlKafkaStreamFactory.java | 2 +- .../binding-pgsql-kafka/src/main/moditect/module-info.java | 2 +- .../runtime/binding/pgsql/kafka/internal/stream/ProxyIT.java | 2 +- .../io/aklivity/zilla/specs/binding/pgsql/PgsqlFunctions.java | 2 +- .../binding-pgsql.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/pgsql.idl | 2 +- .../io/aklivity/zilla/specs/binding/pgsql/config/client.yaml | 2 +- .../io/aklivity/zilla/specs/binding/pgsql/config/server.yaml | 2 +- .../pgsql/streams/application/cancel.request/client.rpt | 2 +- .../pgsql/streams/application/cancel.request/server.rpt | 2 +- .../streams/application/client.sent.read.abort/client.rpt | 2 +- .../streams/application/client.sent.read.abort/server.rpt | 2 +- .../streams/application/client.sent.write.abort/client.rpt | 2 +- .../streams/application/client.sent.write.abort/server.rpt | 2 +- .../streams/application/create.table.fragmented/client.rpt | 2 +- .../streams/application/create.table.fragmented/server.rpt | 2 +- .../application/create.table.with.primary.key/client.rpt | 2 +- .../application/create.table.with.primary.key/server.rpt | 2 +- .../streams/application/select.table.with.error/client.rpt | 2 +- .../streams/application/select.table.with.error/server.rpt | 2 +- .../binding/pgsql/streams/application/select.table/client.rpt | 2 +- .../binding/pgsql/streams/application/select.table/server.rpt | 2 +- .../binding/pgsql/streams/application/ssl.request/client.rpt | 2 +- .../binding/pgsql/streams/application/ssl.request/server.rpt | 2 +- .../pgsql/streams/application/termination.request/client.rpt | 2 +- .../pgsql/streams/application/termination.request/server.rpt | 2 +- .../binding/pgsql/streams/network/cancel.request/client.rpt | 2 +- .../binding/pgsql/streams/network/cancel.request/server.rpt | 2 +- .../pgsql/streams/network/client.sent.read.abort/client.rpt | 2 +- .../pgsql/streams/network/client.sent.read.abort/server.rpt | 2 +- .../pgsql/streams/network/client.sent.write.abort/client.rpt | 2 +- .../pgsql/streams/network/client.sent.write.abort/server.rpt | 2 +- .../pgsql/streams/network/create.table.fragmented/client.rpt | 2 +- .../pgsql/streams/network/create.table.fragmented/server.rpt | 2 +- .../streams/network/create.table.with.primary.key/client.rpt | 2 +- .../streams/network/create.table.with.primary.key/server.rpt | 2 +- .../pgsql/streams/network/select.table.with.error/client.rpt | 2 +- .../pgsql/streams/network/select.table.with.error/server.rpt | 2 +- .../binding/pgsql/streams/network/select.table/client.rpt | 2 +- .../binding/pgsql/streams/network/select.table/server.rpt | 2 +- .../binding/pgsql/streams/network/ssl.request/client.rpt | 2 +- .../binding/pgsql/streams/network/ssl.request/server.rpt | 2 +- .../pgsql/streams/network/termination.request/client.rpt | 2 +- .../pgsql/streams/network/termination.request/server.rpt | 2 +- .../zilla/specs/binding/pgsql/streams/ApplicationIT.java | 2 +- .../aklivity/zilla/specs/binding/pgsql/streams/NetworkIT.java | 2 +- .../binding/pgsql/streams/internal/PgsqlFunctionsTest.java | 2 +- .../zilla/runtime/binding/pgsql/parser/PostgreSqlLexer.g4 | 3 +-- .../zilla/runtime/binding/pgsql/parser/PostgreSqlParser.g4 | 3 +-- .../zilla/runtime/binding/pgsql/internal/PgsqlBinding.java | 2 +- .../runtime/binding/pgsql/internal/PgsqlBindingContext.java | 2 +- .../binding/pgsql/internal/PgsqlBindingFactorySpi.java | 2 +- .../runtime/binding/pgsql/internal/PgsqlConfiguration.java | 2 +- .../binding/pgsql/internal/config/PgsqlBindingConfig.java | 2 +- .../binding/pgsql/internal/config/PgsqlRouteConfig.java | 2 +- .../binding/pgsql/internal/stream/PgsqlClientFactory.java | 2 +- .../binding/pgsql/internal/stream/PgsqlServerFactory.java | 2 +- .../runtime/binding/pgsql/internal/stream/PgsqlState.java | 2 +- .../binding/pgsql/internal/stream/PgsqlStreamFactory.java | 2 +- .../binding/pgsql/parser/LexerDispatchingErrorListener.java | 2 +- .../binding/pgsql/parser/ParserDispatchingErrorListener.java | 2 +- .../zilla/runtime/binding/pgsql/parser/PgsqlParser.java | 2 +- .../runtime/binding/pgsql/parser/PostgreSqlLexerBase.java | 2 +- .../runtime/binding/pgsql/parser/PostgreSqlParserBase.java | 2 +- .../binding/pgsql/parser/listener/SqlCommandListener.java | 2 +- .../pgsql/parser/listener/SqlCreateFunctionListener.java | 2 +- .../parser/listener/SqlCreateMaterializedViewListener.java | 2 +- .../pgsql/parser/listener/SqlCreateStreamListener.java | 2 +- .../pgsql/parser/listener/SqlCreateTableTopicListener.java | 2 +- .../binding/pgsql/parser/listener/SqlDropListener.java | 2 +- .../runtime/binding/pgsql/parser/model/FunctionArgument.java | 2 +- .../runtime/binding/pgsql/parser/model/FunctionInfo.java | 2 +- .../zilla/runtime/binding/pgsql/parser/model/StreamInfo.java | 2 +- .../zilla/runtime/binding/pgsql/parser/model/TableInfo.java | 2 +- .../zilla/runtime/binding/pgsql/parser/model/ViewInfo.java | 2 +- incubator/binding-pgsql/src/main/moditect/module-info.java | 2 +- incubator/binding-pgsql/src/main/zilla/protocol.idl | 2 +- .../zilla/runtime/binding/pgsql/internal/stream/ClientIT.java | 2 +- .../zilla/runtime/binding/pgsql/internal/stream/ServerIT.java | 2 +- .../zilla/runtime/binding/pgsql/parser/PgsqlParserTest.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../zilla/specs/binding/risingwave/config/proxy.function.yaml | 2 +- .../specs/binding/risingwave/config/proxy.risingwave.yaml | 2 +- .../aklivity/zilla/specs/binding/risingwave/config/proxy.yaml | 2 +- .../effective/create.function.embedded.python/client.rpt | 2 +- .../effective/create.function.embedded.python/server.rpt | 2 +- .../streams/effective/create.function.embedded/client.rpt | 2 +- .../streams/effective/create.function.embedded/server.rpt | 2 +- .../streams/effective/create.function.python/client.rpt | 2 +- .../streams/effective/create.function.python/server.rpt | 2 +- .../effective/create.function.return.struct/client.rpt | 2 +- .../effective/create.function.return.struct/server.rpt | 2 +- .../streams/effective/create.function.return.table/client.rpt | 2 +- .../streams/effective/create.function.return.table/server.rpt | 2 +- .../risingwave/streams/effective/create.function/client.rpt | 2 +- .../risingwave/streams/effective/create.function/server.rpt | 2 +- .../streams/effective/create.materialized.view/client.rpt | 2 +- .../streams/effective/create.materialized.view/server.rpt | 2 +- .../streams/effective/create.stream.with.includes/client.rpt | 2 +- .../streams/effective/create.stream.with.includes/server.rpt | 2 +- .../risingwave/streams/effective/create.stream/client.rpt | 2 +- .../risingwave/streams/effective/create.stream/server.rpt | 2 +- .../risingwave/streams/effective/create.streams/client.rpt | 2 +- .../risingwave/streams/effective/create.streams/server.rpt | 2 +- .../create.table.with.primary.key.and.includes/client.rpt | 2 +- .../create.table.with.primary.key.and.includes/server.rpt | 2 +- .../effective/create.table.with.primary.key/client.rpt | 2 +- .../effective/create.table.with.primary.key/server.rpt | 2 +- .../query.with.multiple.statements.errored/client.rpt | 2 +- .../query.with.multiple.statements.errored/server.rpt | 2 +- .../effective/query.with.multiple.statements/client.rpt | 2 +- .../effective/query.with.multiple.statements/server.rpt | 2 +- .../risingwave/streams/effective/set.variable/client.rpt | 2 +- .../risingwave/streams/effective/set.variable/server.rpt | 2 +- .../streams/effective/show.tables.with.newline/client.rpt | 2 +- .../streams/effective/show.tables.with.newline/server.rpt | 2 +- .../streams/pgsql/create.function.embedded.python/client.rpt | 2 +- .../streams/pgsql/create.function.embedded.python/server.rpt | 2 +- .../streams/pgsql/create.function.embedded/client.rpt | 2 +- .../streams/pgsql/create.function.embedded/server.rpt | 2 +- .../streams/pgsql/create.function.python/client.rpt | 2 +- .../streams/pgsql/create.function.python/server.rpt | 2 +- .../streams/pgsql/create.function.return.struct/client.rpt | 2 +- .../streams/pgsql/create.function.return.struct/server.rpt | 2 +- .../streams/pgsql/create.function.return.table/client.rpt | 2 +- .../streams/pgsql/create.function.return.table/server.rpt | 2 +- .../risingwave/streams/pgsql/create.function/client.rpt | 2 +- .../risingwave/streams/pgsql/create.function/server.rpt | 2 +- .../streams/pgsql/create.materialized.view/client.rpt | 2 +- .../streams/pgsql/create.materialized.view/server.rpt | 2 +- .../streams/pgsql/create.stream.with.includes/client.rpt | 2 +- .../streams/pgsql/create.stream.with.includes/server.rpt | 2 +- .../binding/risingwave/streams/pgsql/create.stream/client.rpt | 2 +- .../binding/risingwave/streams/pgsql/create.stream/server.rpt | 2 +- .../risingwave/streams/pgsql/create.streams/client.rpt | 2 +- .../risingwave/streams/pgsql/create.streams/server.rpt | 2 +- .../create.table.with.primary.key.and.includes/client.rpt | 2 +- .../create.table.with.primary.key.and.includes/server.rpt | 2 +- .../streams/pgsql/create.table.with.primary.key/client.rpt | 2 +- .../streams/pgsql/create.table.with.primary.key/server.rpt | 2 +- .../pgsql/query.with.multiple.statements.errored/client.rpt | 2 +- .../pgsql/query.with.multiple.statements.errored/server.rpt | 2 +- .../streams/pgsql/query.with.multiple.statements/client.rpt | 2 +- .../streams/pgsql/query.with.multiple.statements/server.rpt | 2 +- .../binding/risingwave/streams/pgsql/set.variable/client.rpt | 2 +- .../binding/risingwave/streams/pgsql/set.variable/server.rpt | 2 +- .../streams/pgsql/show.tables.with.newline/client.rpt | 2 +- .../streams/pgsql/show.tables.with.newline/server.rpt | 2 +- .../zilla/specs/binding/risingwave/config/SchemaTest.java | 2 +- .../zilla/specs/binding/risingwave/streams/EffectiveIT.java | 2 +- .../zilla/specs/binding/risingwave/streams/PgsqlIT.java | 2 +- .../binding/risingwave/config/RisingwaveConditionConfig.java | 2 +- .../risingwave/config/RisingwaveConditionConfigBuilder.java | 2 +- .../binding/risingwave/config/RisingwaveKafkaConfig.java | 2 +- .../risingwave/config/RisingwaveKafkaConfigBuilder.java | 2 +- .../risingwave/config/RisingwaveKafkaPropertiesConfig.java | 2 +- .../config/RisingwaveKafkaPropertiesConfigBuilder.java | 2 +- .../risingwave/config/RisingwaveOptionConfigBuilder.java | 2 +- .../binding/risingwave/config/RisingwaveOptionsConfig.java | 2 +- .../binding/risingwave/config/RisingwaveUdfConfig.java | 2 +- .../binding/risingwave/config/RisingwaveUdfConfigBuilder.java | 2 +- .../binding/risingwave/internal/RisingwaveBinding.java | 2 +- .../binding/risingwave/internal/RisingwaveBindingContext.java | 2 +- .../risingwave/internal/RisingwaveBindingFactorySpi.java | 2 +- .../binding/risingwave/internal/RisingwaveConfiguration.java | 2 +- .../risingwave/internal/config/RisingwaveBindingConfig.java | 2 +- .../risingwave/internal/config/RisingwaveCommandType.java | 2 +- .../internal/config/RisingwaveConditionConfigAdapter.java | 2 +- .../internal/config/RisingwaveConditionMatcher.java | 2 +- .../internal/config/RisingwaveKafkaConfigAdapter.java | 2 +- .../config/RisingwaveKafkaPropertiesConfigAdapter.java | 2 +- .../internal/config/RisingwaveOptionsConfigAdapter.java | 2 +- .../risingwave/internal/config/RisingwaveRouteConfig.java | 2 +- .../internal/config/RisingwaveUdfConfigAdapter.java | 2 +- .../internal/statement/RisingwaveCommandTemplate.java | 2 +- .../internal/statement/RisingwaveCreateFunctionTemplate.java | 2 +- .../statement/RisingwaveCreateMaterializedViewTemplate.java | 2 +- .../internal/statement/RisingwaveCreateSinkTemplate.java | 2 +- .../internal/statement/RisingwaveCreateSourceTemplate.java | 2 +- .../internal/statement/RisingwaveCreateTableTemplate.java | 2 +- .../internal/statement/RisingwaveCreateTopicTemplate.java | 2 +- .../internal/statement/RisingwaveDescribeTemplate.java | 2 +- .../internal/statement/RisingwavePgsqlTypeMapping.java | 2 +- .../internal/stream/RisingwaveCompletionCommand.java | 2 +- .../risingwave/internal/stream/RisingwaveProxyFactory.java | 2 +- .../binding/risingwave/internal/stream/RisingwaveState.java | 2 +- .../risingwave/internal/stream/RisingwaveStreamFactory.java | 2 +- .../binding-risingwave/src/main/moditect/module-info.java | 4 ++-- .../internal/config/RisingwaveOptionsConfigAdapterTest.java | 2 +- .../statement/RisingwaveCreateFunctionTemplateTest.java | 2 +- .../RisingwaveCreateMaterializedViewTemplateTest.java | 2 +- .../statement/RisingwaveCreateSourceTemplateTest.java | 2 +- .../internal/statement/RisingwaveCreateTableTemplateTest.java | 2 +- .../runtime/binding/risingwave/internal/stream/ProxyIT.java | 2 +- .../runtime/command/dump/internal/ZillaDumpCommandSpi.java | 2 +- .../command/dump/internal/airline/ZillaDumpCommand.java | 2 +- .../airline/ZillaDumpCommandPathConverterProvider.java | 2 +- .../command/dump/internal/airline/labels/LabelManager.java | 2 +- .../runtime/command/dump/internal/airline/layouts/Layout.java | 2 +- .../command/dump/internal/airline/layouts/StreamsLayout.java | 2 +- .../dump/internal/airline/spy/OneToOneRingBufferSpy.java | 2 +- .../command/dump/internal/airline/spy/RingBufferSpy.java | 2 +- incubator/command-dump/src/main/moditect/module-info.java | 2 +- .../command-dump/src/main/resources/META-INF/zilla/pcap.idl | 2 +- .../zilla/runtime/command/dump/internal/airline/zilla.lua | 3 +-- .../streams/application/connect.as.receiver.only/client.rpt | 2 +- .../streams/application/connect.as.receiver.only/server.rpt | 2 +- .../streams/network/link/attach.as.receiver.only/client.rpt | 2 +- .../streams/network/link/attach.as.receiver.only/server.rpt | 2 +- .../streams/application/read.file.extension/client.rpt | 2 +- .../streams/application/read.file.extension/server.rpt | 2 +- .../application/server.stream.rpc/message.exchange/client.rpt | 2 +- .../application/server.stream.rpc/message.exchange/server.rpt | 2 +- .../authorization/challenge.credentials.header/client.rpt | 2 +- .../authorization/challenge.credentials.header/server.rpt | 2 +- .../authorization/challenge.credentials.header/client.rpt | 2 +- .../authorization/challenge.credentials.header/server.rpt | 2 +- .../streams/application/describe/topic.config.info/client.rpt | 2 +- .../streams/application/describe/topic.config.info/server.rpt | 2 +- .../streams/application/fetch/partition.offset/client.rpt | 2 +- .../streams/application/fetch/partition.offset/server.rpt | 2 +- .../streams/application/group/rebalance.sync.group/client.rpt | 2 +- .../streams/application/group/rebalance.sync.group/server.rpt | 2 +- .../application/init.producer.id/produce.new.id/client.rpt | 2 +- .../application/init.producer.id/produce.new.id/server.rpt | 2 +- .../application/merged/merged.fetch.filter.sync/client.rpt | 2 +- .../application/merged/merged.fetch.filter.sync/server.rpt | 2 +- .../streams/application/meta/topic.partition.info/client.rpt | 2 +- .../streams/application/meta/topic.partition.info/server.rpt | 2 +- .../offset.commit/update.topic.partition.offset/client.rpt | 2 +- .../offset.commit/update.topic.partition.offset/server.rpt | 2 +- .../application/offset.fetch/topic.offset.info/client.rpt | 2 +- .../application/offset.fetch/topic.offset.info/server.rpt | 2 +- .../application/produce/message.producer.id/client.rpt | 2 +- .../application/produce/message.producer.id/server.rpt | 2 +- .../network/describe.configs.v0/topic.config.info/client.rpt | 2 +- .../network/describe.configs.v0/topic.config.info/server.rpt | 2 +- .../application/publish.one.message.properties/client.rpt | 2 +- .../application/publish.one.message.properties/server.rpt | 2 +- .../mqtt/streams/application/subscribe.one.message/client.rpt | 2 +- .../mqtt/streams/application/subscribe.one.message/server.rpt | 2 +- .../network/v5/publish.one.message.properties/client.rpt | 2 +- .../network/v5/publish.one.message.properties/server.rpt | 2 +- .../connected.local.client.sent.begin.ext/client.rpt | 2 +- .../connected.local.client.sent.begin.ext/server.rpt | 2 +- .../binding/sse/streams/application/data/non.empty/client.rpt | 2 +- .../binding/sse/streams/application/data/non.empty/server.rpt | 2 +- .../tls/streams/application/connection.established/client.rpt | 2 +- .../tls/streams/application/connection.established/server.rpt | 2 +- .../tls/streams/network/connection.established/client.rpt | 2 +- .../tls/streams/network/connection.established/server.rpt | 2 +- .../application/advise/client.sent.challenge/client.rpt | 2 +- .../application/advise/client.sent.challenge/server.rpt | 2 +- .../runtime/command/dump/internal/AmqpLinkNetworkIT.java | 2 +- .../command/dump/internal/AmqpStreamApplicationIT.java | 2 +- .../command/dump/internal/FileSystemApplicationIT.java | 2 +- .../dump/internal/GrpcServerStreamRpcApplicationIT.java | 2 +- .../dump/internal/Http2AuthorizationApplicationIT.java | 2 +- .../command/dump/internal/Http2AuthorizationNetworkIT.java | 2 +- .../command/dump/internal/KafkaDescribeApplicationIT.java | 2 +- .../command/dump/internal/KafkaDescribeConfigsNetworkIT.java | 2 +- .../command/dump/internal/KafkaFetchApplicationIT.java | 2 +- .../command/dump/internal/KafkaGroupApplicationIT.java | 2 +- .../dump/internal/KafkaInitProducerIdApplicationIT.java | 2 +- .../command/dump/internal/KafkaMergedApplicationIT.java | 2 +- .../runtime/command/dump/internal/KafkaMetaApplicationIT.java | 2 +- .../command/dump/internal/KafkaOffsetCommitApplicationIT.java | 2 +- .../command/dump/internal/KafkaOffsetFetchApplicationIT.java | 2 +- .../command/dump/internal/KafkaProduceApplicationIT.java | 2 +- .../command/dump/internal/MqttPublishApplicationIT.java | 2 +- .../runtime/command/dump/internal/MqttPublishNetworkIT.java | 2 +- .../command/dump/internal/MqttSubscribeApplicationIT.java | 2 +- .../runtime/command/dump/internal/ProxyApplicationIT.java | 2 +- .../runtime/command/dump/internal/SseDataApplicationIT.java | 2 +- .../zilla/runtime/command/dump/internal/TlsApplicationIT.java | 2 +- .../zilla/runtime/command/dump/internal/TlsNetworkIT.java | 2 +- .../command/dump/internal/WsAdvisoryApplicationIT.java | 2 +- .../runtime/command/dump/internal/test/DumpCommandRunner.java | 2 +- .../zilla/runtime/command/dump/internal/test/DumpRule.java | 2 +- .../runtime/command/dump/internal/test/TsharkRunner.java | 2 +- .../zilla/runtime/command/dump/internal/test/Dockerfile | 2 +- .../zilla/runtime/command/log/internal/LogBudgetsCommand.java | 2 +- .../zilla/runtime/command/log/internal/LogBuffersCommand.java | 2 +- .../zilla/runtime/command/log/internal/LogCommand.java | 2 +- .../runtime/command/log/internal/LogCountersCommand.java | 2 +- .../runtime/command/log/internal/LogQueueDepthCommand.java | 2 +- .../zilla/runtime/command/log/internal/LogStreamsCommand.java | 2 +- .../zilla/runtime/command/log/internal/LoggableStream.java | 2 +- .../aklivity/zilla/runtime/command/log/internal/Logger.java | 2 +- .../runtime/command/log/internal/labels/LabelManager.java | 2 +- .../runtime/command/log/internal/layouts/BudgetsLayout.java | 2 +- .../command/log/internal/layouts/BufferPoolLayout.java | 2 +- .../zilla/runtime/command/log/internal/layouts/Layout.java | 2 +- .../runtime/command/log/internal/layouts/MetricsLayout.java | 2 +- .../runtime/command/log/internal/layouts/RoutesLayout.java | 2 +- .../runtime/command/log/internal/layouts/StreamsLayout.java | 2 +- .../command/log/internal/spy/OneToOneRingBufferSpy.java | 2 +- .../zilla/runtime/command/log/internal/spy/RingBufferSpy.java | 2 +- incubator/command-log/src/main/moditect/module-info.java | 2 +- .../runtime/command/tune/internal/ZillaTuneCommandSpi.java | 2 +- .../command/tune/internal/airline/ZillaTuneCommand.java | 2 +- .../command/tune/internal/airline/labels/LabelManager.java | 2 +- incubator/command-tune/src/main/moditect/module-info.java | 2 +- .../main/java/io/aklivity/zilla/manager/internal/ZpmCli.java | 2 +- .../java/io/aklivity/zilla/manager/internal/ZpmCommand.java | 2 +- .../main/java/io/aklivity/zilla/manager/internal/ZpmMain.java | 2 +- .../zilla/manager/internal/commands/clean/ZpmClean.java | 2 +- .../zilla/manager/internal/commands/encrypt/ZpmEncrypt.java | 2 +- .../manager/internal/commands/install/ZpmConfiguration.java | 2 +- .../manager/internal/commands/install/ZpmDependency.java | 2 +- .../zilla/manager/internal/commands/install/ZpmInstall.java | 2 +- .../manager/internal/commands/install/ZpmRepository.java | 2 +- .../commands/install/adapters/ZpmDependencyAdapter.java | 2 +- .../commands/install/adapters/ZpmRepositoryAdapter.java | 2 +- .../manager/internal/commands/install/cache/ZpmArtifact.java | 2 +- .../internal/commands/install/cache/ZpmArtifactId.java | 2 +- .../manager/internal/commands/install/cache/ZpmCache.java | 2 +- .../manager/internal/commands/install/cache/ZpmModule.java | 2 +- .../zilla/manager/internal/commands/wrap/ZpmWrap.java | 2 +- .../zilla/manager/internal/settings/ZpmCredentials.java | 2 +- .../aklivity/zilla/manager/internal/settings/ZpmSecrets.java | 2 +- .../aklivity/zilla/manager/internal/settings/ZpmSecurity.java | 2 +- .../aklivity/zilla/manager/internal/settings/ZpmSettings.java | 2 +- .../manager/internal/types/ZpmPathConverterProvider.java | 2 +- manager/src/main/moditect/module-info.java | 2 +- .../zilla/manager/internal/commands/clean/ZpmCleanTest.java | 2 +- .../manager/internal/commands/encrypt/ZpmEncryptTest.java | 2 +- .../internal/commands/install/ZpmConfigurationTest.java | 2 +- .../manager/internal/commands/install/ZpmInstallTest.java | 2 +- .../zilla/manager/internal/commands/wrap/ZpmWrapTest.java | 2 +- .../zilla/manager/internal/settings/ZpmSecurityTest.java | 2 +- .../zilla/manager/internal/settings/ZpmSettingsTest.java | 2 +- pom.xml | 2 +- .../binding/asyncapi/config/AsyncapiCatalogConfig.java | 2 +- .../binding/asyncapi/config/AsyncapiCatalogConfigBuilder.java | 2 +- .../binding/asyncapi/config/AsyncapiChannelsConfig.java | 2 +- .../asyncapi/config/AsyncapiChannelsConfigBuilder.java | 2 +- .../binding/asyncapi/config/AsyncapiMqttKafkaConfig.java | 2 +- .../asyncapi/config/AsyncapiMqttKafkaConfigBuilder.java | 2 +- .../binding/asyncapi/config/AsyncapiOptionsConfig.java | 2 +- .../binding/asyncapi/config/AsyncapiOptionsConfigBuilder.java | 2 +- .../runtime/binding/asyncapi/config/AsyncapiSchemaConfig.java | 2 +- .../runtime/binding/asyncapi/config/AsyncapiServerConfig.java | 2 +- .../binding/asyncapi/config/AsyncapiServerConfigBuilder.java | 2 +- .../binding/asyncapi/config/AsyncapiSpecificationConfig.java | 2 +- .../asyncapi/config/AsyncapiSpecificationConfigBuilder.java | 2 +- .../runtime/binding/asyncapi/internal/AsyncapiBinding.java | 2 +- .../binding/asyncapi/internal/AsyncapiBindingContext.java | 2 +- .../binding/asyncapi/internal/AsyncapiBindingFactorySpi.java | 2 +- .../binding/asyncapi/internal/AsyncapiConfiguration.java | 2 +- .../asyncapi/internal/config/AsyncapiBindingConfig.java | 2 +- .../internal/config/AsyncapiCompositeConditionConfig.java | 2 +- .../asyncapi/internal/config/AsyncapiCompositeConfig.java | 2 +- .../internal/config/AsyncapiCompositeRouteConfig.java | 2 +- .../asyncapi/internal/config/AsyncapiCompositeWithConfig.java | 2 +- .../asyncapi/internal/config/AsyncapiConditionConfig.java | 2 +- .../internal/config/AsyncapiConditionConfigAdapter.java | 2 +- .../internal/config/AsyncapiOptionsConfigAdapter.java | 2 +- .../binding/asyncapi/internal/config/AsyncapiRouteConfig.java | 2 +- .../binding/asyncapi/internal/config/AsyncapiWithConfig.java | 2 +- .../asyncapi/internal/config/AsyncapiWithConfigAdapter.java | 2 +- .../internal/config/composite/AsyncapiClientGenerator.java | 2 +- .../internal/config/composite/AsyncapiCompositeGenerator.java | 2 +- .../internal/config/composite/AsyncapiCompositeId.java | 2 +- .../internal/config/composite/AsyncapiProxyGenerator.java | 2 +- .../internal/config/composite/AsyncapiServerGenerator.java | 2 +- .../asyncapi/internal/model/AbstractAsyncapiResolvable.java | 2 +- .../runtime/binding/asyncapi/internal/model/Asyncapi.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiAddress.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiChannel.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiComponents.java | 2 +- .../asyncapi/internal/model/AsyncapiCorrelationId.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiMessage.java | 2 +- .../asyncapi/internal/model/AsyncapiMultiFormatSchema.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiOperation.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiParameter.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiReply.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiSchema.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiSchemaItem.java | 2 +- .../internal/model/AsyncapiSchemaPayloadDeserializer.java | 2 +- .../internal/model/AsyncapiSchemasPayloadDeserializer.java | 2 +- .../asyncapi/internal/model/AsyncapiSecurityScheme.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiServer.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiTrait.java | 2 +- .../binding/asyncapi/internal/model/AsyncapiVariable.java | 2 +- .../internal/model/bindings/AsyncapiMessageBindings.java | 2 +- .../internal/model/bindings/AsyncapiOperationBindings.java | 2 +- .../internal/model/bindings/AsyncapiServerBindings.java | 2 +- .../model/bindings/http/AsyncapiHttpOperationBinding.java | 2 +- .../model/bindings/http/kafka/AsyncapiHttpKafkaFilter.java | 2 +- .../http/kafka/AsyncapiHttpKafkaOperationBinding.java | 2 +- .../model/bindings/kafka/AsyncapiKafkaMessageBinding.java | 2 +- .../model/bindings/kafka/AsyncapiKafkaServerBinding.java | 2 +- .../model/bindings/sse/AsyncapiSseOperationBinding.java | 2 +- .../model/bindings/sse/kafka/AsyncapiSseKafkaFilter.java | 2 +- .../bindings/sse/kafka/AsyncapiSseKafkaOperationBinding.java | 2 +- .../asyncapi/internal/model/parser/AsyncapiParser.java | 2 +- .../internal/model/resolver/AbstractAsyncapiResolver.java | 2 +- .../internal/model/resolver/AsyncapiChannelResolver.java | 2 +- .../model/resolver/AsyncapiCorrelationIdResolver.java | 2 +- .../internal/model/resolver/AsyncapiMessageResolver.java | 2 +- .../internal/model/resolver/AsyncapiMessageTraitResolver.java | 2 +- .../internal/model/resolver/AsyncapiOperationResolver.java | 2 +- .../asyncapi/internal/model/resolver/AsyncapiResolver.java | 2 +- .../internal/model/resolver/AsyncapiSchemaResolver.java | 2 +- .../model/resolver/AsyncapiSecuritySchemeResolver.java | 2 +- .../model/resolver/AsyncapiServerVariableResolver.java | 2 +- .../asyncapi/internal/stream/AsyncapiClientFactory.java | 2 +- .../asyncapi/internal/stream/AsyncapiProxyFactory.java | 2 +- .../asyncapi/internal/stream/AsyncapiServerFactory.java | 2 +- .../binding/asyncapi/internal/stream/AsyncapiState.java | 2 +- .../asyncapi/internal/stream/AsyncapiStreamFactory.java | 2 +- .../binding/asyncapi/internal/view/AsyncapiChannelView.java | 2 +- .../asyncapi/internal/view/AsyncapiComponentsView.java | 2 +- .../asyncapi/internal/view/AsyncapiCorrelationIdView.java | 2 +- .../internal/view/AsyncapiKafkaMessageBindingView.java | 2 +- .../asyncapi/internal/view/AsyncapiMessageBindingsView.java | 2 +- .../binding/asyncapi/internal/view/AsyncapiMessageView.java | 2 +- .../asyncapi/internal/view/AsyncapiMultiFormatSchemaView.java | 2 +- .../binding/asyncapi/internal/view/AsyncapiOperationView.java | 2 +- .../binding/asyncapi/internal/view/AsyncapiParameterView.java | 2 +- .../binding/asyncapi/internal/view/AsyncapiReplyView.java | 2 +- .../asyncapi/internal/view/AsyncapiSchemaItemView.java | 2 +- .../binding/asyncapi/internal/view/AsyncapiSchemaView.java | 2 +- .../asyncapi/internal/view/AsyncapiSecuritySchemeView.java | 2 +- .../asyncapi/internal/view/AsyncapiServerVariableView.java | 2 +- .../binding/asyncapi/internal/view/AsyncapiServerView.java | 2 +- .../binding/asyncapi/internal/view/AsyncapiTraitView.java | 2 +- .../runtime/binding/asyncapi/internal/view/AsyncapiView.java | 2 +- runtime/binding-asyncapi/src/main/moditect/module-info.java | 2 +- .../binding/asyncapi/internal/AsyncapiConfigurationTest.java | 2 +- .../internal/config/AsyncapiConditionConfigAdapterTest.java | 2 +- .../internal/config/AsyncapiOptionsConfigAdapterTest.java | 2 +- .../internal/config/AsyncapiWithConfigAdapterTest.java | 2 +- .../binding/asyncapi/internal/stream/AsyncapiClientIT.java | 2 +- .../binding/asyncapi/internal/stream/AsyncapiProxyIT.java | 2 +- .../binding/asyncapi/internal/stream/AsyncapiServerIT.java | 2 +- .../binding/asyncapi/internal/view/AsyncapiViewTest.java | 2 +- .../zilla/runtime/binding/echo/internal/EchoBinding.java | 2 +- .../runtime/binding/echo/internal/EchoBindingContext.java | 2 +- .../runtime/binding/echo/internal/EchoBindingFactorySpi.java | 2 +- .../runtime/binding/echo/internal/EchoConfiguration.java | 2 +- .../zilla/runtime/binding/echo/internal/EchoRouter.java | 2 +- .../binding/echo/internal/stream/EchoServerFactory.java | 2 +- runtime/binding-echo/src/main/moditect/module-info.java | 2 +- .../runtime/binding/echo/internal/bench/EchoHandshakeBM.java | 2 +- .../zilla/runtime/binding/echo/internal/bench/EchoWorker.java | 2 +- .../zilla/runtime/binding/echo/internal/streams/ServerIT.java | 2 +- .../zilla/runtime/binding/fan/internal/FanBinding.java | 2 +- .../zilla/runtime/binding/fan/internal/FanBindingContext.java | 2 +- .../runtime/binding/fan/internal/FanBindingFactorySpi.java | 2 +- .../zilla/runtime/binding/fan/internal/FanConfiguration.java | 2 +- .../runtime/binding/fan/internal/stream/FanServerFactory.java | 2 +- .../zilla/runtime/binding/fan/internal/stream/FanState.java | 2 +- .../runtime/binding/fan/internal/stream/FanStreamFactory.java | 2 +- runtime/binding-fan/src/main/moditect/module-info.java | 2 +- .../zilla/runtime/binding/fan/internal/streams/ServerIT.java | 2 +- .../binding/filesystem/config/FileSystemOptionsConfig.java | 2 +- .../filesystem/config/FileSystemSymbolicLinksConfig.java | 2 +- .../binding/filesystem/internal/FileSystemBinding.java | 2 +- .../binding/filesystem/internal/FileSystemBindingContext.java | 2 +- .../filesystem/internal/FileSystemBindingFactorySpi.java | 2 +- .../binding/filesystem/internal/FileSystemConfiguration.java | 2 +- .../binding/filesystem/internal/FileSystemWatcher.java | 2 +- .../filesystem/internal/config/FileSystemBindingConfig.java | 2 +- .../internal/config/FileSystemOptionsConfigAdapter.java | 2 +- .../filesystem/internal/stream/FileSystemServerFactory.java | 2 +- .../binding/filesystem/internal/stream/FileSystemState.java | 2 +- .../filesystem/internal/stream/FileSystemStreamFactory.java | 2 +- runtime/binding-filesystem/src/main/moditect/module-info.java | 2 +- .../internal/config/FileSystemOptionsConfigAdapterTest.java | 2 +- .../filesystem/internal/stream/FileSystemServerIT.java | 2 +- .../filesystem/internal/stream/FileSystemStateTest.java | 2 +- .../binding/grpc/kafka/config/GrpcKafkaConditionConfig.java | 2 +- .../binding/grpc/kafka/config/GrpcKafkaCorrelationConfig.java | 2 +- .../binding/grpc/kafka/config/GrpcKafkaIdempotencyConfig.java | 2 +- .../grpc/kafka/config/GrpcKafkaMetadataValueConfig.java | 2 +- .../binding/grpc/kafka/config/GrpcKafkaOptionsConfig.java | 2 +- .../binding/grpc/kafka/config/GrpcKafkaReliabilityConfig.java | 2 +- .../runtime/binding/grpc/kafka/internal/GrpcKafkaBinding.java | 2 +- .../binding/grpc/kafka/internal/GrpcKafkaBindingContext.java | 2 +- .../grpc/kafka/internal/GrpcKafkaBindingFactorySpi.java | 2 +- .../binding/grpc/kafka/internal/GrpcKafkaConfiguration.java | 2 +- .../grpc/kafka/internal/config/GrpcKafkaBindingConfig.java | 2 +- .../grpc/kafka/internal/config/GrpcKafkaCapability.java | 2 +- .../internal/config/GrpcKafkaConditionConfigAdapter.java | 2 +- .../grpc/kafka/internal/config/GrpcKafkaConditionMatcher.java | 2 +- .../kafka/internal/config/GrpcKafkaOptionsConfigAdapter.java | 2 +- .../grpc/kafka/internal/config/GrpcKafkaRouteConfig.java | 2 +- .../grpc/kafka/internal/config/GrpcKafkaWithConfig.java | 2 +- .../kafka/internal/config/GrpcKafkaWithConfigAdapter.java | 2 +- .../grpc/kafka/internal/config/GrpcKafkaWithFetchConfig.java | 2 +- .../internal/config/GrpcKafkaWithFetchConfigAdapter.java | 2 +- .../kafka/internal/config/GrpcKafkaWithFetchFilterConfig.java | 2 +- .../internal/config/GrpcKafkaWithFetchFilterHeaderConfig.java | 2 +- .../internal/config/GrpcKafkaWithFetchFilterHeaderResult.java | 2 +- .../kafka/internal/config/GrpcKafkaWithFetchFilterResult.java | 2 +- .../grpc/kafka/internal/config/GrpcKafkaWithFetchResult.java | 2 +- .../kafka/internal/config/GrpcKafkaWithProduceConfig.java | 2 +- .../internal/config/GrpcKafkaWithProduceConfigAdapter.java | 2 +- .../grpc/kafka/internal/config/GrpcKafkaWithProduceHash.java | 2 +- .../internal/config/GrpcKafkaWithProduceOverrideConfig.java | 2 +- .../internal/config/GrpcKafkaWithProduceOverrideResult.java | 2 +- .../kafka/internal/config/GrpcKafkaWithProduceResult.java | 2 +- .../grpc/kafka/internal/config/GrpcKafkaWithResolver.java | 2 +- .../binding/grpc/kafka/internal/stream/GrpcKafkaIdHelper.java | 2 +- .../grpc/kafka/internal/stream/GrpcKafkaProxyFactory.java | 2 +- .../binding/grpc/kafka/internal/stream/GrpcKafkaState.java | 2 +- .../grpc/kafka/internal/stream/GrpcKafkaStreamFactory.java | 2 +- runtime/binding-grpc-kafka/src/main/moditect/module-info.java | 2 +- .../internal/config/GrpcKafkaConditionConfigAdapterTest.java | 2 +- .../internal/config/GrpcKafkaOptionsConfigAdapterTest.java | 2 +- .../kafka/internal/config/GrpcKafkaWithConfigAdapterTest.java | 2 +- .../grpc/kafka/internal/stream/GrpcKafkaFetchProxyIT.java | 2 +- .../grpc/kafka/internal/stream/GrpcKafkaProduceProxyIT.java | 2 +- .../zilla/runtime/binding/grpc/internal/parser/Protobuf3.g4 | 2 +- .../runtime/binding/grpc/config/GrpcConditionConfig.java | 2 +- .../runtime/binding/grpc/config/GrpcMetadataValueConfig.java | 2 +- .../zilla/runtime/binding/grpc/config/GrpcMethodConfig.java | 2 +- .../zilla/runtime/binding/grpc/config/GrpcOptionsConfig.java | 2 +- .../zilla/runtime/binding/grpc/config/GrpcProtobufConfig.java | 2 +- .../zilla/runtime/binding/grpc/config/GrpcServiceConfig.java | 2 +- .../zilla/runtime/binding/grpc/internal/GrpcBinding.java | 2 +- .../runtime/binding/grpc/internal/GrpcBindingContext.java | 2 +- .../runtime/binding/grpc/internal/GrpcBindingFactorySpi.java | 2 +- .../runtime/binding/grpc/internal/GrpcConfiguration.java | 2 +- .../binding/grpc/internal/config/GrpcBindingConfig.java | 2 +- .../grpc/internal/config/GrpcConditionConfigAdapter.java | 2 +- .../binding/grpc/internal/config/GrpcConditionMatcher.java | 2 +- .../binding/grpc/internal/config/GrpcMethodResult.java | 2 +- .../grpc/internal/config/GrpcOptionsConfigAdapter.java | 2 +- .../binding/grpc/internal/config/GrpcProtobufParser.java | 2 +- .../runtime/binding/grpc/internal/config/GrpcRouteConfig.java | 2 +- .../grpc/internal/config/GrpcServiceDefinitionListener.java | 2 +- .../binding/grpc/internal/stream/GrpcClientFactory.java | 2 +- .../binding/grpc/internal/stream/GrpcServerFactory.java | 2 +- .../zilla/runtime/binding/grpc/internal/stream/GrpcState.java | 2 +- .../binding/grpc/internal/stream/GrpcStreamFactory.java | 2 +- .../grpc/internal/stream/HttpGrpcResponseHeaderHelper.java | 2 +- runtime/binding-grpc/src/main/moditect/module-info.java | 2 +- runtime/binding-grpc/src/main/zilla/protocol.idl | 2 +- .../grpc/internal/config/GrpcOptionsConfigAdapterTest.java | 2 +- .../binding/grpc/internal/streams/client/BidiStreamRpcIT.java | 2 +- .../grpc/internal/streams/client/ClientStreamRpcIT.java | 2 +- .../grpc/internal/streams/client/ServerStreamRpcIT.java | 2 +- .../binding/grpc/internal/streams/client/UnaryRpcIT.java | 2 +- .../binding/grpc/internal/streams/server/BidiStreamRpcIT.java | 2 +- .../grpc/internal/streams/server/ClientStreamRpcIT.java | 2 +- .../binding/grpc/internal/streams/server/RejectedRpcIT.java | 2 +- .../grpc/internal/streams/server/ServerStreamRpcIT.java | 2 +- .../binding/grpc/internal/streams/server/UnaryRpcIT.java | 2 +- .../http/filesystem/config/HttpFileSystemConditionConfig.java | 2 +- .../http/filesystem/internal/HttpFileSystemBinding.java | 2 +- .../filesystem/internal/HttpFileSystemBindingContext.java | 2 +- .../filesystem/internal/HttpFileSystemBindingFactorySpi.java | 2 +- .../http/filesystem/internal/HttpFileSystemConfiguration.java | 2 +- .../internal/config/HttpFileSystemBindingConfig.java | 2 +- .../internal/config/HttpFileSystemConditionConfigAdapter.java | 2 +- .../internal/config/HttpFileSystemConditionMatcher.java | 2 +- .../filesystem/internal/config/HttpFileSystemRouteConfig.java | 2 +- .../filesystem/internal/config/HttpFileSystemWithConfig.java | 2 +- .../internal/config/HttpFileSystemWithConfigAdapter.java | 2 +- .../internal/config/HttpFileSystemWithResolver.java | 2 +- .../filesystem/internal/config/HttpFileSystemWithResult.java | 2 +- .../internal/stream/HttpFileSystemProxyFactory.java | 2 +- .../http/filesystem/internal/stream/HttpFileSystemState.java | 2 +- .../internal/stream/HttpFileSystemStreamFactory.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../config/HttpFileSystemConditionConfigAdapterTest.java | 2 +- .../internal/config/HttpFileSystemWithConfigAdapterTest.java | 2 +- .../filesystem/internal/stream/HttpFileSystemProxyIT.java | 2 +- .../binding/http/kafka/config/HttpKafkaConditionConfig.java | 2 +- .../http/kafka/config/HttpKafkaConditionConfigBuilder.java | 2 +- .../binding/http/kafka/config/HttpKafkaCorrelationConfig.java | 2 +- .../binding/http/kafka/config/HttpKafkaIdempotencyConfig.java | 2 +- .../binding/http/kafka/config/HttpKafkaOptionsConfig.java | 2 +- .../binding/http/kafka/config/HttpKafkaWithConfig.java | 2 +- .../binding/http/kafka/config/HttpKafkaWithConfigBuilder.java | 2 +- .../binding/http/kafka/config/HttpKafkaWithFetchConfig.java | 2 +- .../http/kafka/config/HttpKafkaWithFetchConfigBuilder.java | 2 +- .../http/kafka/config/HttpKafkaWithFetchFilterConfig.java | 2 +- .../kafka/config/HttpKafkaWithFetchFilterConfigBuilder.java | 2 +- .../kafka/config/HttpKafkaWithFetchFilterHeaderConfig.java | 2 +- .../config/HttpKafkaWithFetchFilterHeaderConfigBuilder.java | 2 +- .../http/kafka/config/HttpKafkaWithFetchMergeConfig.java | 2 +- .../kafka/config/HttpKafkaWithFetchMergeConfigBuilder.java | 2 +- .../kafka/config/HttpKafkaWithProduceAsyncHeaderConfig.java | 2 +- .../config/HttpKafkaWithProduceAsyncHeaderConfigBuilder.java | 2 +- .../binding/http/kafka/config/HttpKafkaWithProduceConfig.java | 2 +- .../http/kafka/config/HttpKafkaWithProduceConfigBuilder.java | 2 +- .../http/kafka/config/HttpKafkaWithProduceOverrideConfig.java | 2 +- .../config/HttpKafkaWithProduceOverrideConfigBuilder.java | 2 +- .../runtime/binding/http/kafka/internal/HttpKafkaBinding.java | 2 +- .../binding/http/kafka/internal/HttpKafkaBindingContext.java | 2 +- .../http/kafka/internal/HttpKafkaBindingFactorySpi.java | 2 +- .../binding/http/kafka/internal/HttpKafkaConfiguration.java | 2 +- .../http/kafka/internal/config/HttpKafkaBindingConfig.java | 2 +- .../http/kafka/internal/config/HttpKafkaCapability.java | 2 +- .../internal/config/HttpKafkaConditionConfigAdapter.java | 2 +- .../http/kafka/internal/config/HttpKafkaConditionMatcher.java | 2 +- .../kafka/internal/config/HttpKafkaOptionsConfigAdapter.java | 2 +- .../http/kafka/internal/config/HttpKafkaRouteConfig.java | 2 +- .../kafka/internal/config/HttpKafkaWithConfigAdapter.java | 2 +- .../internal/config/HttpKafkaWithFetchConfigAdapter.java | 2 +- .../internal/config/HttpKafkaWithFetchFilterHeaderResult.java | 2 +- .../kafka/internal/config/HttpKafkaWithFetchFilterResult.java | 2 +- .../kafka/internal/config/HttpKafkaWithFetchMergeResult.java | 2 +- .../http/kafka/internal/config/HttpKafkaWithFetchResult.java | 2 +- .../config/HttpKafkaWithProduceAsyncHeaderResult.java | 2 +- .../internal/config/HttpKafkaWithProduceConfigAdapter.java | 2 +- .../http/kafka/internal/config/HttpKafkaWithProduceHash.java | 2 +- .../internal/config/HttpKafkaWithProduceOverrideResult.java | 2 +- .../kafka/internal/config/HttpKafkaWithProduceResult.java | 2 +- .../http/kafka/internal/config/HttpKafkaWithResolver.java | 2 +- .../http/kafka/internal/stream/HttpKafkaEtagHelper.java | 2 +- .../http/kafka/internal/stream/HttpKafkaProxyFactory.java | 2 +- .../binding/http/kafka/internal/stream/HttpKafkaState.java | 2 +- .../http/kafka/internal/stream/HttpKafkaStreamFactory.java | 2 +- runtime/binding-http-kafka/src/main/moditect/module-info.java | 2 +- runtime/binding-http-kafka/src/main/zilla/internal.idl | 2 +- .../internal/config/HttpKafkaConditionConfigAdapterTest.java | 2 +- .../internal/config/HttpKafkaOptionsConfigAdapterTest.java | 2 +- .../kafka/internal/config/HttpKafkaWithConfigAdapterTest.java | 2 +- .../binding/http/kafka/internal/stream/HttpKafkaProxyIT.java | 2 +- .../runtime/binding/http/config/HttpAccessControlConfig.java | 2 +- .../binding/http/config/HttpAccessControlConfigBuilder.java | 2 +- .../zilla/runtime/binding/http/config/HttpAllowConfig.java | 2 +- .../runtime/binding/http/config/HttpAllowConfigBuilder.java | 2 +- .../runtime/binding/http/config/HttpAuthorizationConfig.java | 2 +- .../binding/http/config/HttpAuthorizationConfigBuilder.java | 2 +- .../runtime/binding/http/config/HttpConditionConfig.java | 2 +- .../binding/http/config/HttpConditionConfigBuilder.java | 2 +- .../runtime/binding/http/config/HttpCredentialsConfig.java | 2 +- .../binding/http/config/HttpCredentialsConfigBuilder.java | 2 +- .../zilla/runtime/binding/http/config/HttpExposeConfig.java | 2 +- .../runtime/binding/http/config/HttpExposeConfigBuilder.java | 2 +- .../zilla/runtime/binding/http/config/HttpOptionsConfig.java | 2 +- .../runtime/binding/http/config/HttpOptionsConfigBuilder.java | 2 +- .../zilla/runtime/binding/http/config/HttpParamConfig.java | 2 +- .../runtime/binding/http/config/HttpParamConfigBuilder.java | 2 +- .../zilla/runtime/binding/http/config/HttpPatternConfig.java | 2 +- .../runtime/binding/http/config/HttpPatternConfigBuilder.java | 2 +- .../zilla/runtime/binding/http/config/HttpPolicyConfig.java | 2 +- .../zilla/runtime/binding/http/config/HttpRequestConfig.java | 2 +- .../runtime/binding/http/config/HttpRequestConfigBuilder.java | 2 +- .../zilla/runtime/binding/http/config/HttpResponseConfig.java | 2 +- .../binding/http/config/HttpResponseConfigBuilder.java | 2 +- .../zilla/runtime/binding/http/config/HttpVersion.java | 2 +- .../zilla/runtime/binding/http/config/HttpWithConfig.java | 2 +- .../runtime/binding/http/config/HttpWithConfigBuilder.java | 2 +- .../zilla/runtime/binding/http/internal/HttpBinding.java | 2 +- .../runtime/binding/http/internal/HttpBindingContext.java | 2 +- .../runtime/binding/http/internal/HttpBindingFactorySpi.java | 2 +- .../runtime/binding/http/internal/HttpConfiguration.java | 2 +- .../zilla/runtime/binding/http/internal/HttpEventContext.java | 2 +- .../runtime/binding/http/internal/HttpEventFormatter.java | 2 +- .../binding/http/internal/HttpEventFormatterFactory.java | 2 +- .../binding/http/internal/codec/Http2ContinuationFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2DataFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2ErrorCode.java | 2 +- .../runtime/binding/http/internal/codec/Http2FrameFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2FrameInfoFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2FrameType.java | 2 +- .../runtime/binding/http/internal/codec/Http2GoawayFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2HeadersFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2PingFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2PrefaceFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2PriorityFW.java | 2 +- .../binding/http/internal/codec/Http2PushPromiseFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2RstStreamFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2Setting.java | 2 +- .../runtime/binding/http/internal/codec/Http2SettingFW.java | 2 +- .../runtime/binding/http/internal/codec/Http2SettingsFW.java | 2 +- .../binding/http/internal/codec/Http2WindowUpdateFW.java | 2 +- .../runtime/binding/http/internal/codec/UnboundedListFW.java | 2 +- .../binding/http/internal/config/HttpBindingConfig.java | 2 +- .../http/internal/config/HttpConditionConfigAdapter.java | 2 +- .../binding/http/internal/config/HttpConditionMatcher.java | 2 +- .../http/internal/config/HttpOptionsConfigAdapter.java | 2 +- .../http/internal/config/HttpQueryStringComparator.java | 2 +- .../http/internal/config/HttpRequestConfigAdapter.java | 2 +- .../runtime/binding/http/internal/config/HttpRequestType.java | 2 +- .../http/internal/config/HttpResponseConfigAdapter.java | 2 +- .../runtime/binding/http/internal/config/HttpRouteConfig.java | 2 +- .../binding/http/internal/config/HttpWithConfigAdapter.java | 2 +- .../binding/http/internal/config/HttpWithResolver.java | 2 +- .../runtime/binding/http/internal/hpack/HpackContext.java | 2 +- .../binding/http/internal/hpack/HpackHeaderBlockFW.java | 2 +- .../binding/http/internal/hpack/HpackHeaderFieldFW.java | 2 +- .../runtime/binding/http/internal/hpack/HpackHuffman.java | 2 +- .../runtime/binding/http/internal/hpack/HpackIntegerFW.java | 2 +- .../http/internal/hpack/HpackLiteralHeaderFieldFW.java | 2 +- .../runtime/binding/http/internal/hpack/HpackStringFW.java | 2 +- .../runtime/binding/http/internal/stream/Http2Flags.java | 2 +- .../runtime/binding/http/internal/stream/Http2Settings.java | 2 +- .../binding/http/internal/stream/HttpClientFactory.java | 2 +- .../binding/http/internal/stream/HttpServerFactory.java | 2 +- .../zilla/runtime/binding/http/internal/stream/HttpState.java | 2 +- .../binding/http/internal/stream/HttpStreamFactory.java | 2 +- .../zilla/runtime/binding/http/internal/util/BufferUtil.java | 2 +- .../zilla/runtime/binding/http/internal/util/HttpUtil.java | 2 +- .../http/internal/util/function/ObjectIntBiConsumer.java | 2 +- runtime/binding-http/src/main/moditect/module-info.java | 2 +- runtime/binding-http/src/main/zilla/internal.idl | 2 +- .../zilla/runtime/binding/http/config/HttpWithConfigTest.java | 2 +- .../runtime/binding/http/internal/HttpConfigurationTest.java | 2 +- .../binding/http/internal/codec/Http2ContinuationFWTest.java | 2 +- .../runtime/binding/http/internal/codec/Http2DataFWTest.java | 2 +- .../binding/http/internal/codec/Http2GoawayFWTest.java | 2 +- .../binding/http/internal/codec/Http2HeadersFWTest.java | 2 +- .../runtime/binding/http/internal/codec/Http2PingFWTest.java | 2 +- .../binding/http/internal/codec/Http2PriorityFWTest.java | 2 +- .../binding/http/internal/codec/Http2PushPromiseFWTest.java | 2 +- .../binding/http/internal/codec/Http2RstStreamFWTest.java | 2 +- .../binding/http/internal/codec/Http2SettingsFWTest.java | 2 +- .../binding/http/internal/codec/Http2WindowUpdateFWTest.java | 2 +- .../http/internal/config/HttpConditionConfigAdapterTest.java | 2 +- .../http/internal/config/HttpOptionsConfigAdapterTest.java | 2 +- .../http/internal/config/HttpQueryStringComparatorTest.java | 2 +- .../http/internal/config/HttpRequestConfigAdapterTest.java | 2 +- .../binding/http/internal/config/HttpRequestTypeTest.java | 2 +- .../http/internal/config/HttpWithConfigAdapterTest.java | 2 +- .../runtime/binding/http/internal/hpack/HpackContextTest.java | 2 +- .../binding/http/internal/hpack/HpackHeaderBlockFWTest.java | 2 +- .../binding/http/internal/hpack/HpackHeaderFieldFWTest.java | 2 +- .../runtime/binding/http/internal/hpack/HpackHuffmanTest.java | 2 +- .../binding/http/internal/hpack/HpackIntegerFWTest.java | 2 +- .../binding/http/internal/hpack/HpackStringFWTest.java | 2 +- .../http/internal/streams/rfc7230/client/AdvisoryIT.java | 2 +- .../http/internal/streams/rfc7230/client/ArchitectureIT.java | 2 +- .../streams/rfc7230/client/ConnectionManagementIT.java | 2 +- .../rfc7230/client/ConnectionManagementPoolSize1IT.java | 2 +- .../http/internal/streams/rfc7230/client/FlowControlIT.java | 2 +- .../internal/streams/rfc7230/client/FlowControlLimitsIT.java | 2 +- .../http/internal/streams/rfc7230/client/MessageFormatIT.java | 2 +- .../internal/streams/rfc7230/client/TransferCodingsIT.java | 2 +- .../http/internal/streams/rfc7230/client/ValidationIT.java | 2 +- .../http/internal/streams/rfc7230/server/AccessControlIT.java | 2 +- .../http/internal/streams/rfc7230/server/AdvisoryIT.java | 2 +- .../http/internal/streams/rfc7230/server/ArchitectureIT.java | 2 +- .../http/internal/streams/rfc7230/server/AuthorizationIT.java | 2 +- .../streams/rfc7230/server/ConnectionManagementIT.java | 2 +- .../binding/http/internal/streams/rfc7230/server/EventIT.java | 2 +- .../http/internal/streams/rfc7230/server/FlowControlIT.java | 2 +- .../internal/streams/rfc7230/server/FlowControlLimitsIT.java | 2 +- .../http/internal/streams/rfc7230/server/MessageFormatIT.java | 2 +- .../internal/streams/rfc7230/server/TransferCodingsIT.java | 2 +- .../http/internal/streams/rfc7230/server/ValidationIT.java | 2 +- .../binding/http/internal/streams/rfc7540/client/AbortIT.java | 2 +- .../http/internal/streams/rfc7540/client/ConfigIT.java | 2 +- .../streams/rfc7540/client/ConnectionManagementIT.java | 2 +- .../http/internal/streams/rfc7540/client/FlowControlIT.java | 2 +- .../http/internal/streams/rfc7540/client/MessageFormatIT.java | 2 +- .../http/internal/streams/rfc7540/client/StartingIT.java | 2 +- .../http/internal/streams/rfc7540/client/ValidationIT.java | 2 +- .../binding/http/internal/streams/rfc7540/server/AbortIT.java | 2 +- .../http/internal/streams/rfc7540/server/AccessControlIT.java | 2 +- .../http/internal/streams/rfc7540/server/AuthorizationIT.java | 2 +- .../http/internal/streams/rfc7540/server/ConfigIT.java | 2 +- .../streams/rfc7540/server/ConnectionManagementIT.java | 2 +- .../binding/http/internal/streams/rfc7540/server/EventIT.java | 2 +- .../http/internal/streams/rfc7540/server/FlowControlIT.java | 2 +- .../http/internal/streams/rfc7540/server/MessageFormatIT.java | 2 +- .../http/internal/streams/rfc7540/server/SettingsIT.java | 2 +- .../http/internal/streams/rfc7540/server/StartingIT.java | 2 +- .../http/internal/streams/rfc7540/server/ValidationIT.java | 2 +- .../binding/http/internal/test/SystemPropertiesRule.java | 2 +- .../runtime/binding/http/internal/util/BufferUtilTest.java | 2 +- .../runtime/binding/http/internal/util/HttpUtilTest.java | 2 +- .../http/internal/util/function/ObjectIntBiConsumerTest.java | 2 +- .../binding/kafka/grpc/config/KafkaGrpcConditionConfig.java | 2 +- .../binding/kafka/grpc/config/KafkaGrpcCorrelationConfig.java | 2 +- .../binding/kafka/grpc/config/KafkaGrpcIdempotencyConfig.java | 2 +- .../binding/kafka/grpc/config/KafkaGrpcOptionsConfig.java | 2 +- .../runtime/binding/kafka/grpc/internal/KafkaGrpcBinding.java | 2 +- .../binding/kafka/grpc/internal/KafkaGrpcBindingContext.java | 2 +- .../kafka/grpc/internal/KafkaGrpcBindingFactorySpi.java | 2 +- .../binding/kafka/grpc/internal/KafkaGrpcConfiguration.java | 2 +- .../kafka/grpc/internal/config/KafkaGrpcBindingConfig.java | 2 +- .../grpc/internal/config/KafkaGrpcConditionConfigAdapter.java | 2 +- .../grpc/internal/config/KafkaGrpcConditionResolver.java | 2 +- .../kafka/grpc/internal/config/KafkaGrpcConditionResult.java | 2 +- .../internal/config/KafkaGrpcFetchFilterHeaderResult.java | 2 +- .../grpc/internal/config/KafkaGrpcFetchFilterResult.java | 2 +- .../grpc/internal/config/KafkaGrpcOptionsConfigAdapter.java | 2 +- .../kafka/grpc/internal/config/KafkaGrpcRouteConfig.java | 2 +- .../kafka/grpc/internal/config/KafkaGrpcWithConfig.java | 2 +- .../grpc/internal/config/KafkaGrpcWithConfigAdapter.java | 2 +- .../grpc/internal/stream/KafkaGrpcFetchHeaderHelper.java | 2 +- .../grpc/internal/stream/KafkaGrpcRemoteServerFactory.java | 2 +- .../binding/kafka/grpc/internal/stream/KafkaGrpcState.java | 2 +- .../kafka/grpc/internal/stream/KafkaGrpcStreamFactory.java | 2 +- runtime/binding-kafka-grpc/src/main/moditect/module-info.java | 2 +- runtime/binding-kafka-grpc/src/main/zilla/internal.idl | 2 +- .../internal/config/KafkaGrpcConditionConfigAdapterTest.java | 2 +- .../internal/config/KafkaGrpcOptionsConfigAdapterTest.java | 2 +- .../grpc/internal/config/KafkaGrpcWithConfigAdapterTest.java | 2 +- .../kafka/grpc/internal/stream/KafkaGrpcRemoteServerIT.java | 2 +- .../runtime/binding/kafka/config/KafkaConditionConfig.java | 2 +- .../runtime/binding/kafka/config/KafkaOptionsConfig.java | 2 +- .../binding/kafka/config/KafkaOptionsConfigBuilder.java | 2 +- .../zilla/runtime/binding/kafka/config/KafkaSaslConfig.java | 2 +- .../runtime/binding/kafka/config/KafkaSaslConfigBuilder.java | 2 +- .../zilla/runtime/binding/kafka/config/KafkaServerConfig.java | 2 +- .../binding/kafka/config/KafkaServerConfigBuilder.java | 2 +- .../zilla/runtime/binding/kafka/config/KafkaTopicConfig.java | 2 +- .../runtime/binding/kafka/config/KafkaTopicConfigBuilder.java | 2 +- .../runtime/binding/kafka/config/KafkaTopicHeaderType.java | 2 +- .../binding/kafka/config/KafkaTopicTransformsConfig.java | 2 +- .../kafka/config/KafkaTopicTransformsConfigBuilder.java | 2 +- .../runtime/binding/kafka/identity/KafkaClientIdSupplier.java | 2 +- .../kafka/identity/KafkaClientIdSupplierFactorySpi.java | 2 +- .../binding/kafka/identity/KafkaClientIdSupplierSpi.java | 2 +- .../zilla/runtime/binding/kafka/internal/KafkaBinding.java | 2 +- .../runtime/binding/kafka/internal/KafkaBindingContext.java | 2 +- .../binding/kafka/internal/KafkaBindingFactorySpi.java | 2 +- .../runtime/binding/kafka/internal/KafkaConfiguration.java | 2 +- .../binding/kafka/internal/budget/KafkaCacheClientBudget.java | 2 +- .../binding/kafka/internal/budget/KafkaMergedBudget.java | 2 +- .../kafka/internal/budget/KafkaMergedBudgetAccountant.java | 2 +- .../kafka/internal/budget/KafkaMergedBudgetCreditor.java | 2 +- .../kafka/internal/budget/KafkaMergedBudgetDebitor.java | 2 +- .../binding/kafka/internal/budget/MergedBudgetCreditor.java | 2 +- .../runtime/binding/kafka/internal/cache/KafkaCache.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheCleanupPolicy.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheCursorFactory.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheCursorRecord.java | 2 +- .../runtime/binding/kafka/internal/cache/KafkaCacheFile.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheIndexFile.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheIndexRecord.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheObject.java | 2 +- .../binding/kafka/internal/cache/KafkaCachePartition.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheSegment.java | 2 +- .../runtime/binding/kafka/internal/cache/KafkaCacheTopic.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheTopicConfig.java | 2 +- .../binding/kafka/internal/config/KafkaBindingConfig.java | 2 +- .../kafka/internal/config/KafkaConditionConfigAdapter.java | 2 +- .../binding/kafka/internal/config/KafkaConditionMatcher.java | 2 +- .../kafka/internal/config/KafkaOptionsConfigAdapter.java | 2 +- .../binding/kafka/internal/config/KafkaRouteConfig.java | 2 +- .../binding/kafka/internal/config/KafkaScramMechanism.java | 2 +- .../kafka/internal/config/KafkaTopicConfigAdapter.java | 2 +- .../internal/config/KafkaTopicTransformsConfigAdapter.java | 2 +- .../runtime/binding/kafka/internal/config/KafkaTopicType.java | 2 +- .../binding/kafka/internal/config/KafkaWithConfig.java | 2 +- .../binding/kafka/internal/config/KafkaWithConfigAdapter.java | 2 +- .../runtime/binding/kafka/internal/events/KafkaApiKey.java | 2 +- .../binding/kafka/internal/events/KafkaEventContext.java | 2 +- .../binding/kafka/internal/events/KafkaEventFormatter.java | 2 +- .../kafka/internal/events/KafkaEventFormatterFactory.java | 2 +- .../internal/identity/KafkaConfluentClientIdSupplier.java | 2 +- .../identity/KafkaConfluentClientIdSupplierFactory.java | 2 +- .../kafka/internal/stream/KafkaCacheBootstrapFactory.java | 2 +- .../internal/stream/KafkaCacheClientConsumerFactory.java | 2 +- .../internal/stream/KafkaCacheClientDescribeFactory.java | 2 +- .../kafka/internal/stream/KafkaCacheClientFactory.java | 2 +- .../kafka/internal/stream/KafkaCacheClientFetchFactory.java | 2 +- .../kafka/internal/stream/KafkaCacheClientProduceFactory.java | 2 +- .../binding/kafka/internal/stream/KafkaCacheGroupFactory.java | 2 +- .../internal/stream/KafkaCacheInitProducerIdFactory.java | 2 +- .../binding/kafka/internal/stream/KafkaCacheMetaFactory.java | 2 +- .../kafka/internal/stream/KafkaCacheOffsetCommitFactory.java | 2 +- .../kafka/internal/stream/KafkaCacheOffsetFetchFactory.java | 2 +- .../binding/kafka/internal/stream/KafkaCacheRoute.java | 2 +- .../kafka/internal/stream/KafkaCacheServerAddressFactory.java | 2 +- .../internal/stream/KafkaCacheServerConsumerFactory.java | 2 +- .../internal/stream/KafkaCacheServerDescribeFactory.java | 2 +- .../kafka/internal/stream/KafkaCacheServerFactory.java | 2 +- .../kafka/internal/stream/KafkaCacheServerFetchFactory.java | 2 +- .../kafka/internal/stream/KafkaCacheServerProduceFactory.java | 2 +- .../runtime/binding/kafka/internal/stream/KafkaChecksum.java | 2 +- .../kafka/internal/stream/KafkaClientAlterConfigsFactory.java | 2 +- .../kafka/internal/stream/KafkaClientConnectionPool.java | 2 +- .../kafka/internal/stream/KafkaClientCreateTopicsFactory.java | 2 +- .../kafka/internal/stream/KafkaClientDeleteTopicsFactory.java | 2 +- .../internal/stream/KafkaClientDescribeClusterFactory.java | 2 +- .../kafka/internal/stream/KafkaClientDescribeFactory.java | 2 +- .../binding/kafka/internal/stream/KafkaClientFactory.java | 2 +- .../kafka/internal/stream/KafkaClientFetchFactory.java | 2 +- .../kafka/internal/stream/KafkaClientGroupFactory.java | 2 +- .../internal/stream/KafkaClientInitProducerIdFactory.java | 2 +- .../binding/kafka/internal/stream/KafkaClientMetaFactory.java | 2 +- .../kafka/internal/stream/KafkaClientOffsetCommitFactory.java | 2 +- .../kafka/internal/stream/KafkaClientOffsetFetchFactory.java | 2 +- .../kafka/internal/stream/KafkaClientProduceFactory.java | 2 +- .../kafka/internal/stream/KafkaClientRequestFactory.java | 2 +- .../binding/kafka/internal/stream/KafkaClientRoute.java | 2 +- .../kafka/internal/stream/KafkaClientSaslHandshaker.java | 2 +- .../binding/kafka/internal/stream/KafkaMergedFactory.java | 2 +- .../binding/kafka/internal/stream/KafkaPartitionOffset.java | 2 +- .../runtime/binding/kafka/internal/stream/KafkaState.java | 2 +- .../binding/kafka/internal/stream/KafkaStreamFactory.java | 2 +- runtime/binding-kafka/src/main/moditect/module-info.java | 2 +- runtime/binding-kafka/src/main/zilla/internal.idl | 2 +- runtime/binding-kafka/src/main/zilla/protocol.idl | 2 +- .../binding/kafka/identity/KafkaClientIdSupplierTest.java | 2 +- .../binding/kafka/internal/KafkaConfigurationTest.java | 2 +- .../kafka/internal/cache/KafkaCacheCleanupPolicyTest.java | 2 +- .../kafka/internal/cache/KafkaCacheCursorRecordTest.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheFileTest.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheIndexFileTest.java | 2 +- .../kafka/internal/cache/KafkaCacheIndexRecordTest.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheObjectTest.java | 2 +- .../binding/kafka/internal/cache/KafkaCachePartitionTest.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheSegmentTest.java | 2 +- .../runtime/binding/kafka/internal/cache/KafkaCacheTest.java | 2 +- .../binding/kafka/internal/cache/KafkaCacheTopicTest.java | 2 +- .../internal/config/KafkaConditionConfigAdapterTest.java | 2 +- .../kafka/internal/config/KafkaOptionsConfigAdapterTest.java | 2 +- .../kafka/internal/config/KafkaWithConfigAdapterTest.java | 2 +- .../runtime/binding/kafka/internal/stream/AlterConfigsIT.java | 2 +- .../binding/kafka/internal/stream/AlterConfigsSaslIT.java | 2 +- .../binding/kafka/internal/stream/CacheBootstrapIT.java | 2 +- .../binding/kafka/internal/stream/CacheConsumerIT.java | 2 +- .../binding/kafka/internal/stream/CacheDescribeIT.java | 2 +- .../runtime/binding/kafka/internal/stream/CacheFetchIT.java | 2 +- .../runtime/binding/kafka/internal/stream/CacheGroupIT.java | 2 +- .../runtime/binding/kafka/internal/stream/CacheMergedIT.java | 2 +- .../runtime/binding/kafka/internal/stream/CacheMetaIT.java | 2 +- .../binding/kafka/internal/stream/CacheOffsetCommitIT.java | 2 +- .../binding/kafka/internal/stream/CacheOffsetFetchIT.java | 2 +- .../runtime/binding/kafka/internal/stream/CacheProduceIT.java | 2 +- .../binding/kafka/internal/stream/ClientDescribeIT.java | 2 +- .../binding/kafka/internal/stream/ClientDescribeSaslIT.java | 2 +- .../runtime/binding/kafka/internal/stream/ClientFetchIT.java | 2 +- .../binding/kafka/internal/stream/ClientFetchSaslIT.java | 2 +- .../runtime/binding/kafka/internal/stream/ClientGroupIT.java | 2 +- .../binding/kafka/internal/stream/ClientGroupSaslIT.java | 2 +- .../binding/kafka/internal/stream/ClientInitProducerIdIT.java | 2 +- .../kafka/internal/stream/ClientInitProducerIdSaslIT.java | 2 +- .../runtime/binding/kafka/internal/stream/ClientMergedIT.java | 2 +- .../runtime/binding/kafka/internal/stream/ClientMetaIT.java | 2 +- .../binding/kafka/internal/stream/ClientMetaSaslIT.java | 2 +- .../binding/kafka/internal/stream/ClientOffsetCommitIT.java | 2 +- .../kafka/internal/stream/ClientOffsetCommitSaslIT.java | 2 +- .../binding/kafka/internal/stream/ClientOffsetFetchIT.java | 2 +- .../kafka/internal/stream/ClientOffsetFetchSaslIT.java | 2 +- .../binding/kafka/internal/stream/ClientProduceIT.java | 2 +- .../binding/kafka/internal/stream/ClientProduceSaslIT.java | 2 +- .../runtime/binding/kafka/internal/stream/CreateTopicsIT.java | 2 +- .../binding/kafka/internal/stream/CreateTopicsSaslIT.java | 2 +- .../runtime/binding/kafka/internal/stream/DeleteTopicsIT.java | 2 +- .../binding/kafka/internal/stream/DeleteTopicsSaslIT.java | 2 +- .../binding/kafka/internal/stream/DescribeClusterIT.java | 2 +- .../binding/kafka/internal/stream/DescribeClusterSaslIT.java | 2 +- .../zilla/runtime/binding/kafka/internal/stream/EventIT.java | 2 +- .../binding/mqtt/kafka/config/MqttKafkaConditionConfig.java | 2 +- .../mqtt/kafka/config/MqttKafkaConditionConfigBuilder.java | 2 +- .../binding/mqtt/kafka/config/MqttKafkaConditionKind.java | 2 +- .../binding/mqtt/kafka/config/MqttKafkaOptionsConfig.java | 2 +- .../mqtt/kafka/config/MqttKafkaOptionsConfigBuilder.java | 2 +- .../binding/mqtt/kafka/config/MqttKafkaPublishConfig.java | 2 +- .../mqtt/kafka/config/MqttKafkaPublishConfigBuilder.java | 2 +- .../binding/mqtt/kafka/config/MqttKafkaRouteConfig.java | 2 +- .../binding/mqtt/kafka/config/MqttKafkaTopicsConfig.java | 2 +- .../mqtt/kafka/config/MqttKafkaTopicsConfigBuilder.java | 2 +- .../binding/mqtt/kafka/config/MqttKafkaWithConfig.java | 2 +- .../binding/mqtt/kafka/config/MqttKafkaWithConfigBuilder.java | 2 +- .../zilla/runtime/binding/mqtt/kafka/internal/InstanceId.java | 2 +- .../runtime/binding/mqtt/kafka/internal/MqttKafkaBinding.java | 2 +- .../binding/mqtt/kafka/internal/MqttKafkaBindingContext.java | 2 +- .../mqtt/kafka/internal/MqttKafkaBindingFactorySpi.java | 2 +- .../binding/mqtt/kafka/internal/MqttKafkaConfiguration.java | 2 +- .../binding/mqtt/kafka/internal/MqttKafkaEventContext.java | 2 +- .../binding/mqtt/kafka/internal/MqttKafkaEventFormatter.java | 2 +- .../mqtt/kafka/internal/MqttKafkaEventFormatterFactory.java | 2 +- .../mqtt/kafka/internal/config/MqttKafkaBindingConfig.java | 2 +- .../internal/config/MqttKafkaConditionConfigAdapter.java | 2 +- .../mqtt/kafka/internal/config/MqttKafkaConditionMatcher.java | 2 +- .../mqtt/kafka/internal/config/MqttKafkaHeaderHelper.java | 2 +- .../kafka/internal/config/MqttKafkaOptionsConfigAdapter.java | 3 +-- .../kafka/internal/config/MqttKafkaWithConfigAdapter.java | 2 +- .../mqtt/kafka/internal/config/MqttKafkaWithResolver.java | 2 +- .../mqtt/kafka/internal/stream/MqttKafkaProxyFactory.java | 2 +- .../mqtt/kafka/internal/stream/MqttKafkaPublishFactory.java | 2 +- .../mqtt/kafka/internal/stream/MqttKafkaPublishMetadata.java | 2 +- .../mqtt/kafka/internal/stream/MqttKafkaSessionFactory.java | 2 +- .../binding/mqtt/kafka/internal/stream/MqttKafkaState.java | 2 +- .../mqtt/kafka/internal/stream/MqttKafkaStreamFactory.java | 2 +- .../mqtt/kafka/internal/stream/MqttKafkaSubscribeFactory.java | 2 +- runtime/binding-mqtt-kafka/src/main/moditect/module-info.java | 2 +- runtime/binding-mqtt-kafka/src/main/zilla/internal.idl | 3 +-- .../mqtt/kafka/internal/MqttKafkaConfigurationTest.java | 2 +- .../internal/config/MqttKafkaConditionConfigAdapterTest.java | 2 +- .../kafka/internal/config/MqttKafkaConditionMatcherTest.java | 2 +- .../internal/config/MqttKafkaOptionsConfigAdapterTest.java | 2 +- .../kafka/internal/config/MqttKafkaWithConfigAdapterTest.java | 2 +- .../mqtt/kafka/internal/stream/MqttKafkaPublishProxyIT.java | 2 +- .../mqtt/kafka/internal/stream/MqttKafkaSessionProxyIT.java | 2 +- .../mqtt/kafka/internal/stream/MqttKafkaSubscribeProxyIT.java | 2 +- .../runtime/binding/mqtt/config/MqttAuthorizationConfig.java | 2 +- .../binding/mqtt/config/MqttAuthorizationConfigBuilder.java | 2 +- .../runtime/binding/mqtt/config/MqttConditionConfig.java | 2 +- .../binding/mqtt/config/MqttConditionConfigBuilder.java | 2 +- .../runtime/binding/mqtt/config/MqttCredentialsConfig.java | 2 +- .../binding/mqtt/config/MqttCredentialsConfigBuilder.java | 2 +- .../zilla/runtime/binding/mqtt/config/MqttOptionsConfig.java | 2 +- .../runtime/binding/mqtt/config/MqttOptionsConfigBuilder.java | 2 +- .../zilla/runtime/binding/mqtt/config/MqttPatternConfig.java | 2 +- .../runtime/binding/mqtt/config/MqttPatternConfigBuilder.java | 2 +- .../zilla/runtime/binding/mqtt/config/MqttPublishConfig.java | 2 +- .../runtime/binding/mqtt/config/MqttPublishConfigBuilder.java | 2 +- .../zilla/runtime/binding/mqtt/config/MqttSessionConfig.java | 2 +- .../runtime/binding/mqtt/config/MqttSessionConfigBuilder.java | 2 +- .../runtime/binding/mqtt/config/MqttSubscribeConfig.java | 2 +- .../binding/mqtt/config/MqttSubscribeConfigBuilder.java | 2 +- .../zilla/runtime/binding/mqtt/config/MqttTopicConfig.java | 2 +- .../runtime/binding/mqtt/config/MqttTopicConfigBuilder.java | 2 +- .../runtime/binding/mqtt/config/MqttUserPropertyConfig.java | 2 +- .../binding/mqtt/config/MqttUserPropertyConfigBuilder.java | 2 +- .../zilla/runtime/binding/mqtt/config/MqttWithConfig.java | 2 +- .../runtime/binding/mqtt/config/MqttWithConfigBuilder.java | 2 +- .../zilla/runtime/binding/mqtt/internal/MqttBinding.java | 2 +- .../runtime/binding/mqtt/internal/MqttBindingContext.java | 2 +- .../runtime/binding/mqtt/internal/MqttBindingFactorySpi.java | 2 +- .../runtime/binding/mqtt/internal/MqttConfiguration.java | 2 +- .../zilla/runtime/binding/mqtt/internal/MqttEventContext.java | 2 +- .../runtime/binding/mqtt/internal/MqttEventFormatter.java | 2 +- .../binding/mqtt/internal/MqttEventFormatterFactory.java | 2 +- .../zilla/runtime/binding/mqtt/internal/MqttReasonCodes.java | 2 +- .../zilla/runtime/binding/mqtt/internal/MqttValidator.java | 2 +- .../binding/mqtt/internal/config/MqttBindingConfig.java | 2 +- .../mqtt/internal/config/MqttConditionConfigAdapter.java | 2 +- .../binding/mqtt/internal/config/MqttConditionMatcher.java | 2 +- .../mqtt/internal/config/MqttOptionsConfigAdapter.java | 2 +- .../runtime/binding/mqtt/internal/config/MqttRouteConfig.java | 2 +- .../binding/mqtt/internal/config/MqttTopicConfigAdapter.java | 2 +- .../runtime/binding/mqtt/internal/config/MqttVersion.java | 2 +- .../binding/mqtt/internal/stream/MqttClientFactory.java | 2 +- .../binding/mqtt/internal/stream/MqttServerFactory.java | 2 +- .../zilla/runtime/binding/mqtt/internal/stream/MqttState.java | 2 +- .../binding/mqtt/internal/stream/MqttStreamFactory.java | 2 +- runtime/binding-mqtt/src/main/moditect/module-info.java | 2 +- runtime/binding-mqtt/src/main/zilla/protocol.idl | 2 +- .../zilla/runtime/binding/mqtt/config/MqttWithConfigTest.java | 2 +- .../runtime/binding/mqtt/internal/MqttConfigurationTest.java | 2 +- .../zilla/runtime/binding/mqtt/internal/ValidatorTest.java | 2 +- .../mqtt/internal/config/MqttConditionConfigAdapterTest.java | 2 +- .../mqtt/internal/config/MqttOptionsConfigAdapterTest.java | 2 +- .../binding/mqtt/internal/stream/client/v5/ConnectionIT.java | 2 +- .../binding/mqtt/internal/stream/client/v5/PingIT.java | 2 +- .../binding/mqtt/internal/stream/client/v5/PublishIT.java | 2 +- .../binding/mqtt/internal/stream/client/v5/SubscribeIT.java | 2 +- .../binding/mqtt/internal/stream/client/v5/UnsubscribeIT.java | 2 +- .../binding/mqtt/internal/stream/server/v4/ConnectionIT.java | 2 +- .../binding/mqtt/internal/stream/server/v4/PingIT.java | 2 +- .../binding/mqtt/internal/stream/server/v4/PublishIT.java | 2 +- .../binding/mqtt/internal/stream/server/v4/SessionIT.java | 2 +- .../binding/mqtt/internal/stream/server/v4/SubscribeIT.java | 2 +- .../binding/mqtt/internal/stream/server/v4/UnsubscribeIT.java | 2 +- .../binding/mqtt/internal/stream/server/v5/ConnectionIT.java | 2 +- .../binding/mqtt/internal/stream/server/v5/PingIT.java | 2 +- .../binding/mqtt/internal/stream/server/v5/PublishIT.java | 2 +- .../binding/mqtt/internal/stream/server/v5/SessionIT.java | 2 +- .../binding/mqtt/internal/stream/server/v5/SubscribeIT.java | 2 +- .../binding/mqtt/internal/stream/server/v5/UnsubscribeIT.java | 2 +- .../openapi/asyncapi/config/OpenapiAsyncapiOptionsConfig.java | 2 +- .../openapi/asyncapi/config/OpenapiAsyncapiSpecConfig.java | 2 +- .../openapi/asyncapi/internal/OpenapiAsyncapiBinding.java | 2 +- .../asyncapi/internal/OpenapiAsyncapiBindingContext.java | 2 +- .../asyncapi/internal/OpenapiAsyncapiBindingFactorySpi.java | 2 +- .../asyncapi/internal/OpenapiAsyncapiConfiguration.java | 2 +- .../internal/config/OpenapiAsyncNamespaceGenerator.java | 2 +- .../internal/config/OpenapiAsyncapiBindingConfig.java | 2 +- .../internal/config/OpenapiAsyncapiConditionConfig.java | 2 +- .../config/OpenapiAsyncapiConditionConfigAdapter.java | 2 +- .../internal/config/OpenapiAsyncapiOptionsConfigAdapter.java | 2 +- .../asyncapi/internal/config/OpenapiAsyncapiRouteConfig.java | 2 +- .../asyncapi/internal/config/OpenapiAsyncapiWithConfig.java | 2 +- .../internal/config/OpenapiAsyncapiWithConfigAdapter.java | 2 +- .../internal/streams/OpenapiAsyncapiProxyFactory.java | 2 +- .../asyncapi/internal/streams/OpenapiAsyncapiState.java | 2 +- .../internal/streams/OpenapiAsyncapiStreamFactory.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../config/OpenapiAsyncapiConditionConfigAdapterTest.java | 2 +- .../config/OpenapiAsyncapiOptionsConfigAdapterTest.java | 2 +- .../internal/config/OpenapiAsyncapiWithConfigAdapterTest.java | 2 +- .../openapi/asyncapi/internal/streams/OpenapiAsyncapiIT.java | 2 +- .../runtime/binding/openapi/config/OpenapiCatalogConfig.java | 2 +- .../binding/openapi/config/OpenapiCatalogConfigBuilder.java | 2 +- .../zilla/runtime/binding/openapi/config/OpenapiConfig.java | 2 +- .../runtime/binding/openapi/config/OpenapiOptionsConfig.java | 2 +- .../binding/openapi/config/OpenapiOptionsConfigBuilder.java | 2 +- .../zilla/runtime/binding/openapi/config/OpenapiParser.java | 2 +- .../runtime/binding/openapi/config/OpenapiSchemaConfig.java | 2 +- .../runtime/binding/openapi/config/OpenapiServerConfig.java | 2 +- .../binding/openapi/config/OpenapiServerConfigBuilder.java | 2 +- .../runtime/binding/openapi/internal/OpenapiBinding.java | 2 +- .../binding/openapi/internal/OpenapiBindingContext.java | 2 +- .../binding/openapi/internal/OpenapiBindingFactorySpi.java | 2 +- .../binding/openapi/internal/OpenapiConfiguration.java | 2 +- .../binding/openapi/internal/config/OpenapiBindingConfig.java | 2 +- .../internal/config/OpenapiClientNamespaceGenerator.java | 2 +- .../openapi/internal/config/OpenapiNamespaceConfig.java | 2 +- .../openapi/internal/config/OpenapiNamespaceGenerator.java | 2 +- .../openapi/internal/config/OpenapiOptionsConfigAdapter.java | 2 +- .../binding/openapi/internal/config/OpenapiRouteConfig.java | 2 +- .../internal/config/OpenapiServerNamespaceGenerator.java | 2 +- .../zilla/runtime/binding/openapi/internal/model/Openapi.java | 2 +- .../binding/openapi/internal/model/OpenapiBearerAuth.java | 2 +- .../binding/openapi/internal/model/OpenapiComponents.java | 2 +- .../runtime/binding/openapi/internal/model/OpenapiHeader.java | 2 +- .../runtime/binding/openapi/internal/model/OpenapiItem.java | 2 +- .../binding/openapi/internal/model/OpenapiMediaType.java | 2 +- .../binding/openapi/internal/model/OpenapiOperation.java | 2 +- .../binding/openapi/internal/model/OpenapiParameter.java | 2 +- .../binding/openapi/internal/model/OpenapiPathItem.java | 2 +- .../binding/openapi/internal/model/OpenapiRequestBody.java | 2 +- .../binding/openapi/internal/model/OpenapiResponse.java | 2 +- .../openapi/internal/model/OpenapiResponseByContentType.java | 2 +- .../runtime/binding/openapi/internal/model/OpenapiSchema.java | 2 +- .../binding/openapi/internal/model/OpenapiSecurityScheme.java | 2 +- .../runtime/binding/openapi/internal/model/OpenapiServer.java | 2 +- .../binding/openapi/internal/model/OpenapiVariable.java | 2 +- .../openapi/internal/streams/OpenapiClientFactory.java | 2 +- .../openapi/internal/streams/OpenapiServerFactory.java | 2 +- .../binding/openapi/internal/streams/OpenapiState.java | 2 +- .../openapi/internal/streams/OpenapiStreamFactory.java | 2 +- .../binding/openapi/internal/view/OpenapiOperationView.java | 2 +- .../binding/openapi/internal/view/OpenapiOperationsView.java | 2 +- .../binding/openapi/internal/view/OpenapiPathView.java | 2 +- .../binding/openapi/internal/view/OpenapiResolvable.java | 2 +- .../binding/openapi/internal/view/OpenapiSchemaView.java | 2 +- .../binding/openapi/internal/view/OpenapiServerView.java | 2 +- .../binding/openapi/internal/view/OpenapiVariableView.java | 2 +- .../runtime/binding/openapi/internal/view/OpenapiView.java | 2 +- runtime/binding-openapi/src/main/moditect/module-info.java | 2 +- .../binding/openapi/internal/OpenapiConfigurationTest.java | 2 +- .../internal/config/OpenapiOptionsConfigAdapterTest.java | 2 +- .../binding/openapi/internal/streams/OpenapiClientIT.java | 2 +- .../binding/openapi/internal/streams/OpenapiServerIT.java | 2 +- .../runtime/binding/proxy/config/ProxyAddressConfig.java | 2 +- .../runtime/binding/proxy/config/ProxyConditionConfig.java | 2 +- .../zilla/runtime/binding/proxy/config/ProxyInfoConfig.java | 2 +- .../runtime/binding/proxy/config/ProxyOptionsConfig.java | 2 +- .../zilla/runtime/binding/proxy/internal/ProxyBinding.java | 2 +- .../runtime/binding/proxy/internal/ProxyBindingContext.java | 2 +- .../binding/proxy/internal/ProxyBindingFactorySpi.java | 2 +- .../runtime/binding/proxy/internal/ProxyConfiguration.java | 2 +- .../proxy/internal/config/ProxyAddressConfigAdapter.java | 2 +- .../binding/proxy/internal/config/ProxyBindingConfig.java | 2 +- .../proxy/internal/config/ProxyConditionConfigAdapter.java | 2 +- .../binding/proxy/internal/config/ProxyConditionMatcher.java | 2 +- .../binding/proxy/internal/config/ProxyInfoConfigAdapter.java | 2 +- .../proxy/internal/config/ProxyOptionsConfigAdapter.java | 2 +- .../binding/proxy/internal/config/ProxyRouteConfig.java | 2 +- .../binding/proxy/internal/config/ProxySecureInfoConfig.java | 2 +- .../proxy/internal/config/ProxySecureInfoConfigAdapter.java | 2 +- .../binding/proxy/internal/stream/ProxyClientFactory.java | 2 +- .../runtime/binding/proxy/internal/stream/ProxyRouter.java | 2 +- .../binding/proxy/internal/stream/ProxyServerFactory.java | 2 +- .../runtime/binding/proxy/internal/stream/ProxyState.java | 2 +- .../binding/proxy/internal/stream/ProxyStreamFactory.java | 2 +- runtime/binding-proxy/src/main/moditect/module-info.java | 2 +- runtime/binding-proxy/src/main/zilla/internal.idl | 2 +- .../internal/config/ProxyConditionConfigAdapterTest.java | 2 +- .../binding/proxy/internal/config/ProxyMatcherTest.java | 2 +- .../proxy/internal/config/ProxyOptionsConfigAdapterTest.java | 2 +- .../runtime/binding/proxy/internal/streams/ProxyClientIT.java | 2 +- .../runtime/binding/proxy/internal/streams/ProxyServerIT.java | 2 +- .../binding/sse/kafka/config/SseKafkaConditionConfig.java | 2 +- .../sse/kafka/config/SseKafkaConditionConfigBuilder.java | 2 +- .../runtime/binding/sse/kafka/config/SseKafkaWithConfig.java | 2 +- .../binding/sse/kafka/config/SseKafkaWithConfigBuilder.java | 2 +- .../binding/sse/kafka/config/SseKafkaWithFilterConfig.java | 2 +- .../sse/kafka/config/SseKafkaWithFilterConfigBuilder.java | 2 +- .../sse/kafka/config/SseKafkaWithFilterHeaderConfig.java | 2 +- .../kafka/config/SseKafkaWithFilterHeaderConfigBuilder.java | 2 +- .../runtime/binding/sse/kafka/internal/SseKafkaBinding.java | 2 +- .../binding/sse/kafka/internal/SseKafkaBindingContext.java | 2 +- .../binding/sse/kafka/internal/SseKafkaBindingFactorySpi.java | 2 +- .../binding/sse/kafka/internal/SseKafkaConfiguration.java | 2 +- .../sse/kafka/internal/config/SseKafkaBindingConfig.java | 2 +- .../kafka/internal/config/SseKafkaConditionConfigAdapter.java | 2 +- .../sse/kafka/internal/config/SseKafkaConditionMatcher.java | 2 +- .../sse/kafka/internal/config/SseKafkaRouteConfig.java | 2 +- .../sse/kafka/internal/config/SseKafkaWithConfigAdapter.java | 2 +- .../kafka/internal/config/SseKafkaWithFilterHeaderResult.java | 2 +- .../sse/kafka/internal/config/SseKafkaWithFilterResult.java | 2 +- .../sse/kafka/internal/config/SseKafkaWithResolver.java | 2 +- .../binding/sse/kafka/internal/config/SseKafkaWithResult.java | 2 +- .../binding/sse/kafka/internal/stream/SseKafkaIdHelper.java | 2 +- .../sse/kafka/internal/stream/SseKafkaProxyFactory.java | 2 +- .../binding/sse/kafka/internal/stream/SseKafkaState.java | 2 +- .../sse/kafka/internal/stream/SseKafkaStreamFactory.java | 2 +- runtime/binding-sse-kafka/src/main/moditect/module-info.java | 2 +- runtime/binding-sse-kafka/src/main/zilla/internal.idl | 2 +- .../binding/sse/kafka/internal/SseKafkaConfigurationTest.java | 2 +- .../internal/config/SseKafkaConditionConfigAdapterTest.java | 2 +- .../kafka/internal/config/SseKafkaWithConfigAdapterTest.java | 2 +- .../sse/kafka/internal/stream/SseKafkaIdHelperTest.java | 2 +- .../binding/sse/kafka/internal/stream/SseKafkaProxyIT.java | 2 +- .../zilla/runtime/binding/sse/config/SseConditionConfig.java | 2 +- .../runtime/binding/sse/config/SseConditionConfigBuilder.java | 2 +- .../zilla/runtime/binding/sse/config/SseOptionsConfig.java | 2 +- .../runtime/binding/sse/config/SseOptionsConfigBuilder.java | 2 +- .../runtime/binding/sse/config/SsePathConfigBuilder.java | 2 +- .../zilla/runtime/binding/sse/config/SseRequestConfig.java | 2 +- .../zilla/runtime/binding/sse/config/SseWithConfig.java | 2 +- .../runtime/binding/sse/config/SseWithConfigBuilder.java | 2 +- .../zilla/runtime/binding/sse/internal/SseBinding.java | 2 +- .../zilla/runtime/binding/sse/internal/SseBindingContext.java | 2 +- .../runtime/binding/sse/internal/SseBindingFactorySpi.java | 2 +- .../zilla/runtime/binding/sse/internal/SseConfiguration.java | 2 +- .../runtime/binding/sse/internal/config/SseBindingConfig.java | 2 +- .../sse/internal/config/SseConditionConfigAdapter.java | 2 +- .../binding/sse/internal/config/SseConditionMatcher.java | 2 +- .../binding/sse/internal/config/SseOptionsConfigAdapter.java | 2 +- .../binding/sse/internal/config/SseRequestConfigAdapter.java | 2 +- .../runtime/binding/sse/internal/config/SseRouteConfig.java | 2 +- .../runtime/binding/sse/internal/stream/SseClientFactory.java | 2 +- .../runtime/binding/sse/internal/stream/SseServerFactory.java | 2 +- .../zilla/runtime/binding/sse/internal/stream/SseState.java | 2 +- .../runtime/binding/sse/internal/stream/SseStreamFactory.java | 2 +- .../runtime/binding/sse/internal/types/codec/SseEventFW.java | 2 +- .../zilla/runtime/binding/sse/internal/util/Flags.java | 2 +- runtime/binding-sse/src/main/moditect/module-info.java | 2 +- .../zilla/runtime/binding/sse/config/SseWithConfigTest.java | 2 +- .../runtime/binding/sse/internal/SseConfigurationTest.java | 2 +- .../sse/internal/config/SseConditionConfigAdapterTest.java | 2 +- .../sse/internal/config/SseOptionsConfigAdapterTest.java | 2 +- .../binding/sse/internal/streams/client/AdvisoryIT.java | 2 +- .../binding/sse/internal/streams/client/ByteOrderMarkIT.java | 2 +- .../runtime/binding/sse/internal/streams/client/DataIT.java | 2 +- .../binding/sse/internal/streams/client/EndOfLineIT.java | 2 +- .../runtime/binding/sse/internal/streams/client/ErrorIT.java | 2 +- .../binding/sse/internal/streams/client/HandshakeIT.java | 2 +- .../binding/sse/internal/streams/client/ReconnectIT.java | 2 +- .../runtime/binding/sse/internal/streams/client/TypeIT.java | 2 +- .../binding/sse/internal/streams/server/AdvisoryIT.java | 2 +- .../binding/sse/internal/streams/server/ChallengeIT.java | 2 +- .../runtime/binding/sse/internal/streams/server/DataIT.java | 2 +- .../runtime/binding/sse/internal/streams/server/ErrorIT.java | 2 +- .../binding/sse/internal/streams/server/HandshakeIT.java | 2 +- .../runtime/binding/sse/internal/streams/server/IdIT.java | 2 +- .../binding/sse/internal/streams/server/ReconnectIT.java | 2 +- .../binding/sse/internal/streams/server/TimestampIT.java | 2 +- .../runtime/binding/sse/internal/streams/server/TypeIT.java | 2 +- .../binding/sse/internal/types/codec/SseEventFWTest.java | 2 +- .../zilla/runtime/binding/tcp/config/TcpConditionConfig.java | 2 +- .../runtime/binding/tcp/config/TcpConditionConfigBuilder.java | 2 +- .../zilla/runtime/binding/tcp/config/TcpOptionsConfig.java | 2 +- .../runtime/binding/tcp/config/TcpOptionsConfigBuilder.java | 2 +- .../zilla/runtime/binding/tcp/internal/TcpBinding.java | 2 +- .../zilla/runtime/binding/tcp/internal/TcpBindingContext.java | 2 +- .../runtime/binding/tcp/internal/TcpBindingFactorySpi.java | 2 +- .../zilla/runtime/binding/tcp/internal/TcpConfiguration.java | 2 +- .../zilla/runtime/binding/tcp/internal/TcpEventContext.java | 2 +- .../zilla/runtime/binding/tcp/internal/TcpEventFormatter.java | 2 +- .../binding/tcp/internal/TcpEventFormatterFactory.java | 2 +- .../runtime/binding/tcp/internal/config/TcpBindingConfig.java | 2 +- .../tcp/internal/config/TcpConditionConfigAdapter.java | 2 +- .../binding/tcp/internal/config/TcpConditionMatcher.java | 2 +- .../binding/tcp/internal/config/TcpOptionsConfigAdapter.java | 2 +- .../runtime/binding/tcp/internal/config/TcpRouteConfig.java | 2 +- .../binding/tcp/internal/config/TcpServerBindingConfig.java | 2 +- .../runtime/binding/tcp/internal/stream/TcpClientFactory.java | 2 +- .../runtime/binding/tcp/internal/stream/TcpClientRouter.java | 2 +- .../runtime/binding/tcp/internal/stream/TcpServerFactory.java | 2 +- .../runtime/binding/tcp/internal/stream/TcpServerRouter.java | 2 +- .../zilla/runtime/binding/tcp/internal/stream/TcpState.java | 2 +- .../runtime/binding/tcp/internal/stream/TcpStreamFactory.java | 2 +- .../zilla/runtime/binding/tcp/internal/util/Cidr.java | 2 +- .../zilla/runtime/binding/tcp/internal/util/IpUtil.java | 2 +- runtime/binding-tcp/src/main/moditect/module-info.java | 2 +- .../runtime/binding/tcp/internal/SocketChannelHelper.java | 2 +- .../zilla/runtime/binding/tcp/internal/bench/TcpServerBM.java | 2 +- .../tcp/internal/config/TcpConditionConfigAdapterTest.java | 2 +- .../tcp/internal/config/TcpOptionsConfigAdapterTest.java | 2 +- .../tcp/internal/streams/ClientIOExceptionFromReadIT.java | 2 +- .../tcp/internal/streams/ClientIOExceptionFromWriteIT.java | 2 +- .../zilla/runtime/binding/tcp/internal/streams/ClientIT.java | 2 +- .../runtime/binding/tcp/internal/streams/ClientLimitsIT.java | 2 +- .../binding/tcp/internal/streams/ClientPartialWriteIT.java | 2 +- .../tcp/internal/streams/ClientPartialWriteLimitsIT.java | 2 +- .../binding/tcp/internal/streams/ClientResetAndAbortIT.java | 2 +- .../runtime/binding/tcp/internal/streams/ClientRoutingIT.java | 2 +- .../zilla/runtime/binding/tcp/internal/streams/EventIT.java | 2 +- .../tcp/internal/streams/ServerIOExceptionFromReadIT.java | 2 +- .../tcp/internal/streams/ServerIOExceptionFromWriteIT.java | 2 +- .../zilla/runtime/binding/tcp/internal/streams/ServerIT.java | 2 +- .../runtime/binding/tcp/internal/streams/ServerLimitsIT.java | 2 +- .../binding/tcp/internal/streams/ServerPartialWriteIT.java | 2 +- .../tcp/internal/streams/ServerPartialWriteLimitsIT.java | 2 +- .../binding/tcp/internal/streams/ServerResetAndAbortIT.java | 2 +- .../runtime/binding/tcp/internal/streams/ServerRoutingIT.java | 2 +- .../zilla/runtime/binding/tcp/internal/util/CidrTest.java | 2 +- .../zilla/runtime/binding/tcp/internal/util/IpUtilTest.java | 2 +- .../zilla/runtime/binding/tls/config/TlsConditionConfig.java | 2 +- .../runtime/binding/tls/config/TlsConditionConfigBuilder.java | 2 +- .../zilla/runtime/binding/tls/config/TlsMutualConfig.java | 2 +- .../zilla/runtime/binding/tls/config/TlsOptionsConfig.java | 2 +- .../runtime/binding/tls/config/TlsOptionsConfigBuilder.java | 2 +- .../zilla/runtime/binding/tls/internal/TlsBinding.java | 2 +- .../zilla/runtime/binding/tls/internal/TlsBindingContext.java | 2 +- .../runtime/binding/tls/internal/TlsBindingFactorySpi.java | 2 +- .../zilla/runtime/binding/tls/internal/TlsConfiguration.java | 2 +- .../zilla/runtime/binding/tls/internal/TlsEventContext.java | 2 +- .../zilla/runtime/binding/tls/internal/TlsEventFormatter.java | 2 +- .../binding/tls/internal/TlsEventFormatterFactory.java | 2 +- .../runtime/binding/tls/internal/config/TlsBindingConfig.java | 2 +- .../tls/internal/config/TlsConditionConfigAdapter.java | 2 +- .../binding/tls/internal/config/TlsConditionMatcher.java | 2 +- .../binding/tls/internal/config/TlsOptionsConfigAdapter.java | 2 +- .../runtime/binding/tls/internal/config/TlsRouteConfig.java | 2 +- .../internal/identity/TlsClientX509ExtendedKeyManager.java | 2 +- .../runtime/binding/tls/internal/stream/TlsClientFactory.java | 2 +- .../runtime/binding/tls/internal/stream/TlsProxyFactory.java | 2 +- .../runtime/binding/tls/internal/stream/TlsServerFactory.java | 2 +- .../zilla/runtime/binding/tls/internal/stream/TlsState.java | 2 +- .../runtime/binding/tls/internal/stream/TlsStreamFactory.java | 2 +- runtime/binding-tls/src/main/moditect/module-info.java | 2 +- runtime/binding-tls/src/main/zilla/protocol.idl | 2 +- .../runtime/binding/tls/internal/TlsConfigurationTest.java | 2 +- .../runtime/binding/tls/internal/bench/TlsHandshakeBM.java | 2 +- .../zilla/runtime/binding/tls/internal/bench/TlsWorker.java | 2 +- .../tls/internal/config/TlsConditionConfigAdapterTest.java | 2 +- .../tls/internal/config/TlsOptionsConfigAdapterTest.java | 2 +- .../zilla/runtime/binding/tls/internal/streams/BridgeIT.java | 2 +- .../binding/tls/internal/streams/ClientFragmentedIT.java | 2 +- .../zilla/runtime/binding/tls/internal/streams/ClientIT.java | 2 +- .../zilla/runtime/binding/tls/internal/streams/ProxyIT.java | 2 +- .../binding/tls/internal/streams/ServerFragmentedIT.java | 2 +- .../zilla/runtime/binding/tls/internal/streams/ServerIT.java | 2 +- .../zilla/runtime/binding/ws/config/WsConditionConfig.java | 2 +- .../zilla/runtime/binding/ws/config/WsOptionsConfig.java | 2 +- .../aklivity/zilla/runtime/binding/ws/internal/WsBinding.java | 2 +- .../zilla/runtime/binding/ws/internal/WsBindingContext.java | 2 +- .../runtime/binding/ws/internal/WsBindingFactorySpi.java | 2 +- .../zilla/runtime/binding/ws/internal/WsConfiguration.java | 2 +- .../runtime/binding/ws/internal/config/WsBindingConfig.java | 2 +- .../binding/ws/internal/config/WsConditionConfigAdapter.java | 2 +- .../binding/ws/internal/config/WsConditionMatcher.java | 2 +- .../binding/ws/internal/config/WsOptionsConfigAdapter.java | 2 +- .../runtime/binding/ws/internal/config/WsRouteConfig.java | 2 +- .../runtime/binding/ws/internal/stream/WsClientFactory.java | 2 +- .../runtime/binding/ws/internal/stream/WsServerFactory.java | 2 +- .../zilla/runtime/binding/ws/internal/stream/WsState.java | 2 +- .../runtime/binding/ws/internal/stream/WsStreamFactory.java | 2 +- .../runtime/binding/ws/internal/types/codec/WsHeaderFW.java | 2 +- .../zilla/runtime/binding/ws/internal/util/WsMaskUtil.java | 2 +- runtime/binding-ws/src/main/moditect/module-info.java | 2 +- .../ws/internal/config/WsConditionConfigAdapterTest.java | 2 +- .../ws/internal/config/WsOptionsConfigAdapterTest.java | 2 +- .../binding/ws/internal/streams/client/AdvisoryIT.java | 2 +- .../binding/ws/internal/streams/client/BaseFramingIT.java | 2 +- .../runtime/binding/ws/internal/streams/client/ControlIT.java | 2 +- .../binding/ws/internal/streams/client/FlowControlIT.java | 2 +- .../ws/internal/streams/client/OpeningHandshakeIT.java | 2 +- .../binding/ws/internal/streams/server/AdvisoryIT.java | 2 +- .../binding/ws/internal/streams/server/BaseFramingIT.java | 2 +- .../ws/internal/streams/server/ClosingHandshakeIT.java | 2 +- .../runtime/binding/ws/internal/streams/server/ControlIT.java | 2 +- .../binding/ws/internal/streams/server/FlowControlIT.java | 2 +- .../binding/ws/internal/streams/server/FragmentationIT.java | 2 +- .../ws/internal/streams/server/OpeningHandshakeIT.java | 2 +- .../catalog/apicurio/config/ApicurioOptionsConfig.java | 2 +- .../catalog/apicurio/config/ApicurioOptionsConfigBuilder.java | 2 +- .../runtime/catalog/apicurio/internal/ApicurioCache.java | 2 +- .../runtime/catalog/apicurio/internal/ApicurioCatalog.java | 2 +- .../catalog/apicurio/internal/ApicurioCatalogContext.java | 2 +- .../catalog/apicurio/internal/ApicurioCatalogFactorySpi.java | 2 +- .../catalog/apicurio/internal/ApicurioCatalogHandler.java | 2 +- .../catalog/apicurio/internal/ApicurioEventContext.java | 2 +- .../catalog/apicurio/internal/ApicurioEventFormatter.java | 2 +- .../apicurio/internal/ApicurioEventFormatterFactory.java | 2 +- .../runtime/catalog/apicurio/internal/CachedArtifact.java | 2 +- .../runtime/catalog/apicurio/internal/CachedArtifactId.java | 2 +- .../internal/config/ApicurioOptionsConfigAdapter.java | 2 +- runtime/catalog-apicurio/src/main/moditect/module-info.java | 2 +- runtime/catalog-apicurio/src/main/zilla/internal.idl | 2 +- .../catalog/apicurio/internal/ApicurioCatalogFactoryTest.java | 2 +- .../catalog/apicurio/internal/ApicurioCatalogHandlerTest.java | 2 +- .../runtime/catalog/apicurio/internal/ApicurioCatalogIT.java | 2 +- .../internal/config/ApicurioOptionsConfigAdapterTest.java | 2 +- .../catalog/filesystem/internal/FilesystemCatalog.java | 2 +- .../catalog/filesystem/internal/FilesystemCatalogContext.java | 2 +- .../filesystem/internal/FilesystemCatalogFactorySpi.java | 2 +- .../catalog/filesystem/internal/FilesystemCatalogHandler.java | 2 +- .../catalog/filesystem/internal/FilesystemEventContext.java | 2 +- .../catalog/filesystem/internal/FilesystemEventFormatter.java | 2 +- .../filesystem/internal/FilesystemEventFormatterFactory.java | 2 +- .../filesystem/internal/config/FilesystemOptionsConfig.java | 2 +- .../internal/config/FilesystemOptionsConfigAdapter.java | 2 +- .../internal/config/FilesystemOptionsConfigBuilder.java | 2 +- .../filesystem/internal/config/FilesystemSchemaConfig.java | 2 +- .../internal/config/FilesystemSchemaConfigBuilder.java | 2 +- runtime/catalog-filesystem/src/main/moditect/module-info.java | 2 +- .../zilla/runtime/catalog/filesystem/internal/EventIT.java | 2 +- .../filesystem/internal/FilesystemCatalogFactoryTest.java | 2 +- .../runtime/catalog/filesystem/internal/FilesystemIT.java | 2 +- .../internal/config/FilesystemOptionsConfigAdapterTest.java | 2 +- .../runtime/catalog/inline/config/InlineOptionsConfig.java | 2 +- .../catalog/inline/config/InlineOptionsConfigAdapter.java | 2 +- .../catalog/inline/config/InlineOptionsConfigBuilder.java | 2 +- .../runtime/catalog/inline/config/InlineSchemaConfig.java | 2 +- .../catalog/inline/config/InlineSchemaConfigBuilder.java | 2 +- .../zilla/runtime/catalog/inline/internal/InlineCatalog.java | 2 +- .../runtime/catalog/inline/internal/InlineCatalogContext.java | 2 +- .../catalog/inline/internal/InlineCatalogFactorySpi.java | 2 +- .../runtime/catalog/inline/internal/InlineCatalogHandler.java | 2 +- runtime/catalog-inline/src/main/moditect/module-info.java | 2 +- .../runtime/catalog/inline/InlineCatalogFactoryTest.java | 2 +- .../catalog/inline/config/InlineOptionsConfigAdapterTest.java | 2 +- .../zilla/runtime/catalog/inline/internal/InlineIT.java | 2 +- .../catalog/karapace/config/KarapaceOptionsConfig.java | 2 +- .../catalog/karapace/config/KarapaceOptionsConfigBuilder.java | 2 +- .../catalog/karapace/internal/KarapaceCatalogFactorySpi.java | 2 +- .../internal/config/KarapaceOptionsConfigAdapter.java | 2 +- .../internal/events/KarapaceEventFormatterFactory.java | 2 +- runtime/catalog-karapace/src/main/moditect/module-info.java | 2 +- runtime/catalog-karapace/src/main/zilla/internal.idl | 2 +- .../catalog/karapace/internal/KarapaceCatalogFactoryTest.java | 2 +- .../zilla/runtime/catalog/karapace/internal/KarapaceIT.java | 2 +- .../internal/config/KarapaceOptionsConfigAdapterTest.java | 2 +- .../registry/AbstractSchemaRegistryCatalogFactorySpi.java | 2 +- .../registry/AbstractSchemaRegistryEventFormatterFactory.java | 2 +- .../registry/AbstractSchemaRegistryOptionsConfigAdapter.java | 2 +- .../registry/config/AbstractSchemaRegistryOptionsConfig.java | 2 +- .../config/AbstractSchemaRegistryOptionsConfigBuilder.java | 2 +- .../schema/registry/config/SchemaRegistryOptionsConfig.java | 2 +- .../registry/config/SchemaRegistryOptionsConfigBuilder.java | 2 +- .../schema/registry/internal/SchemaRegistryCatalog.java | 2 +- .../registry/internal/SchemaRegistryCatalogContext.java | 2 +- .../registry/internal/SchemaRegistryCatalogFactorySpi.java | 2 +- .../registry/internal/config/SchemaRegistryCatalogConfig.java | 2 +- .../internal/config/SchemaRegistryOptionsConfigAdapter.java | 2 +- .../registry/internal/events/SchemaRegistryEventContext.java | 2 +- .../internal/events/SchemaRegistryEventFormatter.java | 2 +- .../internal/events/SchemaRegistryEventFormatterFactory.java | 2 +- .../schema/registry/internal/handler/CachedSchema.java | 2 +- .../schema/registry/internal/handler/CachedSchemaId.java | 2 +- .../schema/registry/internal/handler/SchemaRegistryCache.java | 2 +- .../internal/handler/SchemaRegistryCatalogHandler.java | 2 +- .../registry/internal/serializer/RegisterSchemaRequest.java | 2 +- .../registry/internal/serializer/UnregisterSchemaRequest.java | 2 +- .../src/main/moditect/module-info.java | 2 +- runtime/catalog-schema-registry/src/main/zilla/internal.idl | 2 +- .../registry/internal/SchemaRegistryCatalogFactoryTest.java | 2 +- .../registry/internal/SchemaRegistryCatalogHandlerTest.java | 2 +- .../catalog/schema/registry/internal/SchemaRegistryIT.java | 2 +- .../config/SchemaRegistryOptionsConfigAdapterTest.java | 2 +- .../internal/serializer/RegisterSchemaRequestTest.java | 2 +- .../command/metrics/internal/ZillaMetricsCommandSpi.java | 2 +- .../command/metrics/internal/airline/ZillaMetricsCommand.java | 2 +- .../command/metrics/internal/printer/MetricsPrinter.java | 2 +- runtime/command-metrics/src/main/moditect/module-info.java | 2 +- .../command/metrics/internal/printer/MetricsPrinterTest.java | 2 +- .../runtime/command/start/internal/ZillaStartCommandSpi.java | 2 +- .../command/start/internal/airline/ZillaStartCommand.java | 2 +- runtime/command-start/src/main/moditect/module-info.java | 2 +- .../runtime/command/stop/internal/ZillaStopCommandSpi.java | 2 +- .../command/stop/internal/airline/ZillaStopCommand.java | 2 +- runtime/command-stop/src/main/moditect/module-info.java | 2 +- .../command/version/internal/ZillaVersionCommandSpi.java | 2 +- .../command/version/internal/airline/ZillaVersionCommand.java | 2 +- runtime/command-version/src/main/moditect/module-info.java | 2 +- .../java/io/aklivity/zilla/runtime/command/ZillaCommand.java | 2 +- .../io/aklivity/zilla/runtime/command/ZillaCommandSpi.java | 2 +- .../io/aklivity/zilla/runtime/command/internal/ZillaMain.java | 2 +- runtime/command/src/main/moditect/module-info.java | 2 +- .../zilla/runtime/command/internal/ZillaMainTest.java | 2 +- .../zilla/runtime/command/internal/ZillaTestCommand.java | 2 +- .../zilla/runtime/command/internal/ZillaTestCommandSpi.java | 2 +- .../aklivity/zilla/runtime/common/feature/FeatureFilter.java | 2 +- .../io/aklivity/zilla/runtime/common/feature/Incubating.java | 2 +- runtime/common/src/main/moditect/module-info.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/Configuration.java | 2 +- .../main/java/io/aklivity/zilla/runtime/engine/Engine.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/EngineAffinity.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/EngineBuilder.java | 2 +- .../io/aklivity/zilla/runtime/engine/EngineConfiguration.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/EngineContext.java | 2 +- .../io/aklivity/zilla/runtime/engine/binding/Binding.java | 2 +- .../aklivity/zilla/runtime/engine/binding/BindingContext.java | 2 +- .../aklivity/zilla/runtime/engine/binding/BindingFactory.java | 2 +- .../zilla/runtime/engine/binding/BindingFactorySpi.java | 2 +- .../aklivity/zilla/runtime/engine/binding/BindingHandler.java | 2 +- .../runtime/engine/binding/function/MessageConsumer.java | 2 +- .../runtime/engine/binding/function/MessageFunction.java | 2 +- .../runtime/engine/binding/function/MessagePredicate.java | 2 +- .../zilla/runtime/engine/binding/function/MessageReader.java | 2 +- .../aklivity/zilla/runtime/engine/budget/BudgetCreditor.java | 2 +- .../aklivity/zilla/runtime/engine/budget/BudgetDebitor.java | 2 +- .../io/aklivity/zilla/runtime/engine/buffer/BufferPool.java | 2 +- .../io/aklivity/zilla/runtime/engine/catalog/Catalog.java | 2 +- .../aklivity/zilla/runtime/engine/catalog/CatalogContext.java | 2 +- .../aklivity/zilla/runtime/engine/catalog/CatalogFactory.java | 2 +- .../zilla/runtime/engine/catalog/CatalogFactorySpi.java | 2 +- .../aklivity/zilla/runtime/engine/catalog/CatalogHandler.java | 2 +- .../io/aklivity/zilla/runtime/engine/concurrent/Signaler.java | 2 +- .../aklivity/zilla/runtime/engine/config/AttributeConfig.java | 2 +- .../zilla/runtime/engine/config/AttributeConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/engine/config/BindingConfig.java | 2 +- .../zilla/runtime/engine/config/BindingConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/engine/config/CatalogConfig.java | 2 +- .../zilla/runtime/engine/config/CatalogConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/engine/config/CatalogedConfig.java | 2 +- .../zilla/runtime/engine/config/CatalogedConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/engine/config/ConditionConfig.java | 2 +- .../runtime/engine/config/ConditionConfigAdapterSpi.java | 2 +- .../zilla/runtime/engine/config/ConfigAdapterContext.java | 2 +- .../aklivity/zilla/runtime/engine/config/ConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/engine/config/ConfigException.java | 2 +- .../io/aklivity/zilla/runtime/engine/config/EngineConfig.java | 2 +- .../zilla/runtime/engine/config/EngineConfigAnnotator.java | 2 +- .../zilla/runtime/engine/config/EngineConfigBuilder.java | 2 +- .../zilla/runtime/engine/config/EngineConfigReader.java | 2 +- .../zilla/runtime/engine/config/EngineConfigWriter.java | 2 +- .../aklivity/zilla/runtime/engine/config/ExporterConfig.java | 2 +- .../zilla/runtime/engine/config/ExporterConfigBuilder.java | 2 +- .../io/aklivity/zilla/runtime/engine/config/GuardConfig.java | 2 +- .../zilla/runtime/engine/config/GuardConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/engine/config/GuardedConfig.java | 2 +- .../zilla/runtime/engine/config/GuardedConfigBuilder.java | 2 +- .../io/aklivity/zilla/runtime/engine/config/KindConfig.java | 2 +- .../io/aklivity/zilla/runtime/engine/config/MetricConfig.java | 2 +- .../zilla/runtime/engine/config/MetricConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/engine/config/MetricRefConfig.java | 2 +- .../zilla/runtime/engine/config/MetricRefConfigBuilder.java | 2 +- .../io/aklivity/zilla/runtime/engine/config/ModelConfig.java | 2 +- .../zilla/runtime/engine/config/ModelConfigAdapter.java | 2 +- .../zilla/runtime/engine/config/ModelConfigAdapterSpi.java | 2 +- .../aklivity/zilla/runtime/engine/config/NamespaceConfig.java | 2 +- .../zilla/runtime/engine/config/NamespaceConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/engine/config/OptionsConfig.java | 2 +- .../zilla/runtime/engine/config/OptionsConfigAdapter.java | 2 +- .../zilla/runtime/engine/config/OptionsConfigAdapterSpi.java | 2 +- .../io/aklivity/zilla/runtime/engine/config/RouteConfig.java | 2 +- .../zilla/runtime/engine/config/RouteConfigBuilder.java | 2 +- .../io/aklivity/zilla/runtime/engine/config/SchemaConfig.java | 2 +- .../zilla/runtime/engine/config/SchemaConfigAdapter.java | 2 +- .../zilla/runtime/engine/config/SchemaConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/engine/config/TelemetryConfig.java | 2 +- .../zilla/runtime/engine/config/TelemetryConfigBuilder.java | 2 +- .../zilla/runtime/engine/config/TelemetryRefConfig.java | 2 +- .../runtime/engine/config/TelemetryRefConfigBuilder.java | 2 +- .../io/aklivity/zilla/runtime/engine/config/VaultConfig.java | 2 +- .../zilla/runtime/engine/config/VaultConfigBuilder.java | 2 +- .../io/aklivity/zilla/runtime/engine/config/WithConfig.java | 2 +- .../zilla/runtime/engine/config/WithConfigAdapterSpi.java | 2 +- .../aklivity/zilla/runtime/engine/event/EventFormatter.java | 2 +- .../zilla/runtime/engine/event/EventFormatterFactory.java | 2 +- .../zilla/runtime/engine/event/EventFormatterFactorySpi.java | 2 +- .../zilla/runtime/engine/event/EventFormatterSpi.java | 2 +- .../io/aklivity/zilla/runtime/engine/exporter/Exporter.java | 2 +- .../zilla/runtime/engine/exporter/ExporterContext.java | 2 +- .../zilla/runtime/engine/exporter/ExporterFactory.java | 2 +- .../zilla/runtime/engine/exporter/ExporterFactorySpi.java | 2 +- .../zilla/runtime/engine/exporter/ExporterHandler.java | 2 +- .../aklivity/zilla/runtime/engine/ext/EngineExtContext.java | 2 +- .../io/aklivity/zilla/runtime/engine/ext/EngineExtSpi.java | 2 +- .../io/aklivity/zilla/runtime/engine/factory/Aliasable.java | 2 +- .../io/aklivity/zilla/runtime/engine/factory/Factory.java | 2 +- .../io/aklivity/zilla/runtime/engine/factory/FactorySpi.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/guard/Guard.java | 2 +- .../io/aklivity/zilla/runtime/engine/guard/GuardContext.java | 2 +- .../io/aklivity/zilla/runtime/engine/guard/GuardFactory.java | 2 +- .../aklivity/zilla/runtime/engine/guard/GuardFactorySpi.java | 2 +- .../io/aklivity/zilla/runtime/engine/guard/GuardHandler.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/internal/Info.java | 2 +- .../aklivity/zilla/runtime/engine/internal/LabelManager.java | 2 +- .../io/aklivity/zilla/runtime/engine/internal/Tuning.java | 2 +- .../runtime/engine/internal/budget/DefaultBudgetCreditor.java | 2 +- .../runtime/engine/internal/budget/DefaultBudgetDebitor.java | 2 +- .../runtime/engine/internal/buffer/DefaultBufferPool.java | 2 +- .../engine/internal/concurent/ManyToOneRingBuffer.java | 2 +- .../runtime/engine/internal/config/AttributeAdapter.java | 2 +- .../runtime/engine/internal/config/BindingConfigsAdapter.java | 2 +- .../zilla/runtime/engine/internal/config/CatalogAdapter.java | 2 +- .../runtime/engine/internal/config/CatalogedAdapter.java | 2 +- .../runtime/engine/internal/config/ConditionAdapter.java | 2 +- .../zilla/runtime/engine/internal/config/ExporterAdapter.java | 2 +- .../zilla/runtime/engine/internal/config/GuardAdapter.java | 2 +- .../zilla/runtime/engine/internal/config/KindAdapter.java | 2 +- .../zilla/runtime/engine/internal/config/MetricAdapter.java | 2 +- .../runtime/engine/internal/config/MetricRefAdapter.java | 2 +- .../runtime/engine/internal/config/NamespaceAdapter.java | 2 +- .../zilla/runtime/engine/internal/config/RouteAdapter.java | 2 +- .../runtime/engine/internal/config/TelemetryAdapter.java | 2 +- .../runtime/engine/internal/config/TelemetryRefAdapter.java | 2 +- .../zilla/runtime/engine/internal/config/VaultAdapter.java | 2 +- .../zilla/runtime/engine/internal/config/WithAdapter.java | 2 +- .../engine/internal/config/schema/SchemaDecorator.java | 2 +- .../internal/config/schema/UniquePropertyKeysSchema.java | 2 +- .../runtime/engine/internal/event/EngineEventContext.java | 2 +- .../runtime/engine/internal/event/EngineEventFormatter.java | 2 +- .../engine/internal/event/EngineEventFormatterFactory.java | 2 +- .../zilla/runtime/engine/internal/exporter/ExporterAgent.java | 2 +- .../zilla/runtime/engine/internal/layouts/BindingsLayout.java | 2 +- .../zilla/runtime/engine/internal/layouts/BudgetsLayout.java | 2 +- .../runtime/engine/internal/layouts/BufferPoolLayout.java | 2 +- .../zilla/runtime/engine/internal/layouts/EventsLayout.java | 2 +- .../zilla/runtime/engine/internal/layouts/StreamsLayout.java | 2 +- .../engine/internal/layouts/metrics/HistogramsLayout.java | 2 +- .../engine/internal/layouts/metrics/MetricsLayout.java | 2 +- .../engine/internal/layouts/metrics/ScalarsLayout.java | 2 +- .../aklivity/zilla/runtime/engine/internal/poller/Poller.java | 2 +- .../zilla/runtime/engine/internal/poller/PollerKeyImpl.java | 2 +- .../runtime/engine/internal/registry/BindingRegistry.java | 2 +- .../runtime/engine/internal/registry/CatalogRegistry.java | 2 +- .../zilla/runtime/engine/internal/registry/EngineManager.java | 2 +- .../runtime/engine/internal/registry/EngineRegistry.java | 2 +- .../zilla/runtime/engine/internal/registry/EngineWorker.java | 2 +- .../runtime/engine/internal/registry/ExporterRegistry.java | 2 +- .../zilla/runtime/engine/internal/registry/GuardRegistry.java | 2 +- .../runtime/engine/internal/registry/MetricHandlerKind.java | 2 +- .../runtime/engine/internal/registry/MetricRegistry.java | 2 +- .../runtime/engine/internal/registry/NamespaceRegistry.java | 2 +- .../zilla/runtime/engine/internal/registry/NamespaceTask.java | 2 +- .../zilla/runtime/engine/internal/registry/VaultRegistry.java | 2 +- .../runtime/engine/internal/spy/OneToOneRingBufferSpy.java | 2 +- .../zilla/runtime/engine/internal/spy/RingBufferSpy.java | 2 +- .../zilla/runtime/engine/internal/stream/BudgetId.java | 2 +- .../zilla/runtime/engine/internal/stream/StreamId.java | 2 +- .../aklivity/zilla/runtime/engine/internal/stream/Target.java | 2 +- .../engine/internal/watcher/EngineConfigWatchTask.java | 2 +- .../runtime/engine/internal/watcher/EngineConfigWatcher.java | 2 +- .../io/aklivity/zilla/runtime/engine/metrics/Collector.java | 2 +- .../zilla/runtime/engine/metrics/CollectorContext.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/metrics/Metric.java | 2 +- .../aklivity/zilla/runtime/engine/metrics/MetricContext.java | 2 +- .../io/aklivity/zilla/runtime/engine/metrics/MetricGroup.java | 2 +- .../zilla/runtime/engine/metrics/MetricGroupFactory.java | 2 +- .../zilla/runtime/engine/metrics/MetricGroupFactorySpi.java | 2 +- .../zilla/runtime/engine/metrics/TestCounterMetric.java | 2 +- .../zilla/runtime/engine/metrics/TestGaugeMetric.java | 2 +- .../zilla/runtime/engine/metrics/TestHistogramMetric.java | 2 +- .../zilla/runtime/engine/metrics/reader/HistogramRecord.java | 2 +- .../zilla/runtime/engine/metrics/reader/MetricRecord.java | 2 +- .../zilla/runtime/engine/metrics/reader/MetricsReader.java | 2 +- .../zilla/runtime/engine/metrics/reader/ScalarRecord.java | 2 +- .../aklivity/zilla/runtime/engine/model/ConverterHandler.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/model/Model.java | 2 +- .../io/aklivity/zilla/runtime/engine/model/ModelContext.java | 2 +- .../io/aklivity/zilla/runtime/engine/model/ModelFactory.java | 2 +- .../aklivity/zilla/runtime/engine/model/ModelFactorySpi.java | 2 +- .../aklivity/zilla/runtime/engine/model/ValidatorHandler.java | 2 +- .../zilla/runtime/engine/model/function/ValueConsumer.java | 2 +- .../aklivity/zilla/runtime/engine/namespace/NamespacedId.java | 2 +- .../io/aklivity/zilla/runtime/engine/poller/PollerKey.java | 2 +- .../zilla/runtime/engine/reader/BindingsLayoutReader.java | 2 +- .../io/aklivity/zilla/runtime/engine/resolver/Resolver.java | 2 +- .../zilla/runtime/engine/resolver/ResolverFactorySpi.java | 2 +- .../aklivity/zilla/runtime/engine/resolver/ResolverSpi.java | 2 +- .../io/aklivity/zilla/runtime/engine/security/Trusted.java | 2 +- .../zilla/runtime/engine/util/function/LongLongFunction.java | 2 +- .../runtime/engine/util/function/LongObjectBiConsumer.java | 2 +- .../runtime/engine/util/function/LongObjectBiFunction.java | 2 +- .../runtime/engine/util/function/ObjectLongLongFunction.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/vault/Vault.java | 2 +- .../io/aklivity/zilla/runtime/engine/vault/VaultContext.java | 2 +- .../io/aklivity/zilla/runtime/engine/vault/VaultFactory.java | 2 +- .../aklivity/zilla/runtime/engine/vault/VaultFactorySpi.java | 2 +- .../io/aklivity/zilla/runtime/engine/vault/VaultHandler.java | 2 +- runtime/engine/src/main/moditect/module-info.java | 2 +- .../io/aklivity/zilla/runtime/engine/ConfigurationTest.java | 2 +- .../zilla/runtime/engine/binding/BindingFactoryTest.java | 2 +- .../runtime/engine/binding/function/MessageConsumerTest.java | 2 +- .../runtime/engine/binding/function/MessagePredicateTest.java | 2 +- .../zilla/runtime/engine/catalog/CatalogFactoryTest.java | 2 +- .../zilla/runtime/engine/config/CatalogedConfigTest.java | 2 +- .../runtime/engine/config/EngineConfigAnnotatorTest.java | 2 +- .../zilla/runtime/engine/config/EngineConfigWriterTest.java | 2 +- .../zilla/runtime/engine/exporter/ExporterFactoryTest.java | 2 +- .../aklivity/zilla/runtime/engine/guard/GuardFactoryTest.java | 2 +- .../runtime/engine/internal/EngineConfigurationTest.java | 2 +- .../zilla/runtime/engine/internal/EngineContextIT.java | 2 +- .../io/aklivity/zilla/runtime/engine/internal/EngineIT.java | 2 +- .../zilla/runtime/engine/internal/EngineMetricsIT.java | 2 +- .../io/aklivity/zilla/runtime/engine/internal/EngineTest.java | 2 +- .../zilla/runtime/engine/internal/ReconfigureFileIT.java | 2 +- .../zilla/runtime/engine/internal/ReconfigureHttpIT.java | 2 +- .../engine/internal/budget/DefaultBudgetCreditorTest.java | 2 +- .../engine/internal/budget/DefaultBudgetDebitorTest.java | 2 +- .../runtime/engine/internal/buffer/DefaultBufferPoolTest.java | 2 +- .../engine/internal/concurrent/ManyToOneRingBufferTest.java | 2 +- .../runtime/engine/internal/concurrent/bench/BufferBM.java | 2 +- .../runtime/engine/internal/concurrent/bench/TimestampBM.java | 2 +- .../engine/internal/config/BindingConfigsAdapterTest.java | 2 +- .../engine/internal/config/ConditionConfigAdapterTest.java | 2 +- .../engine/internal/config/NamespaceConfigAdapterTest.java | 2 +- .../engine/internal/config/OptionsConfigAdapterTest.java | 2 +- .../runtime/engine/internal/config/RoleConfigAdapterTest.java | 2 +- .../engine/internal/config/RouteConfigAdapterTest.java | 2 +- .../engine/internal/config/TelemetryConfigsAdapterTest.java | 2 +- .../runtime/engine/internal/config/WithConfigAdapterTest.java | 2 +- .../zilla/runtime/engine/internal/event/EngineEventIT.java | 2 +- .../runtime/engine/internal/layouts/EventsLayoutTest.java | 2 +- .../engine/internal/layouts/metrics/HistogramsLayoutTest.java | 2 +- .../engine/internal/layouts/metrics/ScalarsLayoutTest.java | 2 +- .../zilla/runtime/engine/internal/model/ModelFactoryTest.java | 2 +- .../zilla/runtime/engine/internal/model/ModelTest.java | 2 +- .../engine/internal/model/config/ModelConfigAdapterTest.java | 2 +- .../zilla/runtime/engine/metrics/MetricGroupFactoryTest.java | 2 +- .../zilla/runtime/engine/metrics/MetricGroupTest.java | 2 +- .../runtime/engine/metrics/reader/HistogramRecordTest.java | 2 +- .../runtime/engine/metrics/reader/MetricsReaderTest.java | 2 +- .../zilla/runtime/engine/metrics/reader/ScalarRecordTest.java | 2 +- .../aklivity/zilla/runtime/engine/model/ModelFactoryTest.java | 2 +- .../io/aklivity/zilla/runtime/engine/model/ModelTest.java | 2 +- .../runtime/engine/model/function/ValueConsumerTest.java | 2 +- .../zilla/runtime/engine/reader/BindingsLayoutReaderTest.java | 2 +- .../aklivity/zilla/runtime/engine/resolver/ResolverTest.java | 2 +- .../aklivity/zilla/runtime/engine/security/TrustedTest.java | 2 +- .../io/aklivity/zilla/runtime/engine/test/EngineRule.java | 2 +- .../runtime/engine/test/EngineRuleParameterizedTest.java | 2 +- .../io/aklivity/zilla/runtime/engine/test/EngineRuleTest.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/test/EventIT.java | 2 +- .../java/io/aklivity/zilla/runtime/engine/test/Services.java | 2 +- .../zilla/runtime/engine/test/annotation/Configuration.java | 2 +- .../zilla/runtime/engine/test/annotation/Configure.java | 2 +- .../zilla/runtime/engine/test/annotation/Configures.java | 2 +- .../aklivity/zilla/runtime/engine/test/internal/DuplexIT.java | 2 +- .../zilla/runtime/engine/test/internal/HalfDuplexIT.java | 2 +- .../zilla/runtime/engine/test/internal/SimplexIT.java | 2 +- .../runtime/engine/test/internal/binding/TestBinding.java | 2 +- .../engine/test/internal/binding/TestBindingContext.java | 2 +- .../engine/test/internal/binding/TestBindingFactory.java | 2 +- .../engine/test/internal/binding/TestBindingFactorySpi.java | 2 +- .../test/internal/binding/config/TestAuthorizationConfig.java | 2 +- .../internal/binding/config/TestBindingOptionsConfig.java | 2 +- .../binding/config/TestBindingOptionsConfigAdapter.java | 2 +- .../binding/config/TestBindingOptionsConfigBuilder.java | 2 +- .../runtime/engine/test/internal/catalog/DecoderTest.java | 2 +- .../runtime/engine/test/internal/catalog/EncoderTest.java | 2 +- .../runtime/engine/test/internal/catalog/TestCatalog.java | 2 +- .../engine/test/internal/catalog/TestCatalogContext.java | 2 +- .../engine/test/internal/catalog/TestCatalogFactorySpi.java | 2 +- .../engine/test/internal/catalog/TestCatalogHandler.java | 2 +- .../test/internal/catalog/config/TestCatalogConfig.java | 2 +- .../internal/catalog/config/TestCatalogOptionsConfig.java | 2 +- .../catalog/config/TestCatalogOptionsConfigAdapter.java | 2 +- .../catalog/config/TestCatalogOptionsConfigBuilder.java | 2 +- .../runtime/engine/test/internal/event/TestEventContext.java | 2 +- .../engine/test/internal/event/TestEventFormatter.java | 2 +- .../engine/test/internal/event/TestEventFormatterFactory.java | 2 +- .../runtime/engine/test/internal/exporter/TestExporter.java | 2 +- .../engine/test/internal/exporter/TestExporterContext.java | 2 +- .../engine/test/internal/exporter/TestExporterFactorySpi.java | 2 +- .../engine/test/internal/exporter/TestExporterHandler.java | 2 +- .../internal/exporter/config/TestExporterOptionsConfig.java | 2 +- .../exporter/config/TestExporterOptionsConfigAdapter.java | 2 +- .../exporter/config/TestExporterOptionsConfigBuilder.java | 2 +- .../zilla/runtime/engine/test/internal/guard/TestGuard.java | 2 +- .../runtime/engine/test/internal/guard/TestGuardConfig.java | 2 +- .../runtime/engine/test/internal/guard/TestGuardContext.java | 2 +- .../engine/test/internal/guard/TestGuardFactorySpi.java | 2 +- .../runtime/engine/test/internal/guard/TestGuardHandler.java | 2 +- .../test/internal/guard/config/TestGuardOptionsConfig.java | 2 +- .../internal/guard/config/TestGuardOptionsConfigAdapter.java | 2 +- .../internal/guard/config/TestGuardOptionsConfigBuilder.java | 2 +- .../test/internal/k3po/ext/ZillaBootstrapFactoryTest.java | 2 +- .../internal/k3po/ext/ZillaChannelAddressFactoryTest.java | 2 +- .../engine/test/internal/k3po/ext/ZillaExtConfiguration.java | 2 +- .../internal/k3po/ext/behavior/DefaultZillaChannelConfig.java | 2 +- .../k3po/ext/behavior/DefaultZillaServerChannelConfig.java | 2 +- .../engine/test/internal/k3po/ext/behavior/LabelManager.java | 2 +- .../test/internal/k3po/ext/behavior/NullChannelBuffer.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaBehaviorSystem.java | 2 +- .../internal/k3po/ext/behavior/ZillaBootstrapFactory.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaByteOrder.java | 2 +- .../engine/test/internal/k3po/ext/behavior/ZillaChannel.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaChannelAddress.java | 2 +- .../k3po/ext/behavior/ZillaChannelAddressFactory.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaChannelConfig.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaChildChannel.java | 2 +- .../internal/k3po/ext/behavior/ZillaChildChannelSink.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaClientChannel.java | 2 +- .../internal/k3po/ext/behavior/ZillaClientChannelFactory.java | 2 +- .../internal/k3po/ext/behavior/ZillaClientChannelSink.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaCorrelation.java | 2 +- .../engine/test/internal/k3po/ext/behavior/ZillaEngine.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaEnginePool.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaExtensionKind.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaPartition.java | 2 +- .../engine/test/internal/k3po/ext/behavior/ZillaScope.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaServerChannel.java | 2 +- .../internal/k3po/ext/behavior/ZillaServerChannelConfig.java | 2 +- .../internal/k3po/ext/behavior/ZillaServerChannelFactory.java | 2 +- .../internal/k3po/ext/behavior/ZillaServerChannelSink.java | 2 +- .../engine/test/internal/k3po/ext/behavior/ZillaSource.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaStreamFactory.java | 2 +- .../engine/test/internal/k3po/ext/behavior/ZillaTarget.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaThrottleMode.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaTransmission.java | 2 +- .../test/internal/k3po/ext/behavior/ZillaUpdateMode.java | 2 +- .../k3po/ext/behavior/handler/AbstractReadExtHandler.java | 2 +- .../k3po/ext/behavior/handler/ReadAbortExtHandler.java | 2 +- .../k3po/ext/behavior/handler/ReadAckOptionHandler.java | 2 +- .../k3po/ext/behavior/handler/ReadBeginExtHandler.java | 2 +- .../k3po/ext/behavior/handler/ReadDataExtHandler.java | 2 +- .../k3po/ext/behavior/handler/ReadEmptyDataHandler.java | 2 +- .../internal/k3po/ext/behavior/handler/ReadEndExtHandler.java | 2 +- .../k3po/ext/behavior/handler/ReadFlagsOptionHandler.java | 2 +- .../k3po/ext/behavior/handler/ReadNullDataHandler.java | 2 +- .../k3po/ext/behavior/handler/WriteAbortedExtHandler.java | 2 +- .../k3po/ext/behavior/handler/WriteEmptyDataHandler.java | 2 +- .../k3po/ext/behavior/handler/WriteFlagsOptionHandler.java | 2 +- .../k3po/ext/behavior/handler/ZillaExtensionDecoder.java | 2 +- .../k3po/ext/behavior/handler/ZillaExtensionEncoder.java | 2 +- .../engine/test/internal/k3po/ext/behavior/layout/Layout.java | 2 +- .../test/internal/k3po/ext/behavior/layout/StreamsLayout.java | 2 +- .../internal/k3po/ext/behavior/layout/StreamsLayoutTest.java | 2 +- .../runtime/engine/test/internal/k3po/ext/el/Functions.java | 2 +- .../engine/test/internal/k3po/ext/el/FunctionsTest.java | 2 +- .../engine/test/internal/k3po/ext/types/ZillaTypeSystem.java | 2 +- .../engine/test/internal/k3po/ext/util/Conversions.java | 2 +- .../internal/k3po/ext/util/function/LongObjectBiConsumer.java | 2 +- .../runtime/engine/test/internal/metrics/TestMetricGroup.java | 2 +- .../test/internal/metrics/TestMetricGroupFactorySpi.java | 2 +- .../engine/test/internal/model/TestConverterHandler.java | 2 +- .../zilla/runtime/engine/test/internal/model/TestModel.java | 2 +- .../runtime/engine/test/internal/model/TestModelContext.java | 2 +- .../engine/test/internal/model/TestModelFactorySpi.java | 2 +- .../engine/test/internal/model/TestValidatorHandler.java | 2 +- .../engine/test/internal/model/config/TestModelConfig.java | 2 +- .../test/internal/model/config/TestModelConfigAdapter.java | 2 +- .../test/internal/model/config/TestModelConfigBuilder.java | 2 +- .../engine/test/internal/resolver/TestResolverFactorySpi.java | 2 +- .../engine/test/internal/resolver/TestResolverSpi.java | 2 +- .../zilla/runtime/engine/test/internal/vault/TestVault.java | 2 +- .../runtime/engine/test/internal/vault/TestVaultContext.java | 2 +- .../engine/test/internal/vault/TestVaultFactorySpi.java | 2 +- .../runtime/engine/test/internal/vault/TestVaultHandler.java | 2 +- .../test/internal/vault/config/TestVaultEntryConfig.java | 2 +- .../internal/vault/config/TestVaultEntryConfigAdapter.java | 2 +- .../test/internal/vault/config/TestVaultOptionsConfig.java | 2 +- .../internal/vault/config/TestVaultOptionsConfigAdapter.java | 2 +- .../internal/vault/config/TestVaultOptionsConfigBuilder.java | 2 +- .../engine/util/function/LongObjectBiConsumerTest.java | 2 +- .../engine/util/function/LongObjectBiFunctionTest.java | 2 +- .../aklivity/zilla/runtime/engine/vault/VaultFactoryTest.java | 2 +- .../internal/EngineTest-configure-expression-invalid.yaml | 2 +- .../engine/internal/EngineTest-configure-expression.yaml | 2 +- .../engine/internal/EngineTest-configure-multiple.yaml | 2 +- .../engine/test/k3po/ext/duplex/byteorder.default/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/byteorder.default/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/byteorder.native/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/byteorder.native/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/byteorder.network/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/byteorder.network/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/client.close/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/client.close/server.rpt | 2 +- .../ext/duplex/client.flush.empty.data.with.ext/client.rpt | 2 +- .../ext/duplex/client.flush.empty.data.with.ext/server.rpt | 2 +- .../ext/duplex/client.flush.null.data.with.ext/client.rpt | 2 +- .../ext/duplex/client.flush.null.data.with.ext/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.data.ext/client.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.data.ext/server.rpt | 2 +- .../k3po/ext/duplex/client.sent.data.missing.ext/client.rpt | 2 +- .../k3po/ext/duplex/client.sent.data.missing.ext/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/client.sent.data/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/client.sent.data/server.rpt | 2 +- .../duplex/client.sent.option.flags.fragmentation/client.rpt | 2 +- .../duplex/client.sent.option.flags.fragmentation/server.rpt | 2 +- .../ext/duplex/client.sent.option.flags.incomplete/client.rpt | 2 +- .../ext/duplex/client.sent.option.flags.incomplete/server.rpt | 2 +- .../client.sent.option.flags.no.fragmentation/client.rpt | 2 +- .../client.sent.option.flags.no.fragmentation/server.rpt | 2 +- .../k3po/ext/duplex/client.sent.option.flags.skip/client.rpt | 2 +- .../k3po/ext/duplex/client.sent.option.flags.skip/server.rpt | 2 +- .../client.sent.option.flags.then.reset.flags/client.rpt | 2 +- .../client.sent.option.flags.then.reset.flags/server.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.overflow/client.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.overflow/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../ext/duplex/client.sent.read.abort.with.ext/client.rpt | 2 +- .../ext/duplex/client.sent.read.abort.with.ext/server.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.read.abort/client.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.read.abort/server.rpt | 2 +- .../duplex/client.sent.read.advise.challenge.ext/client.rpt | 2 +- .../duplex/client.sent.read.advise.challenge.ext/server.rpt | 2 +- .../ext/duplex/client.sent.read.advise.challenge/client.rpt | 2 +- .../ext/duplex/client.sent.read.advise.challenge/server.rpt | 2 +- .../ext/duplex/client.sent.read.and.write.abort/client.rpt | 2 +- .../ext/duplex/client.sent.read.and.write.abort/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../ext/duplex/client.sent.throttle.initial.only/client.rpt | 2 +- .../ext/duplex/client.sent.throttle.initial.only/server.rpt | 2 +- .../k3po/ext/duplex/client.sent.throttle.message/client.rpt | 2 +- .../k3po/ext/duplex/client.sent.throttle.message/server.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.throttle/client.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.throttle/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.write.abort/client.rpt | 2 +- .../test/k3po/ext/duplex/client.sent.write.abort/server.rpt | 2 +- .../ext/duplex/client.sent.write.advise.flush.ext/client.rpt | 2 +- .../ext/duplex/client.sent.write.advise.flush.ext/server.rpt | 2 +- .../k3po/ext/duplex/client.sent.write.advise.flush/client.rpt | 2 +- .../k3po/ext/duplex/client.sent.write.advise.flush/server.rpt | 2 +- .../test/k3po/ext/duplex/client.write.close.ext/client.rpt | 2 +- .../test/k3po/ext/duplex/client.write.close.ext/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/client.write.close/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/client.write.close/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../engine/test/k3po/ext/duplex/handshake.abort/client.rpt | 2 +- .../test/k3po/ext/duplex/handshake.authorized/client.rpt | 2 +- .../test/k3po/ext/duplex/handshake.authorized/server.rpt | 2 +- .../test/k3po/ext/duplex/handshake.budget.id/client.rpt | 2 +- .../test/k3po/ext/duplex/handshake.budget.id/server.rpt | 2 +- .../test/k3po/ext/duplex/handshake.ext.rejected/client.rpt | 2 +- .../test/k3po/ext/duplex/handshake.ext.rejected/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/handshake.ext/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/handshake.ext/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/handshake.rejected/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/handshake.rejected/server.rpt | 2 +- .../ext/duplex/handshake.unequal.authorization/client.rpt | 2 +- .../ext/duplex/handshake.unequal.authorization/server.rpt | 2 +- .../runtime/engine/test/k3po/ext/duplex/handshake/client.rpt | 2 +- .../runtime/engine/test/k3po/ext/duplex/handshake/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/server.close/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/server.close/server.rpt | 2 +- .../ext/duplex/server.flush.empty.data.with.ext/client.rpt | 2 +- .../ext/duplex/server.flush.empty.data.with.ext/server.rpt | 2 +- .../ext/duplex/server.flush.null.data.with.ext/client.rpt | 2 +- .../ext/duplex/server.flush.null.data.with.ext/server.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.data.ext/client.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.data.ext/server.rpt | 2 +- .../k3po/ext/duplex/server.sent.data.missing.ext/client.rpt | 2 +- .../k3po/ext/duplex/server.sent.data.missing.ext/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/server.sent.data/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/server.sent.data/server.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.option.ack/client.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.option.ack/server.rpt | 2 +- .../duplex/server.sent.option.flags.fragmentation/client.rpt | 2 +- .../duplex/server.sent.option.flags.fragmentation/server.rpt | 2 +- .../ext/duplex/server.sent.option.flags.incomplete/client.rpt | 2 +- .../ext/duplex/server.sent.option.flags.incomplete/server.rpt | 2 +- .../server.sent.option.flags.no.fragmentation/client.rpt | 2 +- .../server.sent.option.flags.no.fragmentation/server.rpt | 2 +- .../k3po/ext/duplex/server.sent.option.flags.skip/client.rpt | 2 +- .../k3po/ext/duplex/server.sent.option.flags.skip/server.rpt | 2 +- .../server.sent.option.flags.then.reset.flags/client.rpt | 2 +- .../server.sent.option.flags.then.reset.flags/server.rpt | 2 +- .../k3po/ext/duplex/server.sent.overflow.padding/client.rpt | 2 +- .../k3po/ext/duplex/server.sent.overflow.padding/server.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.overflow/client.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.overflow/server.rpt | 2 +- .../ext/duplex/server.sent.read.abort.with.ext/client.rpt | 2 +- .../ext/duplex/server.sent.read.abort.with.ext/server.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.read.abort/client.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.read.abort/server.rpt | 2 +- .../duplex/server.sent.read.advise.challenge.ext/client.rpt | 2 +- .../duplex/server.sent.read.advise.challenge.ext/server.rpt | 2 +- .../ext/duplex/server.sent.read.advise.challenge/client.rpt | 2 +- .../ext/duplex/server.sent.read.advise.challenge/server.rpt | 2 +- .../ext/duplex/server.sent.read.and.write.abort/client.rpt | 2 +- .../ext/duplex/server.sent.read.and.write.abort/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../ext/duplex/server.sent.throttle.initial.only/client.rpt | 2 +- .../ext/duplex/server.sent.throttle.initial.only/server.rpt | 2 +- .../k3po/ext/duplex/server.sent.throttle.message/client.rpt | 2 +- .../k3po/ext/duplex/server.sent.throttle.message/server.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.throttle/client.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.throttle/server.rpt | 2 +- .../ext/duplex/server.sent.write.abort.with.ext/client.rpt | 2 +- .../ext/duplex/server.sent.write.abort.with.ext/server.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.write.abort/client.rpt | 2 +- .../test/k3po/ext/duplex/server.sent.write.abort/server.rpt | 2 +- .../ext/duplex/server.sent.write.advise.flush.ext/client.rpt | 2 +- .../ext/duplex/server.sent.write.advise.flush.ext/server.rpt | 2 +- .../k3po/ext/duplex/server.sent.write.advise.flush/client.rpt | 2 +- .../k3po/ext/duplex/server.sent.write.advise.flush/server.rpt | 2 +- .../test/k3po/ext/duplex/server.write.close.ext/client.rpt | 2 +- .../test/k3po/ext/duplex/server.write.close.ext/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/server.write.close/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/server.write.close/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../ext/duplex/server.write.empty.data.with.ext/client.rpt | 2 +- .../ext/duplex/server.write.empty.data.with.ext/server.rpt | 2 +- .../engine/test/k3po/ext/duplex/timestamps.false/client.rpt | 2 +- .../engine/test/k3po/ext/duplex/timestamps.false/server.rpt | 2 +- .../engine/test/k3po/ext/half.duplex/client.close/client.rpt | 2 +- .../engine/test/k3po/ext/half.duplex/client.close/server.rpt | 2 +- .../half.duplex/client.flush.empty.data.with.ext/client.rpt | 2 +- .../half.duplex/client.flush.empty.data.with.ext/server.rpt | 2 +- .../half.duplex/client.flush.null.data.with.ext/client.rpt | 2 +- .../half.duplex/client.flush.null.data.with.ext/server.rpt | 2 +- .../test/k3po/ext/half.duplex/client.sent.data.ext/client.rpt | 2 +- .../test/k3po/ext/half.duplex/client.sent.data.ext/server.rpt | 2 +- .../ext/half.duplex/client.sent.data.missing.ext/client.rpt | 2 +- .../ext/half.duplex/client.sent.data.missing.ext/server.rpt | 2 +- .../test/k3po/ext/half.duplex/client.sent.data/client.rpt | 2 +- .../test/k3po/ext/half.duplex/client.sent.data/server.rpt | 2 +- .../client.sent.option.flags.fragmentation/client.rpt | 2 +- .../client.sent.option.flags.fragmentation/server.rpt | 2 +- .../client.sent.option.flags.incomplete/client.rpt | 2 +- .../client.sent.option.flags.incomplete/server.rpt | 2 +- .../client.sent.option.flags.no.fragmentation/client.rpt | 2 +- .../client.sent.option.flags.no.fragmentation/server.rpt | 2 +- .../ext/half.duplex/client.sent.option.flags.skip/client.rpt | 2 +- .../ext/half.duplex/client.sent.option.flags.skip/server.rpt | 2 +- .../client.sent.option.flags.then.reset.flags/client.rpt | 2 +- .../client.sent.option.flags.then.reset.flags/server.rpt | 2 +- .../test/k3po/ext/half.duplex/client.sent.overflow/client.rpt | 2 +- .../test/k3po/ext/half.duplex/client.sent.overflow/server.rpt | 2 +- .../client.sent.read.abort.before.reply/client.rpt | 2 +- .../client.sent.read.abort.before.reply/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../k3po/ext/half.duplex/client.sent.read.abort/client.rpt | 2 +- .../k3po/ext/half.duplex/client.sent.read.abort/server.rpt | 2 +- .../client.sent.read.advise.challenge.ext/client.rpt | 2 +- .../client.sent.read.advise.challenge.ext/server.rpt | 2 +- .../half.duplex/client.sent.read.advise.challenge/client.rpt | 2 +- .../half.duplex/client.sent.read.advise.challenge/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../half.duplex/client.sent.throttle.initial.only/client.rpt | 2 +- .../half.duplex/client.sent.throttle.initial.only/server.rpt | 2 +- .../ext/half.duplex/client.sent.throttle.message/client.rpt | 2 +- .../ext/half.duplex/client.sent.throttle.message/server.rpt | 2 +- .../test/k3po/ext/half.duplex/client.sent.throttle/client.rpt | 2 +- .../test/k3po/ext/half.duplex/client.sent.throttle/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../k3po/ext/half.duplex/client.sent.write.abort/client.rpt | 2 +- .../k3po/ext/half.duplex/client.sent.write.abort/server.rpt | 2 +- .../half.duplex/client.sent.write.advise.flush.ext/client.rpt | 2 +- .../half.duplex/client.sent.write.advise.flush.ext/server.rpt | 2 +- .../ext/half.duplex/client.sent.write.advise.flush/client.rpt | 2 +- .../ext/half.duplex/client.sent.write.advise.flush/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../k3po/ext/half.duplex/client.write.close.ext/client.rpt | 2 +- .../k3po/ext/half.duplex/client.write.close.ext/server.rpt | 2 +- .../test/k3po/ext/half.duplex/client.write.close/client.rpt | 2 +- .../test/k3po/ext/half.duplex/client.write.close/server.rpt | 2 +- .../test/k3po/ext/half.duplex/handshake.abort/client.rpt | 2 +- .../test/k3po/ext/half.duplex/handshake.authorized/client.rpt | 2 +- .../test/k3po/ext/half.duplex/handshake.authorized/server.rpt | 2 +- .../test/k3po/ext/half.duplex/handshake.budget.id/client.rpt | 2 +- .../test/k3po/ext/half.duplex/handshake.budget.id/server.rpt | 2 +- .../k3po/ext/half.duplex/handshake.ext.rejected/client.rpt | 2 +- .../k3po/ext/half.duplex/handshake.ext.rejected/server.rpt | 2 +- .../engine/test/k3po/ext/half.duplex/handshake.ext/client.rpt | 2 +- .../engine/test/k3po/ext/half.duplex/handshake.ext/server.rpt | 2 +- .../test/k3po/ext/half.duplex/handshake.rejected/client.rpt | 2 +- .../test/k3po/ext/half.duplex/handshake.rejected/server.rpt | 2 +- .../half.duplex/handshake.unequal.authorization/client.rpt | 2 +- .../half.duplex/handshake.unequal.authorization/server.rpt | 2 +- .../engine/test/k3po/ext/half.duplex/handshake/client.rpt | 2 +- .../engine/test/k3po/ext/half.duplex/handshake/server.rpt | 2 +- .../engine/test/k3po/ext/half.duplex/server.close/client.rpt | 2 +- .../engine/test/k3po/ext/half.duplex/server.close/server.rpt | 2 +- .../half.duplex/server.flush.empty.data.with.ext/client.rpt | 2 +- .../half.duplex/server.flush.empty.data.with.ext/server.rpt | 2 +- .../half.duplex/server.flush.null.data.with.ext/client.rpt | 2 +- .../half.duplex/server.flush.null.data.with.ext/server.rpt | 2 +- .../test/k3po/ext/half.duplex/server.sent.data.ext/client.rpt | 2 +- .../test/k3po/ext/half.duplex/server.sent.data.ext/server.rpt | 2 +- .../ext/half.duplex/server.sent.data.missing.ext/client.rpt | 2 +- .../ext/half.duplex/server.sent.data.missing.ext/server.rpt | 2 +- .../test/k3po/ext/half.duplex/server.sent.data/client.rpt | 2 +- .../test/k3po/ext/half.duplex/server.sent.data/server.rpt | 2 +- .../k3po/ext/half.duplex/server.sent.option.ack/client.rpt | 2 +- .../k3po/ext/half.duplex/server.sent.option.ack/server.rpt | 2 +- .../server.sent.option.flags.fragmentation/client.rpt | 2 +- .../server.sent.option.flags.fragmentation/server.rpt | 2 +- .../server.sent.option.flags.incomplete/client.rpt | 2 +- .../server.sent.option.flags.incomplete/server.rpt | 2 +- .../server.sent.option.flags.no.fragmentation/client.rpt | 2 +- .../server.sent.option.flags.no.fragmentation/server.rpt | 2 +- .../ext/half.duplex/server.sent.option.flags.skip/client.rpt | 2 +- .../ext/half.duplex/server.sent.option.flags.skip/server.rpt | 2 +- .../server.sent.option.flags.then.reset.flags/client.rpt | 2 +- .../server.sent.option.flags.then.reset.flags/server.rpt | 2 +- .../test/k3po/ext/half.duplex/server.sent.overflow/client.rpt | 2 +- .../test/k3po/ext/half.duplex/server.sent.overflow/server.rpt | 2 +- .../k3po/ext/half.duplex/server.sent.read.abort/client.rpt | 2 +- .../k3po/ext/half.duplex/server.sent.read.abort/server.rpt | 2 +- .../server.sent.read.advise.challenge.ext/client.rpt | 2 +- .../server.sent.read.advise.challenge.ext/server.rpt | 2 +- .../half.duplex/server.sent.read.advise.challenge/client.rpt | 2 +- .../half.duplex/server.sent.read.advise.challenge/server.rpt | 2 +- .../half.duplex/server.sent.read.and.write.abort/client.rpt | 2 +- .../half.duplex/server.sent.read.and.write.abort/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../half.duplex/server.sent.throttle.initial.only/client.rpt | 2 +- .../half.duplex/server.sent.throttle.initial.only/server.rpt | 2 +- .../ext/half.duplex/server.sent.throttle.message/client.rpt | 2 +- .../ext/half.duplex/server.sent.throttle.message/server.rpt | 2 +- .../test/k3po/ext/half.duplex/server.sent.throttle/client.rpt | 2 +- .../test/k3po/ext/half.duplex/server.sent.throttle/server.rpt | 2 +- .../k3po/ext/half.duplex/server.sent.write.abort/client.rpt | 2 +- .../k3po/ext/half.duplex/server.sent.write.abort/server.rpt | 2 +- .../half.duplex/server.sent.write.advise.flush.ext/client.rpt | 2 +- .../half.duplex/server.sent.write.advise.flush.ext/server.rpt | 2 +- .../ext/half.duplex/server.sent.write.advise.flush/client.rpt | 2 +- .../ext/half.duplex/server.sent.write.advise.flush/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../k3po/ext/half.duplex/server.write.abort.ext/client.rpt | 2 +- .../k3po/ext/half.duplex/server.write.abort.ext/server.rpt | 2 +- .../k3po/ext/half.duplex/server.write.close.ext/client.rpt | 2 +- .../k3po/ext/half.duplex/server.write.close.ext/server.rpt | 2 +- .../test/k3po/ext/half.duplex/server.write.close/client.rpt | 2 +- .../test/k3po/ext/half.duplex/server.write.close/server.rpt | 2 +- .../half.duplex/server.write.empty.data.with.ext/client.rpt | 2 +- .../half.duplex/server.write.empty.data.with.ext/server.rpt | 2 +- .../engine/test/k3po/ext/simplex/client.close/client.rpt | 2 +- .../engine/test/k3po/ext/simplex/client.close/server.rpt | 2 +- .../ext/simplex/client.flush.empty.data.with.ext/client.rpt | 2 +- .../ext/simplex/client.flush.empty.data.with.ext/server.rpt | 2 +- .../ext/simplex/client.flush.null.data.with.ext/client.rpt | 2 +- .../ext/simplex/client.flush.null.data.with.ext/server.rpt | 2 +- .../test/k3po/ext/simplex/client.sent.data.ext/client.rpt | 2 +- .../test/k3po/ext/simplex/client.sent.data.ext/server.rpt | 2 +- .../k3po/ext/simplex/client.sent.data.missing.ext/client.rpt | 2 +- .../k3po/ext/simplex/client.sent.data.missing.ext/server.rpt | 2 +- .../engine/test/k3po/ext/simplex/client.sent.data/client.rpt | 2 +- .../engine/test/k3po/ext/simplex/client.sent.data/server.rpt | 2 +- .../simplex/client.sent.option.flags.fragmentation/client.rpt | 2 +- .../simplex/client.sent.option.flags.fragmentation/server.rpt | 2 +- .../simplex/client.sent.option.flags.incomplete/client.rpt | 2 +- .../simplex/client.sent.option.flags.incomplete/server.rpt | 2 +- .../client.sent.option.flags.no.fragmentation/client.rpt | 2 +- .../client.sent.option.flags.no.fragmentation/server.rpt | 2 +- .../k3po/ext/simplex/client.sent.option.flags.skip/client.rpt | 2 +- .../k3po/ext/simplex/client.sent.option.flags.skip/server.rpt | 2 +- .../client.sent.option.flags.then.reset.flags/client.rpt | 2 +- .../client.sent.option.flags.then.reset.flags/server.rpt | 2 +- .../test/k3po/ext/simplex/client.sent.write.abort/client.rpt | 2 +- .../test/k3po/ext/simplex/client.sent.write.abort/server.rpt | 2 +- .../ext/simplex/client.sent.write.advise.flush.ext/client.rpt | 2 +- .../ext/simplex/client.sent.write.advise.flush.ext/server.rpt | 2 +- .../ext/simplex/client.sent.write.advise.flush/client.rpt | 2 +- .../ext/simplex/client.sent.write.advise.flush/server.rpt | 2 +- .../test/k3po/ext/simplex/client.write.close.ext/client.rpt | 2 +- .../test/k3po/ext/simplex/client.write.close.ext/server.rpt | 2 +- .../test/k3po/ext/simplex/client.write.close/client.rpt | 2 +- .../test/k3po/ext/simplex/client.write.close/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../ext/simplex/client.write.empty.data.with.ext/client.rpt | 2 +- .../ext/simplex/client.write.empty.data.with.ext/server.rpt | 2 +- .../engine/test/k3po/ext/simplex/handshake.abort/client.rpt | 2 +- .../test/k3po/ext/simplex/handshake.authorized/client.rpt | 2 +- .../test/k3po/ext/simplex/handshake.authorized/server.rpt | 2 +- .../test/k3po/ext/simplex/handshake.budget.id/client.rpt | 2 +- .../test/k3po/ext/simplex/handshake.budget.id/server.rpt | 2 +- .../test/k3po/ext/simplex/handshake.ext.rejected/client.rpt | 2 +- .../test/k3po/ext/simplex/handshake.ext.rejected/server.rpt | 2 +- .../engine/test/k3po/ext/simplex/handshake.ext/client.rpt | 2 +- .../engine/test/k3po/ext/simplex/handshake.ext/server.rpt | 2 +- .../test/k3po/ext/simplex/handshake.rejected/client.rpt | 2 +- .../test/k3po/ext/simplex/handshake.rejected/server.rpt | 2 +- .../ext/simplex/handshake.unequal.authorization/client.rpt | 2 +- .../ext/simplex/handshake.unequal.authorization/server.rpt | 2 +- .../runtime/engine/test/k3po/ext/simplex/handshake/client.rpt | 2 +- .../runtime/engine/test/k3po/ext/simplex/handshake/server.rpt | 2 +- .../test/k3po/ext/simplex/server.sent.option.ack/client.rpt | 2 +- .../test/k3po/ext/simplex/server.sent.option.ack/server.rpt | 2 +- .../test/k3po/ext/simplex/server.sent.overflow/client.rpt | 2 +- .../test/k3po/ext/simplex/server.sent.overflow/server.rpt | 2 +- .../test/k3po/ext/simplex/server.sent.read.abort/client.rpt | 2 +- .../test/k3po/ext/simplex/server.sent.read.abort/server.rpt | 2 +- .../simplex/server.sent.read.advise.challenge.ext/client.rpt | 2 +- .../simplex/server.sent.read.advise.challenge.ext/server.rpt | 2 +- .../ext/simplex/server.sent.read.advise.challenge/client.rpt | 2 +- .../ext/simplex/server.sent.read.advise.challenge/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../server.sent.throttle.initial.only.update.none/client.rpt | 2 +- .../server.sent.throttle.initial.only.update.none/server.rpt | 2 +- .../ext/simplex/server.sent.throttle.initial.only/client.rpt | 2 +- .../ext/simplex/server.sent.throttle.initial.only/server.rpt | 2 +- .../k3po/ext/simplex/server.sent.throttle.message/client.rpt | 2 +- .../k3po/ext/simplex/server.sent.throttle.message/server.rpt | 2 +- .../test/k3po/ext/simplex/server.sent.throttle/client.rpt | 2 +- .../test/k3po/ext/simplex/server.sent.throttle/server.rpt | 2 +- .../runtime/exporter/otlp/config/OtlpEndpointConfig.java | 2 +- .../zilla/runtime/exporter/otlp/config/OtlpOptionsConfig.java | 2 +- .../runtime/exporter/otlp/config/OtlpOverridesConfig.java | 2 +- .../runtime/exporter/otlp/internal/OltpConfiguration.java | 2 +- .../runtime/exporter/otlp/internal/OltpExporterHandler.java | 2 +- .../zilla/runtime/exporter/otlp/internal/OtlpExporter.java | 2 +- .../runtime/exporter/otlp/internal/OtlpExporterContext.java | 2 +- .../exporter/otlp/internal/OtlpExporterFactorySpi.java | 2 +- .../exporter/otlp/internal/config/OtlpEndpointAdapter.java | 2 +- .../exporter/otlp/internal/config/OtlpExporterConfig.java | 2 +- .../otlp/internal/config/OtlpOptionsConfigAdapter.java | 2 +- .../exporter/otlp/internal/config/OtlpOverridesAdapter.java | 2 +- .../exporter/otlp/internal/config/OtlpSignalsAdapter.java | 2 +- .../exporter/otlp/internal/serializer/EventReader.java | 2 +- .../exporter/otlp/internal/serializer/OtlpLogsSerializer.java | 2 +- .../otlp/internal/serializer/OtlpMetricsSerializer.java | 2 +- runtime/exporter-otlp/src/main/moditect/module-info.java | 2 +- .../zilla/runtime/exporter/otlp/internal/EventIT.java | 2 +- .../zilla/runtime/exporter/otlp/internal/MetricsIT.java | 2 +- .../exporter/otlp/internal/OtlpExporterFactoryTest.java | 2 +- .../otlp/internal/config/OltpOptionsConfigAdapterTest.java | 2 +- .../exporter/otlp/internal/config/OtlpExporterConfigTest.java | 2 +- .../runtime/exporter/otlp/internal/config/SchemaTest.java | 2 +- .../exporter/prometheus/internal/PrometheusExporter.java | 2 +- .../prometheus/internal/PrometheusExporterContext.java | 2 +- .../prometheus/internal/PrometheusExporterFactorySpi.java | 2 +- .../prometheus/internal/PrometheusExporterHandler.java | 2 +- .../prometheus/internal/config/PrometheusEndpointAdapter.java | 2 +- .../prometheus/internal/config/PrometheusEndpointConfig.java | 2 +- .../prometheus/internal/config/PrometheusExporterConfig.java | 2 +- .../prometheus/internal/config/PrometheusOptionsConfig.java | 2 +- .../internal/config/PrometheusOptionsConfigAdapter.java | 2 +- .../internal/printer/PrometheusMetricDescriptor.java | 2 +- .../prometheus/internal/printer/PrometheusMetricsPrinter.java | 2 +- .../exporter-prometheus/src/main/moditect/module-info.java | 2 +- .../prometheus/internal/PrometheusExporterFactoryTest.java | 2 +- .../prometheus/internal/PrometheusExporterHandlerTest.java | 2 +- .../internal/config/PrometheusOptionsConfigAdapterTest.java | 2 +- .../internal/printer/PrometheusMetricDescriptorTest.java | 2 +- .../internal/printer/PrometheusMetricsPrinterTest.java | 2 +- .../runtime/exporter/stdout/internal/StdoutConfiguration.java | 2 +- .../runtime/exporter/stdout/internal/StdoutExporter.java | 2 +- .../exporter/stdout/internal/StdoutExporterContext.java | 2 +- .../exporter/stdout/internal/StdoutExporterFactorySpi.java | 2 +- .../exporter/stdout/internal/StdoutExporterHandler.java | 2 +- .../exporter/stdout/internal/config/StdoutExporterConfig.java | 2 +- .../exporter/stdout/internal/config/StdoutOptionsConfig.java | 2 +- .../stdout/internal/config/StdoutOptionsConfigAdapter.java | 2 +- .../exporter/stdout/internal/stream/StdoutEventsStream.java | 2 +- runtime/exporter-stdout/src/main/moditect/module-info.java | 2 +- .../stdout/internal/StdoutExporterConfigurationTest.java | 2 +- .../exporter/stdout/internal/StdoutExporterFactoryTest.java | 2 +- .../internal/config/StdoutOptionsConfigAdapterTest.java | 2 +- .../runtime/exporter/stdout/internal/events/EventIT.java | 2 +- .../exporter/stdout/internal/events/StdoutOutputRule.java | 2 +- .../runtime/exporter/stdout/streams/application/client.rpt | 2 +- .../runtime/exporter/stdout/streams/application/server.rpt | 2 +- .../zilla/runtime/exporter/stdout/streams/network/client.rpt | 2 +- .../zilla/runtime/exporter/stdout/streams/network/server.rpt | 2 +- .../runtime/filesystem/http/internal/HttpFileSystem.java | 2 +- .../filesystem/http/internal/HttpFileSystemConfiguration.java | 2 +- .../filesystem/http/internal/HttpFileSystemProvider.java | 2 +- .../zilla/runtime/filesystem/http/internal/HttpPath.java | 2 +- .../runtime/filesystem/http/internal/HttpWatchService.java | 2 +- .../filesystem/http/internal/HttpsFileSystemProvider.java | 2 +- .../filesystem/http/internal/ReadOnlyByteArrayChannel.java | 2 +- runtime/filesystem-http/src/main/moditect/module-info.java | 2 +- .../zilla/runtime/filesystem/http/HttpFileSystemIT.java | 2 +- .../zilla/runtime/filesystem/http/HttpFileSystemTest.java | 2 +- .../aklivity/zilla/runtime/guard/jwt/config/JwtKeyConfig.java | 2 +- .../zilla/runtime/guard/jwt/config/JwtKeyConfigBuilder.java | 2 +- .../zilla/runtime/guard/jwt/config/JwtKeySetConfig.java | 2 +- .../zilla/runtime/guard/jwt/config/JwtOptionsConfig.java | 2 +- .../runtime/guard/jwt/config/JwtOptionsConfigBuilder.java | 2 +- .../zilla/runtime/guard/jwt/internal/JwtEventContext.java | 2 +- .../zilla/runtime/guard/jwt/internal/JwtEventFormatter.java | 2 +- .../runtime/guard/jwt/internal/JwtEventFormatterFactory.java | 2 +- .../aklivity/zilla/runtime/guard/jwt/internal/JwtGuard.java | 2 +- .../zilla/runtime/guard/jwt/internal/JwtGuardContext.java | 2 +- .../zilla/runtime/guard/jwt/internal/JwtGuardFactorySpi.java | 2 +- .../zilla/runtime/guard/jwt/internal/JwtGuardHandler.java | 2 +- .../guard/jwt/internal/config/JwtKeyConfigAdapter.java | 2 +- .../guard/jwt/internal/config/JwtKeySetConfigAdapter.java | 2 +- .../guard/jwt/internal/config/JwtOptionsConfigAdapter.java | 2 +- runtime/guard-jwt/src/main/moditect/module-info.java | 2 +- .../io/aklivity/zilla/runtime/guard/jwt/internal/EventIT.java | 2 +- .../zilla/runtime/guard/jwt/internal/JwtGuardHandlerTest.java | 2 +- .../aklivity/zilla/runtime/guard/jwt/internal/JwtGuardIT.java | 2 +- .../zilla/runtime/guard/jwt/internal/JwtGuardTest.java | 2 +- .../guard/jwt/internal/config/JwtKeySetConfigAdapterTest.java | 2 +- .../jwt/internal/config/JwtOptionsConfigAdapterTest.java | 2 +- .../zilla/runtime/guard/jwt/internal/keys/JwtKeyConfigs.java | 2 +- .../metrics/grpc/internal/GrpcActiveRequestsMetric.java | 2 +- .../grpc/internal/GrpcActiveRequestsMetricContext.java | 2 +- .../runtime/metrics/grpc/internal/GrpcCountPerRpcContext.java | 2 +- .../runtime/metrics/grpc/internal/GrpcDurationMetric.java | 2 +- .../metrics/grpc/internal/GrpcDurationMetricContext.java | 2 +- .../runtime/metrics/grpc/internal/GrpcMetricConsumer.java | 2 +- .../zilla/runtime/metrics/grpc/internal/GrpcMetricGroup.java | 2 +- .../metrics/grpc/internal/GrpcMetricGroupFactorySpi.java | 2 +- .../runtime/metrics/grpc/internal/GrpcRequestSizeMetric.java | 2 +- .../metrics/grpc/internal/GrpcRequestsPerRpcMetric.java | 2 +- .../runtime/metrics/grpc/internal/GrpcResponseSizeMetric.java | 2 +- .../metrics/grpc/internal/GrpcResponsesPerRpcMetric.java | 2 +- .../runtime/metrics/grpc/internal/GrpcSizeMetricContext.java | 2 +- .../zilla/runtime/metrics/grpc/internal/GrpcUtils.java | 2 +- runtime/metrics-grpc/src/main/moditect/module-info.java | 2 +- .../metrics/grpc/internal/GrpcMetricGroupFactoryTest.java | 2 +- .../runtime/metrics/grpc/internal/GrpcMetricGroupTest.java | 2 +- .../metrics/http/internal/HttpActiveRequestsMetric.java | 2 +- .../http/internal/HttpActiveRequestsMetricContext.java | 2 +- .../runtime/metrics/http/internal/HttpDurationMetric.java | 2 +- .../metrics/http/internal/HttpDurationMetricContext.java | 2 +- .../runtime/metrics/http/internal/HttpMetricConsumer.java | 2 +- .../zilla/runtime/metrics/http/internal/HttpMetricGroup.java | 2 +- .../metrics/http/internal/HttpMetricGroupFactorySpi.java | 2 +- .../runtime/metrics/http/internal/HttpRequestSizeMetric.java | 2 +- .../runtime/metrics/http/internal/HttpResponseSizeMetric.java | 2 +- .../runtime/metrics/http/internal/HttpSizeMetricContext.java | 2 +- .../zilla/runtime/metrics/http/internal/HttpUtils.java | 2 +- runtime/metrics-http/src/main/moditect/module-info.java | 2 +- .../metrics/http/internal/HttpMetricGroupFactoryTest.java | 2 +- .../runtime/metrics/http/internal/HttpMetricGroupTest.java | 2 +- .../metrics/stream/internal/StreamActiveMetricContext.java | 2 +- .../metrics/stream/internal/StreamActiveReceivedMetric.java | 2 +- .../metrics/stream/internal/StreamActiveSentMetric.java | 2 +- .../metrics/stream/internal/StreamClosesMetricContext.java | 2 +- .../metrics/stream/internal/StreamClosesReceivedMetric.java | 2 +- .../metrics/stream/internal/StreamClosesSentMetric.java | 2 +- .../metrics/stream/internal/StreamDataMetricContext.java | 2 +- .../metrics/stream/internal/StreamDataReceivedMetric.java | 2 +- .../runtime/metrics/stream/internal/StreamDataSentMetric.java | 2 +- .../metrics/stream/internal/StreamErrorsMetricContext.java | 2 +- .../metrics/stream/internal/StreamErrorsReceivedMetric.java | 2 +- .../metrics/stream/internal/StreamErrorsSentMetric.java | 2 +- .../runtime/metrics/stream/internal/StreamMetricGroup.java | 2 +- .../metrics/stream/internal/StreamMetricGroupFactorySpi.java | 2 +- .../metrics/stream/internal/StreamOpensMetricContext.java | 2 +- .../metrics/stream/internal/StreamOpensReceivedMetric.java | 2 +- .../metrics/stream/internal/StreamOpensSentMetric.java | 2 +- runtime/metrics-stream/src/main/moditect/module-info.java | 2 +- .../metrics/stream/internal/StreamMetricGroupFactoryTest.java | 2 +- .../metrics/stream/internal/StreamMetricGroupTest.java | 2 +- .../zilla/runtime/model/avro/config/AvroModelConfig.java | 2 +- .../runtime/model/avro/config/AvroModelConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/model/avro/internal/AvroField.java | 2 +- .../aklivity/zilla/runtime/model/avro/internal/AvroModel.java | 2 +- .../zilla/runtime/model/avro/internal/AvroModelContext.java | 2 +- .../runtime/model/avro/internal/AvroModelEventContext.java | 2 +- .../runtime/model/avro/internal/AvroModelEventFormatter.java | 2 +- .../model/avro/internal/AvroModelEventFormatterFactory.java | 2 +- .../runtime/model/avro/internal/AvroModelFactorySpi.java | 2 +- .../zilla/runtime/model/avro/internal/AvroModelHandler.java | 2 +- .../runtime/model/avro/internal/AvroReadConverterHandler.java | 2 +- .../model/avro/internal/AvroWriteConverterHandler.java | 2 +- .../model/avro/internal/config/AvroModelConfigAdapter.java | 2 +- runtime/model-avro/src/main/moditect/module-info.java | 2 +- runtime/model-avro/src/main/zilla/internal.idl | 2 +- .../runtime/model/avro/internal/AvroModelFactorySpiTest.java | 2 +- .../zilla/runtime/model/avro/internal/AvroModelTest.java | 2 +- .../aklivity/zilla/runtime/model/avro/internal/EventIT.java | 2 +- .../avro/internal/config/AvroModelConfigAdapterTest.java | 2 +- .../zilla/runtime/model/core/config/DoubleModelConfig.java | 2 +- .../runtime/model/core/config/DoubleModelConfigBuilder.java | 2 +- .../zilla/runtime/model/core/config/FloatModelConfig.java | 2 +- .../runtime/model/core/config/FloatModelConfigBuilder.java | 2 +- .../zilla/runtime/model/core/config/Int32ModelConfig.java | 2 +- .../runtime/model/core/config/Int32ModelConfigBuilder.java | 2 +- .../zilla/runtime/model/core/config/Int64ModelConfig.java | 2 +- .../runtime/model/core/config/Int64ModelConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/model/core/config/RangeConfig.java | 2 +- .../zilla/runtime/model/core/config/StringModelConfig.java | 2 +- .../runtime/model/core/config/StringModelConfigBuilder.java | 2 +- .../zilla/runtime/model/core/config/StringPattern.java | 2 +- .../runtime/model/core/internal/CoreModelEventContext.java | 2 +- .../runtime/model/core/internal/CoreModelEventFormatter.java | 2 +- .../model/core/internal/CoreModelEventFormatterFactory.java | 2 +- .../runtime/model/core/internal/DoubleConverterHandler.java | 2 +- .../zilla/runtime/model/core/internal/DoubleFormat.java | 2 +- .../zilla/runtime/model/core/internal/DoubleModel.java | 2 +- .../zilla/runtime/model/core/internal/DoubleModelContext.java | 2 +- .../runtime/model/core/internal/DoubleModelFactorySpi.java | 2 +- .../zilla/runtime/model/core/internal/DoubleState.java | 2 +- .../runtime/model/core/internal/DoubleValidatorHandler.java | 2 +- .../runtime/model/core/internal/FloatConverterHandler.java | 2 +- .../zilla/runtime/model/core/internal/FloatFormat.java | 2 +- .../zilla/runtime/model/core/internal/FloatModel.java | 2 +- .../zilla/runtime/model/core/internal/FloatModelContext.java | 2 +- .../runtime/model/core/internal/FloatModelFactorySpi.java | 2 +- .../zilla/runtime/model/core/internal/FloatState.java | 2 +- .../runtime/model/core/internal/FloatValidatorHandler.java | 2 +- .../runtime/model/core/internal/Int32ConverterHandler.java | 2 +- .../zilla/runtime/model/core/internal/Int32Format.java | 2 +- .../zilla/runtime/model/core/internal/Int32Model.java | 2 +- .../zilla/runtime/model/core/internal/Int32ModelContext.java | 2 +- .../runtime/model/core/internal/Int32ModelFactorySpi.java | 2 +- .../zilla/runtime/model/core/internal/Int32State.java | 2 +- .../runtime/model/core/internal/Int32ValidatorHandler.java | 2 +- .../runtime/model/core/internal/Int64ConverterHandler.java | 2 +- .../zilla/runtime/model/core/internal/Int64Format.java | 2 +- .../zilla/runtime/model/core/internal/Int64Model.java | 2 +- .../zilla/runtime/model/core/internal/Int64ModelContext.java | 2 +- .../runtime/model/core/internal/Int64ModelFactorySpi.java | 2 +- .../zilla/runtime/model/core/internal/Int64State.java | 2 +- .../runtime/model/core/internal/Int64ValidatorHandler.java | 2 +- .../runtime/model/core/internal/StringConverterHandler.java | 2 +- .../zilla/runtime/model/core/internal/StringEncoding.java | 2 +- .../zilla/runtime/model/core/internal/StringModel.java | 2 +- .../zilla/runtime/model/core/internal/StringModelContext.java | 2 +- .../runtime/model/core/internal/StringModelFactorySpi.java | 2 +- .../zilla/runtime/model/core/internal/StringState.java | 2 +- .../runtime/model/core/internal/StringValidatorEncoding.java | 2 +- .../runtime/model/core/internal/StringValidatorHandler.java | 2 +- .../model/core/internal/config/DoubleModelConfigAdapter.java | 2 +- .../model/core/internal/config/FloatModelConfigAdapter.java | 2 +- .../model/core/internal/config/Int32ModelConfigAdapter.java | 2 +- .../model/core/internal/config/Int64ModelConfigAdapter.java | 2 +- .../model/core/internal/config/RangeConfigAdapter.java | 2 +- .../model/core/internal/config/StringModelConfigAdapter.java | 2 +- runtime/model-core/src/main/moditect/module-info.java | 2 +- .../runtime/model/core/internal/DoubleConverterTest.java | 2 +- .../runtime/model/core/internal/DoubleModelFactoryTest.java | 2 +- .../runtime/model/core/internal/DoubleValidatorTest.java | 2 +- .../aklivity/zilla/runtime/model/core/internal/EventIT.java | 2 +- .../zilla/runtime/model/core/internal/FloatConverterTest.java | 2 +- .../runtime/model/core/internal/FloatModelFactoryTest.java | 2 +- .../zilla/runtime/model/core/internal/FloatValidatorTest.java | 2 +- .../zilla/runtime/model/core/internal/Int32ConverterTest.java | 2 +- .../runtime/model/core/internal/Int32ModelFactoryTest.java | 2 +- .../zilla/runtime/model/core/internal/Int32ValidatorTest.java | 2 +- .../zilla/runtime/model/core/internal/Int64ConverterTest.java | 2 +- .../runtime/model/core/internal/Int64ModelFactoryTest.java | 2 +- .../zilla/runtime/model/core/internal/Int64ValidatorTest.java | 2 +- .../runtime/model/core/internal/StringConverterTest.java | 2 +- .../zilla/runtime/model/core/internal/StringEncodingTest.java | 2 +- .../runtime/model/core/internal/StringModelFactoryTest.java | 2 +- .../runtime/model/core/internal/StringValidatorTest.java | 2 +- .../core/internal/config/DoubleModelConfigAdapterTest.java | 2 +- .../core/internal/config/FloatModelConfigAdapterTest.java | 2 +- .../core/internal/config/Int32ModelConfigAdapterTest.java | 2 +- .../core/internal/config/Int64ModelConfigAdapterTest.java | 2 +- .../core/internal/config/StringModelConfigAdapterTest.java | 2 +- .../runtime/model/core/internal/config/StringPatternTest.java | 2 +- .../zilla/runtime/model/json/config/JsonModelConfig.java | 2 +- .../runtime/model/json/config/JsonModelConfigBuilder.java | 2 +- .../aklivity/zilla/runtime/model/json/internal/JsonModel.java | 2 +- .../zilla/runtime/model/json/internal/JsonModelContext.java | 2 +- .../runtime/model/json/internal/JsonModelEventContext.java | 2 +- .../runtime/model/json/internal/JsonModelEventFormatter.java | 2 +- .../model/json/internal/JsonModelEventFormatterFactory.java | 2 +- .../runtime/model/json/internal/JsonModelFactorySpi.java | 2 +- .../zilla/runtime/model/json/internal/JsonModelHandler.java | 2 +- .../runtime/model/json/internal/JsonReadConverterHandler.java | 2 +- .../runtime/model/json/internal/JsonValidatorHandler.java | 2 +- .../model/json/internal/JsonWriteConverterHandler.java | 2 +- .../model/json/internal/config/JsonModelConfigAdapter.java | 2 +- runtime/model-json/src/main/moditect/module-info.java | 2 +- .../aklivity/zilla/runtime/model/json/internal/EventIT.java | 2 +- .../zilla/runtime/model/json/internal/JsonConverterTest.java | 2 +- .../runtime/model/json/internal/JsonModelFactorySpiTest.java | 2 +- .../zilla/runtime/model/json/internal/JsonValidatorTest.java | 2 +- .../json/internal/config/JsonModelConfigAdapterTest.java | 2 +- .../zilla/runtime/model/protobuf/internal/parser/Protobuf3.g4 | 2 +- .../runtime/model/protobuf/config/ProtobufModelConfig.java | 2 +- .../model/protobuf/config/ProtobufModelConfigBuilder.java | 2 +- .../zilla/runtime/model/protobuf/internal/DescriptorTree.java | 2 +- .../zilla/runtime/model/protobuf/internal/ProtoListener.java | 2 +- .../zilla/runtime/model/protobuf/internal/ProtobufField.java | 2 +- .../zilla/runtime/model/protobuf/internal/ProtobufModel.java | 2 +- .../runtime/model/protobuf/internal/ProtobufModelContext.java | 2 +- .../model/protobuf/internal/ProtobufModelEventContext.java | 2 +- .../model/protobuf/internal/ProtobufModelEventFormatter.java | 2 +- .../protobuf/internal/ProtobufModelEventFormatterFactory.java | 2 +- .../model/protobuf/internal/ProtobufModelFactorySpi.java | 2 +- .../runtime/model/protobuf/internal/ProtobufModelHandler.java | 2 +- .../model/protobuf/internal/ProtobufReadConverterHandler.java | 2 +- .../protobuf/internal/ProtobufWriteConverterHandler.java | 2 +- .../protobuf/internal/config/ProtobufModelConfigAdapter.java | 2 +- runtime/model-protobuf/src/main/moditect/module-info.java | 2 +- .../zilla/runtime/model/protobuf/internal/EventIT.java | 2 +- .../model/protobuf/internal/ProtobufModelFactorySpiTest.java | 2 +- .../runtime/model/protobuf/internal/ProtobufModelTest.java | 2 +- .../internal/config/ProtobufModelConfigAdapterTest.java | 2 +- .../resolver/env/internal/EnvironmentResolverFactorySpi.java | 2 +- .../runtime/resolver/env/internal/EnvironmentResolverSpi.java | 2 +- runtime/resolver-env/src/main/moditect/module-info.java | 2 +- .../vault/filesystem/config/FileSystemOptionsConfig.java | 2 +- .../filesystem/config/FileSystemOptionsConfigBuilder.java | 2 +- .../vault/filesystem/config/FileSystemStoreConfig.java | 2 +- .../vault/filesystem/config/FileSystemStoreConfigBuilder.java | 2 +- .../runtime/vault/filesystem/internal/FileSystemContext.java | 2 +- .../runtime/vault/filesystem/internal/FileSystemVault.java | 2 +- .../vault/filesystem/internal/FileSystemVaultFactorySpi.java | 2 +- .../vault/filesystem/internal/FileSystemVaultHandler.java | 2 +- .../internal/config/FileSystemOptionsConfigAdapter.java | 2 +- .../internal/config/FileSystemStoreConfigAdapter.java | 2 +- runtime/vault-filesystem/src/main/moditect/module-info.java | 2 +- .../runtime/vault/filesystem/internal/FileSystemVaultIT.java | 2 +- .../vault/filesystem/internal/FileSystemVaultTest.java | 2 +- .../internal/config/FileSystemOptionsConfigAdapterTest.java | 2 +- .../zilla/specs/binding/asyncapi/AsyncapiFunctions.java | 2 +- .../aklivity/zilla/specs/binding/asyncapi/AsyncapiSpecs.java | 2 +- .../binding-asyncapi.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/asyncapi.idl | 2 +- .../specs/binding/asyncapi/config/client.http.secure.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/client.http.yaml | 2 +- .../specs/binding/asyncapi/config/client.kafka.sasl.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/client.kafka.yaml | 2 +- .../specs/binding/asyncapi/config/client.mqtt.secure.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/client.mqtt.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/client.sse.yaml | 2 +- .../specs/binding/asyncapi/config/proxy.http.kafka.async.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/proxy.http.kafka.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/proxy.mqtt.kafka.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/proxy.sse.kafka.yaml | 2 +- .../specs/binding/asyncapi/config/server.http.secure.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/server.http.yaml | 2 +- .../specs/binding/asyncapi/config/server.mqtt.secure.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/server.mqtt.yaml | 2 +- .../specs/binding/asyncapi/config/server.multi.protocol.yaml | 2 +- .../zilla/specs/binding/asyncapi/config/server.sse.yaml | 2 +- .../asyncapi/streams/asyncapi/http/create.pet/client.rpt | 2 +- .../asyncapi/streams/asyncapi/http/create.pet/server.rpt | 2 +- .../streams/asyncapi/http/verify.customer.async/client.rpt | 2 +- .../streams/asyncapi/http/verify.customer.async/server.rpt | 2 +- .../asyncapi/streams/asyncapi/kafka/create.pet/client.rpt | 2 +- .../asyncapi/streams/asyncapi/kafka/create.pet/server.rpt | 2 +- .../streams/asyncapi/kafka/produce.message/client.rpt | 2 +- .../streams/asyncapi/kafka/produce.message/server.rpt | 2 +- .../asyncapi/streams/asyncapi/kafka/publish/client.rpt | 2 +- .../asyncapi/streams/asyncapi/kafka/publish/server.rpt | 2 +- .../streams/asyncapi/kafka/server.sent.messages/client.rpt | 2 +- .../streams/asyncapi/kafka/server.sent.messages/server.rpt | 2 +- .../streams/asyncapi/kafka/verify.customer/client.rpt | 2 +- .../streams/asyncapi/kafka/verify.customer/server.rpt | 2 +- .../streams/asyncapi/mqtt/publish.and.subscribe/client.rpt | 2 +- .../streams/asyncapi/mqtt/publish.and.subscribe/server.rpt | 2 +- .../binding/asyncapi/streams/asyncapi/mqtt/publish/client.rpt | 2 +- .../binding/asyncapi/streams/asyncapi/mqtt/publish/server.rpt | 2 +- .../asyncapi/streams/asyncapi/sse/data.multiple/client.rpt | 2 +- .../asyncapi/streams/asyncapi/sse/data.multiple/server.rpt | 2 +- .../streams/asyncapi/sse/server.sent.messages/client.rpt | 2 +- .../streams/asyncapi/sse/server.sent.messages/server.rpt | 2 +- .../asyncapi/streams/composite/http/create.pet/client.rpt | 2 +- .../asyncapi/streams/composite/http/create.pet/server.rpt | 2 +- .../streams/composite/kafka/produce.message/client.rpt | 2 +- .../streams/composite/kafka/produce.message/server.rpt | 2 +- .../streams/composite/mqtt/publish.and.subscribe/client.rpt | 2 +- .../streams/composite/mqtt/publish.and.subscribe/server.rpt | 2 +- .../asyncapi/streams/composite/sse/data.multiple/client.rpt | 2 +- .../asyncapi/streams/composite/sse/data.multiple/server.rpt | 2 +- .../zilla/specs/binding/asyncapi/AsyncapiFunctionsTest.java | 2 +- .../zilla/specs/binding/asyncapi/config/SchemaTest.java | 2 +- .../zilla/specs/binding/asyncapi/streams/AsyncapiHttpIT.java | 2 +- .../zilla/specs/binding/asyncapi/streams/AsyncapiKafkaIT.java | 2 +- .../zilla/specs/binding/asyncapi/streams/AsyncapiMqttIT.java | 2 +- .../zilla/specs/binding/asyncapi/streams/AsyncapiSseIT.java | 2 +- .../zilla/specs/binding/asyncapi/streams/CompositeHttpIT.java | 2 +- .../specs/binding/asyncapi/streams/CompositeKafkaIT.java | 2 +- .../zilla/specs/binding/asyncapi/streams/CompositeMqttIT.java | 2 +- .../zilla/specs/binding/asyncapi/streams/CompositeSseIT.java | 2 +- specs/binding-echo.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/echo.idl | 2 +- .../io/aklivity/zilla/specs/binding/echo/config/server.yaml | 2 +- .../echo/streams/rfc862/client.sent.challenge/client.rpt | 2 +- .../echo/streams/rfc862/client.sent.challenge/server.rpt | 2 +- .../binding/echo/streams/rfc862/client.sent.data/client.rpt | 2 +- .../binding/echo/streams/rfc862/client.sent.data/server.rpt | 2 +- .../binding/echo/streams/rfc862/client.sent.flush/client.rpt | 2 +- .../binding/echo/streams/rfc862/client.sent.flush/server.rpt | 2 +- .../echo/streams/rfc862/connection.established/client.rpt | 2 +- .../echo/streams/rfc862/connection.established/server.rpt | 2 +- .../aklivity/zilla/specs/binding/echo/config/SchemaTest.java | 2 +- .../zilla/specs/binding/echo/streams/rfc862/ServerIT.java | 2 +- specs/binding-fan.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/fan.idl | 2 +- .../io/aklivity/zilla/specs/binding/fan/config/server.yaml | 2 +- .../fan/streams/application/client.connected/client.rpt | 2 +- .../fan/streams/application/client.connected/server.rpt | 2 +- .../fan/streams/application/client.received.data/client.rpt | 2 +- .../fan/streams/application/client.received.data/server.rpt | 2 +- .../application/client.sent.and.received.data/client.rpt | 2 +- .../application/client.sent.and.received.data/server.rpt | 2 +- .../fan/streams/application/client.sent.data/client.rpt | 2 +- .../fan/streams/application/client.sent.data/server.rpt | 2 +- .../fan/streams/application/client.sent.flush/client.rpt | 2 +- .../fan/streams/application/client.sent.flush/server.rpt | 2 +- .../fan/streams/application/server.sent.flush/client.rpt | 2 +- .../fan/streams/application/server.sent.flush/server.rpt | 2 +- .../binding/fan/streams/network/client.connected/client.rpt | 2 +- .../binding/fan/streams/network/client.connected/server.rpt | 2 +- .../fan/streams/network/client.received.data/client.rpt | 2 +- .../fan/streams/network/client.received.data/server.rpt | 2 +- .../streams/network/client.sent.and.received.data/client.rpt | 2 +- .../streams/network/client.sent.and.received.data/server.rpt | 2 +- .../binding/fan/streams/network/client.sent.data/client.rpt | 2 +- .../binding/fan/streams/network/client.sent.data/server.rpt | 2 +- .../binding/fan/streams/network/client.sent.flush/client.rpt | 2 +- .../binding/fan/streams/network/client.sent.flush/server.rpt | 2 +- .../binding/fan/streams/network/server.sent.flush/client.rpt | 2 +- .../binding/fan/streams/network/server.sent.flush/server.rpt | 2 +- .../aklivity/zilla/specs/binding/fan/config/SchemaTest.java | 2 +- .../zilla/specs/binding/fan/streams/ApplicationIT.java | 2 +- .../aklivity/zilla/specs/binding/fan/streams/NetworkIT.java | 2 +- .../binding/filesystem/internal/FileSystemFunctions.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/filesystem.idl | 2 +- .../zilla/specs/binding/filesystem/config/server.yaml | 2 +- .../specs/binding/filesystem/config/server_symlinks.yaml | 2 +- .../streams/application/client.read.abort/client.rpt | 2 +- .../streams/application/client.read.abort/server.rpt | 2 +- .../application/client.read.begin.not.modified/client.rpt | 2 +- .../application/client.read.begin.not.modified/server.rpt | 2 +- .../streams/application/client.read.file.not.found/client.rpt | 2 +- .../streams/application/client.read.file.not.found/server.rpt | 2 +- .../streams/application/client.write.abort/client.rpt | 2 +- .../streams/application/client.write.abort/server.rpt | 2 +- .../application/read.file.extension.default/client.rpt | 2 +- .../application/read.file.extension.default/server.rpt | 2 +- .../streams/application/read.file.extension/client.rpt | 2 +- .../streams/application/read.file.extension/server.rpt | 2 +- .../streams/application/read.file.payload.empty/client.rpt | 2 +- .../streams/application/read.file.payload.empty/server.rpt | 2 +- .../application/read.file.payload.etag.not.matched/client.rpt | 2 +- .../application/read.file.payload.etag.not.matched/server.rpt | 2 +- .../application/read.file.payload.extension/client.rpt | 2 +- .../application/read.file.payload.extension/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../read.file.payload.modified.follow.symlinks/client.rpt | 2 +- .../read.file.payload.modified.follow.symlinks/server.rpt | 2 +- .../read.file.payload.modified.multi.client/client.rpt | 2 +- .../read.file.payload.modified.multi.client/server.rpt | 2 +- .../streams/application/read.file.payload.modified/client.rpt | 2 +- .../streams/application/read.file.payload.modified/server.rpt | 2 +- .../streams/application/read.file.payload/client.rpt | 2 +- .../streams/application/read.file.payload/server.rpt | 2 +- .../zilla/specs/binding/filesystem/config/SchemaTest.java | 2 +- .../binding/filesystem/internal/FileSystemFunctionsTest.java | 2 +- .../binding/filesystem/streams/application/FileSystemIT.java | 2 +- .../specs/binding/grpc/kafka/internal/GrpcKafkaFunctions.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/grpc_kafka.idl | 2 +- .../specs/binding/grpc/kafka/config/fetch.proxy.rpc.yaml | 2 +- .../specs/binding/grpc/kafka/config/produce.proxy.rpc.yaml | 2 +- .../grpc/fetch/client.sent.read.abort.unary.rpc/client.rpt | 2 +- .../grpc/fetch/client.sent.read.abort.unary.rpc/server.rpt | 2 +- .../grpc/fetch/client.sent.write.abort.unary.rpc/client.rpt | 2 +- .../grpc/fetch/client.sent.write.abort.unary.rpc/server.rpt | 2 +- .../grpc/fetch/reject.request.body.unary.rpc/client.rpt | 2 +- .../grpc/fetch/reject.request.body.unary.rpc/server.rpt | 2 +- .../kafka/streams/grpc/fetch/reliable.unary.rpc/client.rpt | 2 +- .../kafka/streams/grpc/fetch/reliable.unary.rpc/server.rpt | 2 +- .../kafka/streams/grpc/fetch/unreliable.unary.rpc/client.rpt | 2 +- .../kafka/streams/grpc/fetch/unreliable.unary.rpc/server.rpt | 2 +- .../grpc/produce/bidi.stream.rpc.write.abort/client.rpt | 2 +- .../grpc/produce/bidi.stream.rpc.write.abort/server.rpt | 2 +- .../kafka/streams/grpc/produce/bidi.stream.rpc/client.rpt | 2 +- .../kafka/streams/grpc/produce/bidi.stream.rpc/server.rpt | 2 +- .../grpc/produce/client.stream.rpc.write.abort/client.rpt | 2 +- .../grpc/produce/client.stream.rpc.write.abort/server.rpt | 2 +- .../kafka/streams/grpc/produce/client.stream.rpc/client.rpt | 2 +- .../kafka/streams/grpc/produce/client.stream.rpc/server.rpt | 2 +- .../grpc/produce/server.stream.rpc.read.aborted/client.rpt | 2 +- .../grpc/produce/server.stream.rpc.read.aborted/server.rpt | 2 +- .../kafka/streams/grpc/produce/server.stream.rpc/client.rpt | 2 +- .../kafka/streams/grpc/produce/server.stream.rpc/server.rpt | 2 +- .../kafka/streams/grpc/produce/unary.rpc.error/client.rpt | 2 +- .../kafka/streams/grpc/produce/unary.rpc.error/server.rpt | 2 +- .../grpc/produce/unary.rpc.message.value.100k/client.rpt | 2 +- .../grpc/produce/unary.rpc.message.value.100k/server.rpt | 2 +- .../kafka/streams/grpc/produce/unary.rpc.rejected/client.rpt | 2 +- .../kafka/streams/grpc/produce/unary.rpc.rejected/server.rpt | 2 +- .../grpc/produce/unary.rpc.sent.write.abort/client.rpt | 2 +- .../grpc/produce/unary.rpc.sent.write.abort/server.rpt | 2 +- .../grpc/kafka/streams/grpc/produce/unary.rpc/client.rpt | 2 +- .../grpc/kafka/streams/grpc/produce/unary.rpc/server.rpt | 2 +- .../kafka/fetch/client.sent.read.abort.unary.rpc/client.rpt | 2 +- .../kafka/fetch/client.sent.read.abort.unary.rpc/server.rpt | 2 +- .../kafka/fetch/client.sent.write.abort.unary.rpc/client.rpt | 2 +- .../kafka/fetch/client.sent.write.abort.unary.rpc/server.rpt | 2 +- .../kafka/fetch/reject.request.body.unary.rpc/client.rpt | 2 +- .../kafka/fetch/reject.request.body.unary.rpc/server.rpt | 2 +- .../kafka/streams/kafka/fetch/reliable.unary.rpc/client.rpt | 2 +- .../kafka/streams/kafka/fetch/reliable.unary.rpc/server.rpt | 2 +- .../kafka/streams/kafka/fetch/unreliable.unary.rpc/client.rpt | 2 +- .../kafka/streams/kafka/fetch/unreliable.unary.rpc/server.rpt | 2 +- .../kafka/produce/bidi.stream.rpc.write.abort/client.rpt | 2 +- .../kafka/produce/bidi.stream.rpc.write.abort/server.rpt | 2 +- .../kafka/streams/kafka/produce/bidi.stream.rpc/client.rpt | 2 +- .../kafka/streams/kafka/produce/bidi.stream.rpc/server.rpt | 2 +- .../kafka/produce/client.stream.rpc.write.abort/client.rpt | 2 +- .../kafka/produce/client.stream.rpc.write.abort/server.rpt | 2 +- .../kafka/streams/kafka/produce/client.stream.rpc/client.rpt | 2 +- .../kafka/streams/kafka/produce/client.stream.rpc/server.rpt | 2 +- .../kafka/produce/server.stream.rpc.read.aborted/client.rpt | 2 +- .../kafka/produce/server.stream.rpc.read.aborted/server.rpt | 2 +- .../kafka/streams/kafka/produce/server.stream.rpc/client.rpt | 2 +- .../kafka/streams/kafka/produce/server.stream.rpc/server.rpt | 2 +- .../kafka/streams/kafka/produce/unary.rpc.error/client.rpt | 2 +- .../kafka/streams/kafka/produce/unary.rpc.error/server.rpt | 2 +- .../kafka/produce/unary.rpc.message.value.100k/client.rpt | 2 +- .../kafka/produce/unary.rpc.message.value.100k/server.rpt | 2 +- .../kafka/streams/kafka/produce/unary.rpc.rejected/client.rpt | 2 +- .../kafka/streams/kafka/produce/unary.rpc.rejected/server.rpt | 2 +- .../kafka/produce/unary.rpc.sent.write.abort/client.rpt | 2 +- .../kafka/produce/unary.rpc.sent.write.abort/server.rpt | 2 +- .../grpc/kafka/streams/kafka/produce/unary.rpc/client.rpt | 2 +- .../grpc/kafka/streams/kafka/produce/unary.rpc/server.rpt | 2 +- .../binding/grpc/kafka/internal/GrpcKafkaFunctionsTest.java | 2 +- .../zilla/specs/binding/grpc/kafka/streams/GrpcFetchIT.java | 2 +- .../zilla/specs/binding/grpc/kafka/streams/GrpcProduceIT.java | 2 +- .../zilla/specs/binding/grpc/kafka/streams/KafkaFetchIT.java | 2 +- .../specs/binding/grpc/kafka/streams/KafkaProduceIT.java | 2 +- .../zilla/specs/binding/grpc/internal/GrpcFunctions.java | 2 +- specs/binding-grpc.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/grpc.idl | 2 +- .../binding/grpc/config/client.when.binary.metadata.yaml | 2 +- .../aklivity/zilla/specs/binding/grpc/config/client.when.yaml | 2 +- .../io/aklivity/zilla/specs/binding/grpc/config/client.yaml | 2 +- .../zilla/specs/binding/grpc/config/protobuf/echo.proto | 2 +- .../binding/grpc/config/server.when.binary.metadata.yaml | 2 +- .../zilla/specs/binding/grpc/config/server.when.catalog.yaml | 2 +- .../aklivity/zilla/specs/binding/grpc/config/server.when.yaml | 2 +- .../io/aklivity/zilla/specs/binding/grpc/config/server.yaml | 2 +- .../bidirectional.stream.rpc/message.exchange/client.rpt | 2 +- .../bidirectional.stream.rpc/message.exchange/server.rpt | 2 +- .../application/client.stream.rpc/message.exchange/client.rpt | 2 +- .../application/client.stream.rpc/message.exchange/server.rpt | 2 +- .../application/server.stream.rpc/message.exchange/client.rpt | 2 +- .../application/server.stream.rpc/message.exchange/server.rpt | 2 +- .../streams/application/unary.rpc/binary.metadata/client.rpt | 2 +- .../streams/application/unary.rpc/binary.metadata/server.rpt | 2 +- .../application/unary.rpc/empty.message.exchange/client.rpt | 2 +- .../application/unary.rpc/empty.message.exchange/server.rpt | 2 +- .../application/unary.rpc/message.exchange.100k/client.rpt | 2 +- .../application/unary.rpc/message.exchange.100k/server.rpt | 2 +- .../streams/application/unary.rpc/message.exchange/client.rpt | 2 +- .../streams/application/unary.rpc/message.exchange/server.rpt | 2 +- .../unary.rpc/response.missing.grpc.status/client.rpt | 2 +- .../unary.rpc/response.missing.grpc.status/server.rpt | 2 +- .../streams/application/unary.rpc/response.timeout/client.rpt | 2 +- .../streams/application/unary.rpc/response.timeout/server.rpt | 2 +- .../server.send.read.abort.on.open.request/client.rpt | 2 +- .../server.send.read.abort.on.open.request/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../server.send.write.abort.on.open.response/client.rpt | 2 +- .../server.send.write.abort.on.open.response/server.rpt | 2 +- .../bidirectional.stream.rpc/message.exchange/client.rpt | 2 +- .../bidirectional.stream.rpc/message.exchange/server.rpt | 2 +- .../network/client.stream.rpc/message.exchange/client.rpt | 2 +- .../network/client.stream.rpc/message.exchange/server.rpt | 2 +- .../streams/network/rejected.rpc/method.not.post/client.rpt | 2 +- .../streams/network/rejected.rpc/method.not.post/server.rpt | 2 +- .../network/rejected.rpc/missing.te.trailers/client.rpt | 2 +- .../network/rejected.rpc/missing.te.trailers/server.rpt | 2 +- .../streams/network/rejected.rpc/unrecognized.rpc/client.rpt | 2 +- .../streams/network/rejected.rpc/unrecognized.rpc/server.rpt | 2 +- .../network/rejected.rpc/unsupported.content.type/client.rpt | 2 +- .../network/rejected.rpc/unsupported.content.type/server.rpt | 2 +- .../network/server.stream.rpc/message.exchange/client.rpt | 2 +- .../network/server.stream.rpc/message.exchange/server.rpt | 2 +- .../grpc/streams/network/unary.rpc/binary.metadata/client.rpt | 2 +- .../grpc/streams/network/unary.rpc/binary.metadata/server.rpt | 2 +- .../network/unary.rpc/empty.message.exchange/client.rpt | 2 +- .../network/unary.rpc/empty.message.exchange/server.rpt | 2 +- .../grpc/streams/network/unary.rpc/grpc.web/client.rpt | 2 +- .../grpc/streams/network/unary.rpc/grpc.web/server.rpt | 2 +- .../network/unary.rpc/message.exchange.100k/client.rpt | 2 +- .../network/unary.rpc/message.exchange.100k/server.rpt | 2 +- .../streams/network/unary.rpc/message.exchange/client.rpt | 2 +- .../streams/network/unary.rpc/message.exchange/server.rpt | 2 +- .../network/unary.rpc/response.missing.grpc.status/client.rpt | 2 +- .../network/unary.rpc/response.missing.grpc.status/server.rpt | 2 +- .../streams/network/unary.rpc/response.timeout/client.rpt | 2 +- .../streams/network/unary.rpc/response.timeout/server.rpt | 2 +- .../network/unary.rpc/response.with.grpc.error/client.rpt | 2 +- .../network/unary.rpc/response.with.grpc.error/server.rpt | 2 +- .../server.send.read.abort.on.open.request/client.rpt | 2 +- .../server.send.read.abort.on.open.request/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../server.send.write.abort.on.open.response/client.rpt | 2 +- .../server.send.write.abort.on.open.response/server.rpt | 2 +- .../aklivity/zilla/specs/binding/grpc/config/SchemaTest.java | 2 +- .../zilla/specs/binding/grpc/internal/GrpcFunctionsTest.java | 2 +- .../binding/grpc/streams/application/BidiStreamRpcIT.java | 2 +- .../binding/grpc/streams/application/ClientStreamRpcIT.java | 2 +- .../binding/grpc/streams/application/ServerStreamRpcIT.java | 2 +- .../specs/binding/grpc/streams/application/UnaryRpcIT.java | 2 +- .../specs/binding/grpc/streams/network/BidiStreamRpcIT.java | 2 +- .../specs/binding/grpc/streams/network/ClientStreamRpcIT.java | 2 +- .../specs/binding/grpc/streams/network/RejectedRpcIT.java | 2 +- .../specs/binding/grpc/streams/network/ServerStreamRpcIT.java | 2 +- .../zilla/specs/binding/grpc/streams/network/UnaryRpcIT.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../http/filesystem/config/proxy.with.path.dynamic.yaml | 2 +- .../specs/binding/http/filesystem/config/proxy.with.path.yaml | 2 +- .../streams/filesystem/client.read.file.info/client.rpt | 2 +- .../streams/filesystem/client.read.file.info/server.rpt | 2 +- .../filesystem/client.read.file.map.modified/client.rpt | 2 +- .../filesystem/client.read.file.map.modified/server.rpt | 2 +- .../filesystem/client.read.file.map.not.modified/client.rpt | 2 +- .../filesystem/client.read.file.map.not.modified/server.rpt | 2 +- .../filesystem/streams/filesystem/client.read.file/client.rpt | 2 +- .../filesystem/streams/filesystem/client.read.file/server.rpt | 2 +- .../streams/filesystem/client.sent.abort/client.rpt | 2 +- .../streams/filesystem/client.sent.abort/server.rpt | 2 +- .../streams/filesystem/client.sent.reset/client.rpt | 2 +- .../streams/filesystem/client.sent.reset/server.rpt | 2 +- .../streams/filesystem/server.sent.abort/client.rpt | 2 +- .../streams/filesystem/server.sent.abort/server.rpt | 2 +- .../streams/filesystem/server.sent.flush/client.rpt | 2 +- .../streams/filesystem/server.sent.flush/server.rpt | 2 +- .../streams/filesystem/server.sent.reset/client.rpt | 2 +- .../streams/filesystem/server.sent.reset/server.rpt | 2 +- .../filesystem/streams/http/client.read.file.info/client.rpt | 2 +- .../filesystem/streams/http/client.read.file.info/server.rpt | 2 +- .../streams/http/client.read.file.map.modified/client.rpt | 2 +- .../streams/http/client.read.file.map.modified/server.rpt | 2 +- .../streams/http/client.read.file.map.not.modified/client.rpt | 2 +- .../streams/http/client.read.file.map.not.modified/server.rpt | 2 +- .../streams/http/client.read.file.with.query/client.rpt | 2 +- .../streams/http/client.read.file.with.query/server.rpt | 2 +- .../http/filesystem/streams/http/client.read.file/client.rpt | 2 +- .../http/filesystem/streams/http/client.read.file/server.rpt | 2 +- .../http/filesystem/streams/http/client.rejected/client.rpt | 2 +- .../http/filesystem/streams/http/client.rejected/server.rpt | 2 +- .../http/filesystem/streams/http/client.sent.abort/client.rpt | 2 +- .../http/filesystem/streams/http/client.sent.abort/server.rpt | 2 +- .../filesystem/streams/http/client.sent.message/client.rpt | 2 +- .../filesystem/streams/http/client.sent.message/server.rpt | 2 +- .../http/filesystem/streams/http/client.sent.reset/client.rpt | 2 +- .../http/filesystem/streams/http/client.sent.reset/server.rpt | 2 +- .../streams/http/client.write.file.rejected/client.rpt | 2 +- .../streams/http/client.write.file.rejected/server.rpt | 2 +- .../http/filesystem/streams/http/server.sent.abort/client.rpt | 2 +- .../http/filesystem/streams/http/server.sent.abort/server.rpt | 2 +- .../http/filesystem/streams/http/server.sent.flush/client.rpt | 2 +- .../http/filesystem/streams/http/server.sent.flush/server.rpt | 2 +- .../http/filesystem/streams/http/server.sent.reset/client.rpt | 2 +- .../http/filesystem/streams/http/server.sent.reset/server.rpt | 2 +- .../specs/binding/http/filesystem/config/SchemaTest.java | 2 +- .../specs/binding/http/filesystem/streams/FileSystemIT.java | 2 +- .../zilla/specs/binding/http/filesystem/streams/HttpIT.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../binding/http/kafka/config/proxy.delete.item.async.yaml | 2 +- .../binding/http/kafka/config/proxy.delete.item.no.reply.yaml | 2 +- .../specs/binding/http/kafka/config/proxy.delete.item.yaml | 2 +- .../specs/binding/http/kafka/config/proxy.get.item.child.yaml | 2 +- .../zilla/specs/binding/http/kafka/config/proxy.get.item.yaml | 2 +- .../specs/binding/http/kafka/config/proxy.get.items.yaml | 2 +- .../specs/binding/http/kafka/config/proxy.invalid.path.yaml | 2 +- .../binding/http/kafka/config/proxy.patch.item.async.yaml | 2 +- .../specs/binding/http/kafka/config/proxy.patch.item.yaml | 2 +- .../http/kafka/config/proxy.post.item.command.async.yaml | 2 +- .../binding/http/kafka/config/proxy.post.item.command.yaml | 2 +- .../binding/http/kafka/config/proxy.post.items.async.yaml | 2 +- .../specs/binding/http/kafka/config/proxy.post.items.yaml | 2 +- .../specs/binding/http/kafka/config/proxy.put.item.async.yaml | 2 +- .../binding/http/kafka/config/proxy.put.item.no.reply.yaml | 2 +- .../zilla/specs/binding/http/kafka/config/proxy.put.item.yaml | 2 +- .../kafka/streams/http/delete.item.if.match.failed/client.rpt | 2 +- .../kafka/streams/http/delete.item.if.match.failed/server.rpt | 2 +- .../streams/http/delete.item.if.match.no.etag/client.rpt | 2 +- .../streams/http/delete.item.if.match.no.etag/server.rpt | 2 +- .../http/kafka/streams/http/delete.item.if.match/client.rpt | 2 +- .../http/kafka/streams/http/delete.item.if.match/server.rpt | 2 +- .../streams/http/delete.item.prefer.async.delayed/client.rpt | 2 +- .../streams/http/delete.item.prefer.async.delayed/server.rpt | 2 +- .../streams/http/delete.item.prefer.async.ignored/client.rpt | 2 +- .../streams/http/delete.item.prefer.async.ignored/server.rpt | 2 +- .../http/delete.item.prefer.async.read.abort/client.rpt | 2 +- .../http/delete.item.prefer.async.read.abort/server.rpt | 2 +- .../streams/http/delete.item.prefer.async.rejected/client.rpt | 2 +- .../streams/http/delete.item.prefer.async.rejected/server.rpt | 2 +- .../http/delete.item.prefer.async.wait.delayed/client.rpt | 2 +- .../http/delete.item.prefer.async.wait.delayed/server.rpt | 2 +- .../http/delete.item.prefer.async.with.body/client.rpt | 2 +- .../http/delete.item.prefer.async.with.body/server.rpt | 2 +- .../http/delete.item.prefer.async.write.abort/client.rpt | 2 +- .../http/delete.item.prefer.async.write.abort/server.rpt | 2 +- .../http/delete.item.prefer.async.write.flush/client.rpt | 2 +- .../http/delete.item.prefer.async.write.flush/server.rpt | 2 +- .../kafka/streams/http/delete.item.prefer.async/client.rpt | 2 +- .../kafka/streams/http/delete.item.prefer.async/server.rpt | 2 +- .../http/kafka/streams/http/delete.item.read.abort/client.rpt | 2 +- .../http/kafka/streams/http/delete.item.read.abort/server.rpt | 2 +- .../http/kafka/streams/http/delete.item.rejected/client.rpt | 2 +- .../http/kafka/streams/http/delete.item.rejected/server.rpt | 2 +- .../kafka/streams/http/delete.item.write.abort/client.rpt | 2 +- .../kafka/streams/http/delete.item.write.abort/server.rpt | 2 +- .../kafka/streams/http/delete.item.write.flush/client.rpt | 2 +- .../kafka/streams/http/delete.item.write.flush/server.rpt | 2 +- .../binding/http/kafka/streams/http/delete.item/client.rpt | 2 +- .../binding/http/kafka/streams/http/delete.item/server.rpt | 2 +- .../binding/http/kafka/streams/http/get.item.child/client.rpt | 2 +- .../binding/http/kafka/streams/http/get.item.child/server.rpt | 2 +- .../binding/http/kafka/streams/http/get.item.empty/client.rpt | 2 +- .../binding/http/kafka/streams/http/get.item.empty/server.rpt | 2 +- .../http/get.item.if.none.match.not.modified/client.rpt | 2 +- .../http/get.item.if.none.match.not.modified/server.rpt | 2 +- .../http/kafka/streams/http/get.item.if.none.match/client.rpt | 2 +- .../http/kafka/streams/http/get.item.if.none.match/server.rpt | 2 +- .../http/get.item.implicit.etag.if.none.match/client.rpt | 2 +- .../http/get.item.implicit.etag.if.none.match/server.rpt | 2 +- .../http/kafka/streams/http/get.item.implicit.etag/client.rpt | 2 +- .../http/kafka/streams/http/get.item.implicit.etag/server.rpt | 2 +- .../http/kafka/streams/http/get.item.not.found/client.rpt | 2 +- .../http/kafka/streams/http/get.item.not.found/server.rpt | 2 +- .../streams/http/get.item.prefer.wait.not.found/client.rpt | 2 +- .../streams/http/get.item.prefer.wait.not.found/server.rpt | 2 +- .../http/kafka/streams/http/get.item.prefer.wait/client.rpt | 2 +- .../http/kafka/streams/http/get.item.prefer.wait/server.rpt | 2 +- .../http/kafka/streams/http/get.item.read.abort/client.rpt | 2 +- .../http/kafka/streams/http/get.item.read.abort/server.rpt | 2 +- .../http/kafka/streams/http/get.item.with.body/client.rpt | 2 +- .../http/kafka/streams/http/get.item.with.body/server.rpt | 2 +- .../http/kafka/streams/http/get.item.write.abort/client.rpt | 2 +- .../http/kafka/streams/http/get.item.write.abort/server.rpt | 2 +- .../http/kafka/streams/http/get.item.write.flush/client.rpt | 2 +- .../http/kafka/streams/http/get.item.write.flush/server.rpt | 2 +- .../specs/binding/http/kafka/streams/http/get.item/client.rpt | 2 +- .../specs/binding/http/kafka/streams/http/get.item/server.rpt | 2 +- .../http/kafka/streams/http/get.items.empty/client.rpt | 2 +- .../http/kafka/streams/http/get.items.empty/server.rpt | 2 +- .../http/kafka/streams/http/get.items.fragmented/client.rpt | 2 +- .../http/kafka/streams/http/get.items.fragmented/server.rpt | 2 +- .../http/get.items.if.none.match.not.modified/client.rpt | 2 +- .../http/get.items.if.none.match.not.modified/server.rpt | 2 +- .../kafka/streams/http/get.items.if.none.match/client.rpt | 2 +- .../kafka/streams/http/get.items.if.none.match/server.rpt | 2 +- .../http/get.items.prefer.wait.not.modified/client.rpt | 2 +- .../http/get.items.prefer.wait.not.modified/server.rpt | 2 +- .../http/kafka/streams/http/get.items.prefer.wait/client.rpt | 2 +- .../http/kafka/streams/http/get.items.prefer.wait/server.rpt | 2 +- .../http/kafka/streams/http/get.items.read.abort/client.rpt | 2 +- .../http/kafka/streams/http/get.items.read.abort/server.rpt | 2 +- .../http/kafka/streams/http/get.items.with.body/client.rpt | 2 +- .../http/kafka/streams/http/get.items.with.body/server.rpt | 2 +- .../http/kafka/streams/http/get.items.write.abort/client.rpt | 2 +- .../http/kafka/streams/http/get.items.write.abort/server.rpt | 2 +- .../http/kafka/streams/http/get.items.write.flush/client.rpt | 2 +- .../http/kafka/streams/http/get.items.write.flush/server.rpt | 2 +- .../binding/http/kafka/streams/http/get.items/client.rpt | 2 +- .../binding/http/kafka/streams/http/get.items/server.rpt | 2 +- .../kafka/streams/http/patch.item.if.match.failed/client.rpt | 2 +- .../kafka/streams/http/patch.item.if.match.failed/server.rpt | 2 +- .../http/kafka/streams/http/patch.item.if.match/client.rpt | 2 +- .../http/kafka/streams/http/patch.item.if.match/server.rpt | 2 +- .../streams/http/patch.item.prefer.async.delayed/client.rpt | 2 +- .../streams/http/patch.item.prefer.async.delayed/server.rpt | 2 +- .../streams/http/patch.item.prefer.async.ignored/client.rpt | 2 +- .../streams/http/patch.item.prefer.async.ignored/server.rpt | 2 +- .../kafka/streams/http/patch.item.prefer.async/client.rpt | 2 +- .../kafka/streams/http/patch.item.prefer.async/server.rpt | 2 +- .../binding/http/kafka/streams/http/patch.item/client.rpt | 2 +- .../binding/http/kafka/streams/http/patch.item/server.rpt | 2 +- .../streams/http/post.item.command.if.match.failed/client.rpt | 2 +- .../streams/http/post.item.command.if.match.failed/server.rpt | 2 +- .../kafka/streams/http/post.item.command.if.match/client.rpt | 2 +- .../kafka/streams/http/post.item.command.if.match/server.rpt | 2 +- .../http/post.item.command.prefer.async.delayed/client.rpt | 2 +- .../http/post.item.command.prefer.async.delayed/server.rpt | 2 +- .../http/post.item.command.prefer.async.ignored/client.rpt | 2 +- .../http/post.item.command.prefer.async.ignored/server.rpt | 2 +- .../streams/http/post.item.command.prefer.async/client.rpt | 2 +- .../streams/http/post.item.command.prefer.async/server.rpt | 2 +- .../http/kafka/streams/http/post.item.command/client.rpt | 2 +- .../http/kafka/streams/http/post.item.command/server.rpt | 2 +- .../streams/http/post.items.prefer.async.delayed/client.rpt | 2 +- .../streams/http/post.items.prefer.async.delayed/server.rpt | 2 +- .../streams/http/post.items.prefer.async.ignored/client.rpt | 2 +- .../streams/http/post.items.prefer.async.ignored/server.rpt | 2 +- .../kafka/streams/http/post.items.prefer.async/client.rpt | 2 +- .../kafka/streams/http/post.items.prefer.async/server.rpt | 2 +- .../binding/http/kafka/streams/http/post.items/client.rpt | 2 +- .../binding/http/kafka/streams/http/post.items/server.rpt | 2 +- .../kafka/streams/http/put.item.if.match.failed/client.rpt | 2 +- .../kafka/streams/http/put.item.if.match.failed/server.rpt | 2 +- .../http/kafka/streams/http/put.item.if.match/client.rpt | 2 +- .../http/kafka/streams/http/put.item.if.match/server.rpt | 2 +- .../streams/http/put.item.prefer.async.delayed/client.rpt | 2 +- .../streams/http/put.item.prefer.async.delayed/server.rpt | 2 +- .../streams/http/put.item.prefer.async.ignored/client.rpt | 2 +- .../streams/http/put.item.prefer.async.ignored/server.rpt | 2 +- .../http/kafka/streams/http/put.item.prefer.async/client.rpt | 2 +- .../http/kafka/streams/http/put.item.prefer.async/server.rpt | 2 +- .../specs/binding/http/kafka/streams/http/put.item/client.rpt | 2 +- .../specs/binding/http/kafka/streams/http/put.item/server.rpt | 2 +- .../streams/kafka/delete.item.async.read.abort/client.rpt | 2 +- .../streams/kafka/delete.item.async.read.abort/server.rpt | 2 +- .../streams/kafka/delete.item.async.write.flush/client.rpt | 2 +- .../streams/kafka/delete.item.async.write.flush/server.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.async/client.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.async/server.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.delayed/client.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.delayed/server.rpt | 2 +- .../streams/kafka/delete.item.if.match.failed/client.rpt | 2 +- .../streams/kafka/delete.item.if.match.failed/server.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.if.match/client.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.if.match/server.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.no.reply/client.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.no.reply/server.rpt | 2 +- .../kafka/streams/kafka/delete.item.read.abort/client.rpt | 2 +- .../kafka/streams/kafka/delete.item.read.abort/server.rpt | 2 +- .../streams/kafka/delete.item.rejected.no.reply/client.rpt | 2 +- .../streams/kafka/delete.item.rejected.no.reply/server.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.rejected/client.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.rejected/server.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.repeated/client.rpt | 2 +- .../http/kafka/streams/kafka/delete.item.repeated/server.rpt | 2 +- .../kafka/streams/kafka/delete.item.wait.delayed/client.rpt | 2 +- .../kafka/streams/kafka/delete.item.wait.delayed/server.rpt | 2 +- .../kafka/streams/kafka/delete.item.write.abort/client.rpt | 2 +- .../kafka/streams/kafka/delete.item.write.abort/server.rpt | 2 +- .../kafka/streams/kafka/delete.item.write.flush/client.rpt | 2 +- .../kafka/streams/kafka/delete.item.write.flush/server.rpt | 2 +- .../binding/http/kafka/streams/kafka/delete.item/client.rpt | 2 +- .../binding/http/kafka/streams/kafka/delete.item/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.child/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.child/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.deleted/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.deleted/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.empty/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.empty/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.modified/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.modified/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.modifying/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.modifying/server.rpt | 2 +- .../kafka/streams/kafka/get.item.no.etag.modified/client.rpt | 2 +- .../kafka/streams/kafka/get.item.no.etag.modified/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.no.etag/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.no.etag/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.not.found/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.not.found/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.not.modified/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.not.modified/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.read.abort/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.read.abort/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.wait.timeout/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.wait.timeout/server.rpt | 2 +- .../binding/http/kafka/streams/kafka/get.item.wait/client.rpt | 2 +- .../binding/http/kafka/streams/kafka/get.item.wait/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.write.abort/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.write.abort/server.rpt | 2 +- .../http/kafka/streams/kafka/get.item.write.flush/client.rpt | 2 +- .../http/kafka/streams/kafka/get.item.write.flush/server.rpt | 2 +- .../binding/http/kafka/streams/kafka/get.item/client.rpt | 2 +- .../binding/http/kafka/streams/kafka/get.item/server.rpt | 2 +- .../http/kafka/streams/kafka/get.items.empty/client.rpt | 2 +- .../http/kafka/streams/kafka/get.items.empty/server.rpt | 2 +- .../http/kafka/streams/kafka/get.items.fragmented/client.rpt | 2 +- .../http/kafka/streams/kafka/get.items.fragmented/server.rpt | 2 +- .../http/kafka/streams/kafka/get.items.modified/client.rpt | 2 +- .../http/kafka/streams/kafka/get.items.modified/server.rpt | 2 +- .../kafka/streams/kafka/get.items.not.modified/client.rpt | 2 +- .../kafka/streams/kafka/get.items.not.modified/server.rpt | 2 +- .../http/kafka/streams/kafka/get.items.read.abort/client.rpt | 2 +- .../http/kafka/streams/kafka/get.items.read.abort/server.rpt | 2 +- .../http/kafka/streams/kafka/get.items.write.abort/client.rpt | 2 +- .../http/kafka/streams/kafka/get.items.write.abort/server.rpt | 2 +- .../http/kafka/streams/kafka/get.items.write.flush/client.rpt | 2 +- .../http/kafka/streams/kafka/get.items.write.flush/server.rpt | 2 +- .../binding/http/kafka/streams/kafka/get.items/client.rpt | 2 +- .../binding/http/kafka/streams/kafka/get.items/server.rpt | 2 +- .../http/kafka/streams/kafka/patch.item.async/client.rpt | 2 +- .../http/kafka/streams/kafka/patch.item.async/server.rpt | 2 +- .../http/kafka/streams/kafka/patch.item.delayed/client.rpt | 2 +- .../http/kafka/streams/kafka/patch.item.delayed/server.rpt | 2 +- .../kafka/streams/kafka/patch.item.if.match.failed/client.rpt | 2 +- .../kafka/streams/kafka/patch.item.if.match.failed/server.rpt | 2 +- .../http/kafka/streams/kafka/patch.item.if.match/client.rpt | 2 +- .../http/kafka/streams/kafka/patch.item.if.match/server.rpt | 2 +- .../binding/http/kafka/streams/kafka/patch.item/client.rpt | 2 +- .../binding/http/kafka/streams/kafka/patch.item/server.rpt | 2 +- .../kafka/streams/kafka/post.item.async.command/client.rpt | 2 +- .../kafka/streams/kafka/post.item.async.command/server.rpt | 2 +- .../streams/kafka/post.item.command.async.replayed/client.rpt | 2 +- .../streams/kafka/post.item.command.async.replayed/server.rpt | 2 +- .../kafka/streams/kafka/post.item.command.delayed/client.rpt | 2 +- .../kafka/streams/kafka/post.item.command.delayed/server.rpt | 2 +- .../kafka/post.item.command.if.match.failed/client.rpt | 2 +- .../kafka/post.item.command.if.match.failed/server.rpt | 2 +- .../kafka/streams/kafka/post.item.command.if.match/client.rpt | 2 +- .../kafka/streams/kafka/post.item.command.if.match/server.rpt | 2 +- .../kafka/streams/kafka/post.item.command.replayed/client.rpt | 2 +- .../kafka/streams/kafka/post.item.command.replayed/server.rpt | 2 +- .../http/kafka/streams/kafka/post.item.command/client.rpt | 2 +- .../http/kafka/streams/kafka/post.item.command/server.rpt | 2 +- .../kafka/streams/kafka/post.items.async.delayed/client.rpt | 2 +- .../kafka/streams/kafka/post.items.async.delayed/server.rpt | 2 +- .../http/kafka/streams/kafka/post.items.async/client.rpt | 2 +- .../http/kafka/streams/kafka/post.items.async/server.rpt | 2 +- .../http/kafka/streams/kafka/post.items.delayed/client.rpt | 2 +- .../http/kafka/streams/kafka/post.items.delayed/server.rpt | 2 +- .../binding/http/kafka/streams/kafka/post.items/client.rpt | 2 +- .../binding/http/kafka/streams/kafka/post.items/server.rpt | 2 +- .../http/kafka/streams/kafka/put.item.async/client.rpt | 2 +- .../http/kafka/streams/kafka/put.item.async/server.rpt | 2 +- .../http/kafka/streams/kafka/put.item.delayed/client.rpt | 2 +- .../http/kafka/streams/kafka/put.item.delayed/server.rpt | 2 +- .../kafka/streams/kafka/put.item.if.match.failed/client.rpt | 2 +- .../kafka/streams/kafka/put.item.if.match.failed/server.rpt | 2 +- .../http/kafka/streams/kafka/put.item.if.match/client.rpt | 2 +- .../http/kafka/streams/kafka/put.item.if.match/server.rpt | 2 +- .../http/kafka/streams/kafka/put.item.no.reply/client.rpt | 2 +- .../http/kafka/streams/kafka/put.item.no.reply/server.rpt | 2 +- .../binding/http/kafka/streams/kafka/put.item/client.rpt | 2 +- .../binding/http/kafka/streams/kafka/put.item/server.rpt | 2 +- .../zilla/specs/binding/http/kafka/config/SchemaTest.java | 2 +- .../zilla/specs/binding/http/kafka/streams/HttpIT.java | 2 +- .../zilla/specs/binding/http/kafka/streams/KafkaIT.java | 2 +- .../zilla/specs/binding/http/internal/HttpFunctions.java | 2 +- specs/binding-http.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/http.idl | 2 +- .../zilla/specs/binding/http/config/upgrade/client.yaml | 2 +- .../zilla/specs/binding/http/config/upgrade/server.yaml | 2 +- .../zilla/specs/binding/http/config/v1.1/client.override.yaml | 2 +- .../specs/binding/http/config/v1.1/client.validation.yaml | 2 +- .../aklivity/zilla/specs/binding/http/config/v1.1/client.yaml | 2 +- ....access.control.cross.origin.allow.credentials.cached.yaml | 2 +- .../server.access.control.cross.origin.allow.credentials.yaml | 2 +- ...ver.access.control.cross.origin.allow.explicit.cached.yaml | 2 +- .../server.access.control.cross.origin.allow.explicit.yaml | 2 +- .../v1.1/server.access.control.cross.origin.cached.yaml | 2 +- .../v1.1/server.access.control.cross.origin.expose.yaml | 2 +- .../http/config/v1.1/server.access.control.cross.origin.yaml | 2 +- .../server.access.control.same.origin.implicit.ports.yaml | 2 +- .../http/config/v1.1/server.access.control.same.origin.yaml | 2 +- .../specs/binding/http/config/v1.1/server.authority.yaml | 2 +- .../http/config/v1.1/server.authorization.credentials.yaml | 2 +- .../zilla/specs/binding/http/config/v1.1/server.event.yaml | 2 +- .../zilla/specs/binding/http/config/v1.1/server.model.yaml | 2 +- .../zilla/specs/binding/http/config/v1.1/server.override.yaml | 2 +- .../http/config/v1.1/server.with.route.header.overrides.yaml | 2 +- .../aklivity/zilla/specs/binding/http/config/v1.1/server.yaml | 2 +- .../zilla/specs/binding/http/config/v2/client.authority.yaml | 2 +- .../zilla/specs/binding/http/config/v2/client.override.yaml | 2 +- .../specs/binding/http/config/v2/client.path.prefix.yaml | 2 +- .../zilla/specs/binding/http/config/v2/client.path.yaml | 2 +- .../zilla/specs/binding/http/config/v2/client.validation.yaml | 2 +- .../aklivity/zilla/specs/binding/http/config/v2/client.yaml | 2 +- ....access.control.cross.origin.allow.credentials.cached.yaml | 2 +- .../server.access.control.cross.origin.allow.credentials.yaml | 2 +- ...ver.access.control.cross.origin.allow.explicit.cached.yaml | 2 +- .../v2/server.access.control.cross.origin.allow.explicit.yaml | 2 +- .../config/v2/server.access.control.cross.origin.cached.yaml | 2 +- .../config/v2/server.access.control.cross.origin.expose.yaml | 2 +- .../http/config/v2/server.access.control.cross.origin.yaml | 2 +- .../v2/server.access.control.same.origin.implicit.ports.yaml | 2 +- .../http/config/v2/server.access.control.same.origin.yaml | 2 +- .../zilla/specs/binding/http/config/v2/server.authority.yaml | 2 +- .../http/config/v2/server.authorization.credentials.yaml | 2 +- .../zilla/specs/binding/http/config/v2/server.event.yaml | 2 +- .../zilla/specs/binding/http/config/v2/server.model.yaml | 2 +- .../zilla/specs/binding/http/config/v2/server.override.yaml | 2 +- .../specs/binding/http/config/v2/server.path.prefix.yaml | 2 +- .../zilla/specs/binding/http/config/v2/server.path.yaml | 2 +- .../http/config/v2/server.with.route.header.overrides.yaml | 2 +- .../aklivity/zilla/specs/binding/http/config/v2/server.yaml | 2 +- .../access.control/allow.credentials.cookie/client.rpt | 2 +- .../access.control/allow.credentials.cookie/server.rpt | 2 +- .../rfc7230/access.control/allow.headers/client.rpt | 2 +- .../rfc7230/access.control/allow.headers/server.rpt | 2 +- .../rfc7230/access.control/allow.methods/client.rpt | 2 +- .../rfc7230/access.control/allow.methods/server.rpt | 2 +- .../rfc7230/access.control/allow.origin.omitted/client.rpt | 2 +- .../rfc7230/access.control/allow.origin.omitted/server.rpt | 2 +- .../allow.origin.same.origin.implicit.http.port/client.rpt | 2 +- .../allow.origin.same.origin.implicit.http.port/server.rpt | 2 +- .../allow.origin.same.origin.implicit.https.port/client.rpt | 2 +- .../allow.origin.same.origin.implicit.https.port/server.rpt | 2 +- .../access.control/allow.origin.same.origin/client.rpt | 2 +- .../access.control/allow.origin.same.origin/server.rpt | 2 +- .../rfc7230/access.control/allow.origin/client.rpt | 2 +- .../rfc7230/access.control/allow.origin/server.rpt | 2 +- .../rfc7230/access.control/expose.headers/client.rpt | 2 +- .../rfc7230/access.control/expose.headers/server.rpt | 2 +- .../application/rfc7230/advisory/request.and.flush/client.rpt | 2 +- .../application/rfc7230/advisory/request.and.flush/server.rpt | 2 +- .../rfc7230/architecture/request.and.response/client.rpt | 2 +- .../rfc7230/architecture/request.and.response/server.rpt | 2 +- .../architecture/request.uri.with.percent.chars/client.rpt | 2 +- .../architecture/request.uri.with.percent.chars/server.rpt | 2 +- .../rfc7230/architecture/request.version.1.2+/client.rpt | 2 +- .../rfc7230/architecture/request.version.1.2+/server.rpt | 2 +- .../rfc7230/architecture/response.version.missing/client.rpt | 2 +- .../rfc7230/architecture/response.version.missing/server.rpt | 2 +- .../authorization/authorize.credentials.cookie/client.rpt | 2 +- .../authorization/authorize.credentials.cookie/server.rpt | 2 +- .../authorization/authorize.credentials.header/client.rpt | 2 +- .../authorization/authorize.credentials.header/server.rpt | 2 +- .../authorization/authorize.credentials.query/client.rpt | 2 +- .../authorization/authorize.credentials.query/server.rpt | 2 +- .../authorization/challenge.credentials.cookie/client.rpt | 2 +- .../authorization/challenge.credentials.cookie/server.rpt | 2 +- .../authorization/challenge.credentials.header/client.rpt | 2 +- .../authorization/challenge.credentials.header/server.rpt | 2 +- .../authorization/challenge.credentials.query/client.rpt | 2 +- .../authorization/challenge.credentials.query/server.rpt | 2 +- .../authorization/expire.credentials.cookie/client.rpt | 2 +- .../authorization/expire.credentials.cookie/server.rpt | 2 +- .../authorization/expire.credentials.header/client.rpt | 2 +- .../authorization/expire.credentials.header/server.rpt | 2 +- .../rfc7230/authorization/expire.credentials.query/client.rpt | 2 +- .../rfc7230/authorization/expire.credentials.query/server.rpt | 2 +- .../authorization/reauthorize.credentials.cookie/client.rpt | 2 +- .../authorization/reauthorize.credentials.cookie/server.rpt | 2 +- .../authorization/reauthorize.credentials.header/client.rpt | 2 +- .../authorization/reauthorize.credentials.header/server.rpt | 2 +- .../authorization/reauthorize.credentials.query/client.rpt | 2 +- .../authorization/reauthorize.credentials.query/server.rpt | 2 +- .../connection.management/503.with.retry.after/client.rpt | 2 +- .../connection.management/503.with.retry.after/server.rpt | 2 +- .../concurrent.requests.with.content/client.rpt | 2 +- .../concurrent.requests.with.content/server.rpt | 2 +- .../connection.management/concurrent.requests/client.rpt | 2 +- .../connection.management/concurrent.requests/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../first.pipelined.response.has.connection.close/client.rpt | 2 +- .../first.pipelined.response.has.connection.close/server.rpt | 2 +- .../multiple.requests.same.connection/client.rpt | 2 +- .../multiple.requests.same.connection/server.rpt | 2 +- .../multiple.requests.serialized/client.rpt | 2 +- .../multiple.requests.serialized/server.rpt | 2 +- .../pending.request.second.request.and.abort/client.rpt | 2 +- .../pending.request.second.request.and.abort/server.rpt | 2 +- .../proxy.must.not.forward.connection.header/backend.rpt | 2 +- .../proxy.must.not.forward.connection.header/client.rpt | 2 +- .../proxy.must.not.forward.connection.header/proxy.rpt | 2 +- .../proxy.must.not.retry.non.idempotent.requests/backend.rpt | 2 +- .../proxy.must.not.retry.non.idempotent.requests/client.rpt | 2 +- .../proxy.must.not.retry.non.idempotent.requests/proxy.rpt | 2 +- .../request.and.503.response.with.retry/client.rpt | 2 +- .../request.and.503.response.with.retry/server.rpt | 2 +- .../connection.management/request.and.503.response/client.rpt | 2 +- .../connection.management/request.and.503.response/server.rpt | 2 +- .../connection.management/request.and.abort/client.rpt | 2 +- .../connection.management/request.and.abort/server.rpt | 2 +- .../request.and.response.twice.awaiting.barrier/client.rpt | 2 +- .../request.and.response.twice.awaiting.barrier/server.rpt | 2 +- .../request.and.response.twice/client.rpt | 2 +- .../request.and.response.twice/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../request.and.response.with.incomplete.data/client.rpt | 2 +- .../request.and.response.with.incomplete.data/server.rpt | 2 +- .../request.and.upgrade.required.response/client.rpt | 2 +- .../request.and.upgrade.required.response/server.rpt | 2 +- .../request.authority.with.no.port/client.rpt | 2 +- .../request.authority.with.no.port/server.rpt | 2 +- .../connection.management/request.receive.reset/client.rpt | 2 +- .../connection.management/request.receive.reset/server.rpt | 2 +- .../rfc7230/connection.management/request.rejected/client.rpt | 2 +- .../rfc7230/connection.management/request.rejected/server.rpt | 2 +- .../rfc7230/connection.management/request.response/client.rpt | 2 +- .../rfc7230/connection.management/request.response/server.rpt | 2 +- .../request.send.abort.after.response.received/client.rpt | 2 +- .../request.send.abort.after.response.received/server.rpt | 2 +- .../request.with.connection.close/client.rpt | 2 +- .../request.with.connection.close/server.rpt | 2 +- .../request.with.header.override/client.rpt | 2 +- .../request.with.header.override/server.rpt | 2 +- .../request.with.route.header.overrides/client.rpt | 2 +- .../request.with.route.header.overrides/server.rpt | 2 +- .../response.with.connection.close/client.rpt | 2 +- .../response.with.connection.close/server.rpt | 2 +- .../response.with.content.length.is.reset/client.rpt | 2 +- .../response.with.content.length.is.reset/server.rpt | 2 +- .../reverse.proxy.connection.established/backend.rpt | 2 +- .../reverse.proxy.connection.established/client.rpt | 2 +- .../reverse.proxy.connection.established/proxy.rpt | 2 +- .../send.end.after.upgrade.request.completed/client.rpt | 2 +- .../send.end.after.upgrade.request.completed/server.rpt | 2 +- .../upgrade.request.and.abort/client.rpt | 2 +- .../upgrade.request.and.abort/server.rpt | 2 +- .../upgrade.request.and.response.with.data/client.rpt | 2 +- .../upgrade.request.and.response.with.data/server.rpt | 2 +- .../upgrade.request.and.response/client.rpt | 2 +- .../upgrade.request.and.response/server.rpt | 2 +- .../rfc7230/flow.control/request.headers.too.long/client.rpt | 2 +- .../rfc7230/flow.control/request.headers.too.long/server.rpt | 2 +- .../rfc7230/flow.control/request.sent.100k.message/client.rpt | 2 +- .../rfc7230/flow.control/request.sent.100k.message/server.rpt | 2 +- .../rfc7230/flow.control/request.with.padding/client.rpt | 2 +- .../rfc7230/flow.control/request.with.padding/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../response.first.fragment.maximum.headers/client.rpt | 2 +- .../response.first.fragment.maximum.headers/server.rpt | 2 +- .../flow.control/response.fragmented.with.padding/client.rpt | 2 +- .../flow.control/response.fragmented.with.padding/server.rpt | 2 +- .../response.headers.too.long/client.no.response.rpt | 2 +- .../response.headers.too.long/client.response.reset.rpt | 2 +- .../response.headers.too.long/server.no.response.rpt | 2 +- .../response.headers.too.long/server.response.reset.rpt | 2 +- .../flow.control/response.headers.with.padding/client.rpt | 2 +- .../flow.control/response.headers.with.padding/server.rpt | 2 +- .../flow.control/response.sent.100k.message/client.rpt | 2 +- .../flow.control/response.sent.100k.message/server.rpt | 2 +- .../response.with.content.exceeding.window/client.rpt | 2 +- .../response.with.content.exceeding.window/server.rpt | 2 +- .../rfc7230/flow.control/response.with.padding/client.rpt | 2 +- .../rfc7230/flow.control/response.with.padding/server.rpt | 2 +- .../head.request.and.response.with.content.length/client.rpt | 2 +- .../head.request.and.response.with.content.length/server.rpt | 2 +- .../message.format/head.request.and.response/client.rpt | 2 +- .../message.format/head.request.and.response/server.rpt | 2 +- .../client.rpt | 2 +- .../proxy.rpt | 2 +- .../server.rpt | 2 +- .../message.format/post.request.with.no.content/client.rpt | 2 +- .../message.format/post.request.with.no.content/server.rpt | 2 +- .../client.rpt | 2 +- .../proxy.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../proxy.should.preserve.unrecognized.headers/client.rpt | 2 +- .../proxy.should.preserve.unrecognized.headers/proxy.rpt | 2 +- .../proxy.should.preserve.unrecognized.headers/server.rpt | 2 +- .../message.format/request.with.content.length/client.rpt | 2 +- .../message.format/request.with.content.length/server.rpt | 2 +- .../request.with.extra.CRLF.before.request.line/client.rpt | 2 +- .../request.with.extra.CRLF.before.request.line/server.rpt | 2 +- .../rfc7230/message.format/request.with.headers/client.rpt | 2 +- .../rfc7230/message.format/request.with.headers/server.rpt | 2 +- .../message.format/response.with.content.length/client.rpt | 2 +- .../message.format/response.with.content.length/server.rpt | 2 +- .../rfc7230/message.format/response.with.headers/client.rpt | 2 +- .../rfc7230/message.format/response.with.headers/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../multiple.requests.transfer.encoding.chunked/client.rpt | 2 +- .../multiple.requests.transfer.encoding.chunked/server.rpt | 2 +- .../request.transfer.encoding.chunked.with.trailer/client.rpt | 2 +- .../request.transfer.encoding.chunked.with.trailer/server.rpt | 2 +- .../request.transfer.encoding.chunked/client.rpt | 2 +- .../request.transfer.encoding.chunked/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../response.transfer.encoding.chunked/client.rpt | 2 +- .../response.transfer.encoding.chunked/server.rpt | 2 +- .../application/rfc7230/validation/invalid.request/client.rpt | 2 +- .../application/rfc7230/validation/invalid.request/server.rpt | 2 +- .../rfc7230/validation/invalid.response.content/client.rpt | 2 +- .../rfc7230/validation/invalid.response.content/server.rpt | 2 +- .../rfc7230/validation/invalid.response.header/client.rpt | 2 +- .../rfc7230/validation/invalid.response.header/server.rpt | 2 +- .../application/rfc7230/validation/valid.request/client.rpt | 2 +- .../application/rfc7230/validation/valid.request/server.rpt | 2 +- .../application/rfc7230/validation/valid.response/client.rpt | 2 +- .../application/rfc7230/validation/valid.response/server.rpt | 2 +- .../access.control/allow.credentials.cookie/client.rpt | 2 +- .../access.control/allow.credentials.cookie/server.rpt | 2 +- .../rfc7540/access.control/allow.headers/client.rpt | 2 +- .../rfc7540/access.control/allow.headers/server.rpt | 2 +- .../rfc7540/access.control/allow.methods/client.rpt | 2 +- .../rfc7540/access.control/allow.methods/server.rpt | 2 +- .../rfc7540/access.control/allow.origin.omitted/client.rpt | 2 +- .../rfc7540/access.control/allow.origin.omitted/server.rpt | 2 +- .../allow.origin.same.origin.implicit.http.port/client.rpt | 2 +- .../allow.origin.same.origin.implicit.http.port/server.rpt | 2 +- .../allow.origin.same.origin.implicit.https.port/client.rpt | 2 +- .../allow.origin.same.origin.implicit.https.port/server.rpt | 2 +- .../access.control/allow.origin.same.origin/client.rpt | 2 +- .../access.control/allow.origin.same.origin/server.rpt | 2 +- .../rfc7540/access.control/allow.origin/client.rpt | 2 +- .../rfc7540/access.control/allow.origin/server.rpt | 2 +- .../rfc7540/access.control/expose.headers/client.rpt | 2 +- .../rfc7540/access.control/expose.headers/server.rpt | 2 +- .../authorization/authorize.credentials.cookie/client.rpt | 2 +- .../authorization/authorize.credentials.cookie/server.rpt | 2 +- .../authorization/authorize.credentials.header/client.rpt | 2 +- .../authorization/authorize.credentials.header/server.rpt | 2 +- .../authorization/authorize.credentials.query/client.rpt | 2 +- .../authorization/authorize.credentials.query/server.rpt | 2 +- .../authorization/challenge.credentials.cookie/client.rpt | 2 +- .../authorization/challenge.credentials.cookie/server.rpt | 2 +- .../authorization/challenge.credentials.header/client.rpt | 2 +- .../authorization/challenge.credentials.header/server.rpt | 2 +- .../authorization/challenge.credentials.query/client.rpt | 2 +- .../authorization/challenge.credentials.query/server.rpt | 2 +- .../authorization/expire.credentials.cookie/client.rpt | 2 +- .../authorization/expire.credentials.cookie/server.rpt | 2 +- .../authorization/expire.credentials.header/client.rpt | 2 +- .../authorization/expire.credentials.header/server.rpt | 2 +- .../rfc7540/authorization/expire.credentials.query/client.rpt | 2 +- .../rfc7540/authorization/expire.credentials.query/server.rpt | 2 +- .../authorization/reauthorize.credentials.cookie/client.rpt | 2 +- .../authorization/reauthorize.credentials.cookie/server.rpt | 2 +- .../authorization/reauthorize.credentials.header/client.rpt | 2 +- .../authorization/reauthorize.credentials.header/server.rpt | 2 +- .../authorization/reauthorize.credentials.query/client.rpt | 2 +- .../authorization/reauthorize.credentials.query/server.rpt | 2 +- .../application/rfc7540/config/server.header/client.rpt | 2 +- .../application/rfc7540/config/server.header/server.rpt | 2 +- .../application/rfc7540/config/user.agent.header/client.rpt | 2 +- .../application/rfc7540/config/user.agent.header/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.sent.read.abort.on.open.response/client.rpt | 3 +-- .../client.sent.read.abort.on.open.response/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.sent.write.abort.on.open.request/client.rpt | 2 +- .../client.sent.write.abort.on.open.request/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../server.sent.read.abort.on.open.request/client.rpt | 2 +- .../server.sent.read.abort.on.open.request/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../server.sent.write.abort.on.open.response/client.rpt | 2 +- .../server.sent.write.abort.on.open.response/server.rpt | 2 +- .../client.sent.close.before.response.headers/client.rpt | 2 +- .../client.sent.close.before.response.headers/server.rpt | 2 +- .../client.sent.read.abort.on.closed.request/client.rpt | 2 +- .../client.sent.read.abort.on.closed.request/server.rpt | 2 +- .../client.sent.read.abort.on.open.request/client.rpt | 2 +- .../client.sent.read.abort.on.open.request/server.rpt | 2 +- .../client.sent.write.abort.on.closed.request/client.rpt | 2 +- .../client.sent.write.abort.on.closed.request/server.rpt | 2 +- .../client.sent.write.abort.on.open.request/client.rpt | 2 +- .../client.sent.write.abort.on.open.request/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../connection.management/client.sent.write.close/client.rpt | 2 +- .../connection.management/client.sent.write.close/server.rpt | 2 +- .../connection.has.two.streams/client.rpt | 2 +- .../connection.has.two.streams/server.rpt | 2 +- .../http.authority.default.port/client.rpt | 2 +- .../http.authority.default.port/server.rpt | 2 +- .../http.get.exchange.with.header.override/client.rpt | 2 +- .../http.get.exchange.with.header.override/server.rpt | 2 +- .../http.get.exchange.with.route.header.overrides/client.rpt | 2 +- .../http.get.exchange.with.route.header.overrides/server.rpt | 2 +- .../connection.management/http.get.exchange/client.rpt | 2 +- .../connection.management/http.get.exchange/server.rpt | 2 +- .../rfc7540/connection.management/http.path.prefix/client.rpt | 2 +- .../rfc7540/connection.management/http.path.prefix/server.rpt | 2 +- .../connection.management/http.path.with.query/client.rpt | 2 +- .../connection.management/http.path.with.query/server.rpt | 2 +- .../http.post.exchange.before.settings.exchange/client.rpt | 2 +- .../http.post.exchange.before.settings.exchange/server.rpt | 2 +- .../http.post.exchange.streaming/client.rpt | 2 +- .../http.post.exchange.streaming/server.rpt | 2 +- .../connection.management/http.post.exchange/client.rpt | 2 +- .../connection.management/http.post.exchange/server.rpt | 2 +- .../http.push.promise.header.override/client.rpt | 2 +- .../http.push.promise.header.override/server.rpt | 2 +- .../connection.management/http.push.promise/client.rpt | 2 +- .../connection.management/http.push.promise/server.rpt | 2 +- .../connection.management/http.response.trailer/client.rpt | 2 +- .../connection.management/http.response.trailer/server.rpt | 2 +- .../connection.management/http.unknown.authority/client.rpt | 2 +- .../connection.management/http.unknown.authority/server.rpt | 2 +- .../connection.management/http.unknown.path/client.rpt | 2 +- .../connection.management/http.unknown.path/server.rpt | 2 +- .../connection.management/ignore.client.rst.stream/client.rpt | 2 +- .../connection.management/ignore.client.rst.stream/server.rpt | 2 +- .../connection.management/ignore.server.rst.stream/client.rpt | 2 +- .../connection.management/ignore.server.rst.stream/server.rpt | 2 +- .../connection.management/multiple.data.frames/client.rpt | 2 +- .../connection.management/multiple.data.frames/server.rpt | 2 +- .../push.promise.on.different.stream/client.rpt | 2 +- .../push.promise.on.different.stream/server.rpt | 2 +- .../connection.management/reset.client.stream/client.rpt | 2 +- .../connection.management/reset.client.stream/server.rpt | 2 +- .../server.sent.close.before.response.headers/client.rpt | 2 +- .../server.sent.close.before.response.headers/server.rpt | 2 +- .../server.sent.end.stream.before.payload/client.rpt | 2 +- .../server.sent.end.stream.before.payload/server.rpt | 2 +- .../server.sent.read.abort.before.response/client.rpt | 2 +- .../server.sent.read.abort.before.response/server.rpt | 2 +- .../server.sent.read.abort.on.open.request/client.rpt | 2 +- .../server.sent.read.abort.on.open.request/server.rpt | 2 +- .../server.sent.write.abort.on.closed.request/client.rpt | 2 +- .../server.sent.write.abort.on.closed.request/server.rpt | 2 +- .../server.sent.write.abort.on.open.request/client.rpt | 2 +- .../server.sent.write.abort.on.open.request/server.rpt | 2 +- .../connection.management/server.sent.write.close/client.rpt | 2 +- .../connection.management/server.sent.write.close/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../streams.on.same.connection/client.rpt | 2 +- .../streams.on.same.connection/server.rpt | 2 +- .../flow.control/client.rst.stream.last.frame/client.rpt | 2 +- .../flow.control/client.rst.stream.last.frame/server.rpt | 2 +- .../rfc7540/flow.control/client.sent.100k.message/client.rpt | 2 +- .../rfc7540/flow.control/client.sent.100k.message/server.rpt | 2 +- .../flow.control/server.rst.stream.last.frame/client.rpt | 2 +- .../flow.control/server.rst.stream.last.frame/server.rpt | 2 +- .../rfc7540/flow.control/server.sent.100k.message/client.rpt | 2 +- .../rfc7540/flow.control/server.sent.100k.message/server.rpt | 2 +- .../application/rfc7540/flow.control/stream.flow/client.rpt | 2 +- .../application/rfc7540/flow.control/stream.flow/server.rpt | 2 +- .../client.error.frame.with.request.payload/client.rpt | 2 +- .../client.error.frame.with.request.payload/server.rpt | 2 +- .../rfc7540/message.format/client.max.frame.size/client.rpt | 2 +- .../rfc7540/message.format/client.max.frame.size/server.rpt | 2 +- .../rfc7540/message.format/connection.headers/client.rpt | 2 +- .../rfc7540/message.format/connection.headers/server.rpt | 2 +- .../rfc7540/message.format/continuation.frames/client.rpt | 2 +- .../rfc7540/message.format/continuation.frames/server.rpt | 2 +- .../rfc7540/message.format/dynamic.table.requests/client.rpt | 2 +- .../rfc7540/message.format/dynamic.table.requests/server.rpt | 2 +- .../rfc7540/message.format/max.frame.size.error/client.rpt | 2 +- .../rfc7540/message.format/max.frame.size.error/server.rpt | 2 +- .../message.format/max.zilla.data.frame.size/client.rpt | 2 +- .../message.format/max.zilla.data.frame.size/server.rpt | 2 +- .../message.format/priority.frame.size.error/client.rpt | 2 +- .../message.format/priority.frame.size.error/server.rpt | 2 +- .../message.format/request.and.503.response/client.rpt | 2 +- .../message.format/request.and.503.response/server.rpt | 2 +- .../message.format/rst.stream.frame.size.error/client.rpt | 2 +- .../message.format/rst.stream.frame.size.error/server.rpt | 2 +- .../message.format/server.continuation.frames/client.rpt | 2 +- .../message.format/server.continuation.frames/server.rpt | 2 +- .../rfc7540/message.format/server.max.frame.size/client.rpt | 2 +- .../rfc7540/message.format/server.max.frame.size/server.rpt | 2 +- .../rfc7540/message.format/stream.id.order/client.rpt | 2 +- .../rfc7540/message.format/stream.id.order/server.rpt | 2 +- .../rfc7540/message.format/window.frame.size.error/client.rpt | 2 +- .../rfc7540/message.format/window.frame.size.error/server.rpt | 2 +- .../rfc7540/settings/client.max.frame.size/client.rpt | 2 +- .../rfc7540/settings/client.max.frame.size/server.rpt | 2 +- .../application/rfc7540/starting/upgrade.http/client.rpt | 2 +- .../application/rfc7540/starting/upgrade.http/server.rpt | 2 +- .../application/rfc7540/starting/upgrade.https/client.rpt | 2 +- .../application/rfc7540/starting/upgrade.https/server.rpt | 2 +- .../starting/upgrade.multiple.requests.pipelined/client.rpt | 2 +- .../starting/upgrade.multiple.requests.pipelined/server.rpt | 2 +- .../application/rfc7540/validation/invalid.request/client.rpt | 2 +- .../application/rfc7540/validation/invalid.request/server.rpt | 2 +- .../rfc7540/validation/invalid.response.content/client.rpt | 2 +- .../rfc7540/validation/invalid.response.content/server.rpt | 2 +- .../rfc7540/validation/invalid.response.header/client.rpt | 2 +- .../rfc7540/validation/invalid.response.header/server.rpt | 2 +- .../application/rfc7540/validation/valid.request/client.rpt | 2 +- .../application/rfc7540/validation/valid.request/server.rpt | 2 +- .../application/rfc7540/validation/valid.response/client.rpt | 2 +- .../application/rfc7540/validation/valid.response/server.rpt | 2 +- .../access.control/allow.credentials.cookie/client.rpt | 2 +- .../access.control/allow.credentials.cookie/server.rpt | 2 +- .../allow.headers.credentials.cached/client.rpt | 2 +- .../allow.headers.credentials.cached/server.rpt | 2 +- .../access.control/allow.headers.credentials/client.rpt | 2 +- .../access.control/allow.headers.credentials/server.rpt | 2 +- .../access.control/allow.headers.explicit.cached/client.rpt | 2 +- .../access.control/allow.headers.explicit.cached/server.rpt | 2 +- .../rfc7230/access.control/allow.headers.explicit/client.rpt | 2 +- .../rfc7230/access.control/allow.headers.explicit/server.rpt | 2 +- .../access.control/allow.headers.wildcard.cached/client.rpt | 2 +- .../access.control/allow.headers.wildcard.cached/server.rpt | 2 +- .../rfc7230/access.control/allow.headers.wildcard/client.rpt | 2 +- .../rfc7230/access.control/allow.headers.wildcard/server.rpt | 2 +- .../allow.methods.credentials.cached/client.rpt | 2 +- .../allow.methods.credentials.cached/server.rpt | 2 +- .../access.control/allow.methods.credentials/client.rpt | 2 +- .../access.control/allow.methods.credentials/server.rpt | 2 +- .../access.control/allow.methods.explicit.cached/client.rpt | 2 +- .../access.control/allow.methods.explicit.cached/server.rpt | 2 +- .../rfc7230/access.control/allow.methods.explicit/client.rpt | 2 +- .../rfc7230/access.control/allow.methods.explicit/server.rpt | 2 +- .../access.control/allow.methods.wildcard.cached/client.rpt | 2 +- .../access.control/allow.methods.wildcard.cached/server.rpt | 2 +- .../rfc7230/access.control/allow.methods.wildcard/client.rpt | 2 +- .../rfc7230/access.control/allow.methods.wildcard/server.rpt | 2 +- .../access.control/allow.origin.credentials/client.rpt | 2 +- .../access.control/allow.origin.credentials/server.rpt | 2 +- .../rfc7230/access.control/allow.origin.explicit/client.rpt | 2 +- .../rfc7230/access.control/allow.origin.explicit/server.rpt | 2 +- .../allow.origin.omitted.cross.origin/client.rpt | 2 +- .../allow.origin.omitted.cross.origin/server.rpt | 2 +- .../allow.origin.omitted.same.origin/client.rpt | 2 +- .../allow.origin.omitted.same.origin/server.rpt | 2 +- .../allow.origin.same.origin.implicit.http.port/client.rpt | 2 +- .../allow.origin.same.origin.implicit.http.port/server.rpt | 2 +- .../allow.origin.same.origin.implicit.https.port/client.rpt | 2 +- .../allow.origin.same.origin.implicit.https.port/server.rpt | 2 +- .../access.control/allow.origin.same.origin/client.rpt | 2 +- .../access.control/allow.origin.same.origin/server.rpt | 2 +- .../rfc7230/access.control/allow.origin.wildcard/client.rpt | 2 +- .../rfc7230/access.control/allow.origin.wildcard/server.rpt | 2 +- .../access.control/expose.headers.credentials/client.rpt | 2 +- .../access.control/expose.headers.credentials/server.rpt | 2 +- .../rfc7230/access.control/expose.headers.explicit/client.rpt | 2 +- .../rfc7230/access.control/expose.headers.explicit/server.rpt | 2 +- .../rfc7230/access.control/expose.headers.wildcard/client.rpt | 2 +- .../rfc7230/access.control/expose.headers.wildcard/server.rpt | 2 +- .../access.control/reject.header.not.allowed/client.rpt | 2 +- .../access.control/reject.header.not.allowed/server.rpt | 2 +- .../access.control/reject.method.not.allowed/client.rpt | 2 +- .../access.control/reject.method.not.allowed/server.rpt | 2 +- .../access.control/reject.origin.not.allowed/client.rpt | 2 +- .../access.control/reject.origin.not.allowed/server.rpt | 2 +- .../rfc7230/access.control/reject.origin.omitted/client.rpt | 2 +- .../rfc7230/access.control/reject.origin.omitted/server.rpt | 2 +- .../network/rfc7230/advisory/request.and.flush/client.rpt | 2 +- .../network/rfc7230/advisory/request.and.flush/server.rpt | 2 +- .../rfc7230/architecture/request.and.response/client.rpt | 2 +- .../rfc7230/architecture/request.and.response/server.rpt | 2 +- .../architecture/request.header.host.missing/client.rpt | 2 +- .../architecture/request.header.host.missing/server.rpt | 2 +- .../architecture/request.uri.with.percent.chars/client.rpt | 2 +- .../architecture/request.uri.with.percent.chars/server.rpt | 2 +- .../architecture/request.uri.with.user.info/client.rpt | 2 +- .../architecture/request.uri.with.user.info/server.rpt | 2 +- .../rfc7230/architecture/request.version.1.2+/client.rpt | 2 +- .../rfc7230/architecture/request.version.1.2+/server.rpt | 2 +- .../rfc7230/architecture/request.version.invalid/client.rpt | 2 +- .../rfc7230/architecture/request.version.invalid/server.rpt | 2 +- .../rfc7230/architecture/request.version.missing/client.rpt | 2 +- .../rfc7230/architecture/request.version.missing/server.rpt | 2 +- .../rfc7230/architecture/request.version.not.1.x/client.rpt | 2 +- .../rfc7230/architecture/request.version.not.1.x/server.rpt | 2 +- .../rfc7230/architecture/response.version.missing/client.rpt | 2 +- .../rfc7230/architecture/response.version.missing/server.rpt | 2 +- .../authorization/authorize.credentials.cookie/client.rpt | 2 +- .../authorization/authorize.credentials.cookie/server.rpt | 2 +- .../authorization/authorize.credentials.header/client.rpt | 2 +- .../authorization/authorize.credentials.header/server.rpt | 2 +- .../authorization/authorize.credentials.query/client.rpt | 2 +- .../authorization/authorize.credentials.query/server.rpt | 2 +- .../authorization/challenge.credentials.cookie/client.rpt | 2 +- .../authorization/challenge.credentials.cookie/server.rpt | 2 +- .../authorization/challenge.credentials.header/client.rpt | 2 +- .../authorization/challenge.credentials.header/server.rpt | 2 +- .../authorization/challenge.credentials.query/client.rpt | 2 +- .../authorization/challenge.credentials.query/server.rpt | 2 +- .../authorization/expire.credentials.cookie/client.rpt | 2 +- .../authorization/expire.credentials.cookie/server.rpt | 2 +- .../authorization/expire.credentials.header/client.rpt | 2 +- .../authorization/expire.credentials.header/server.rpt | 2 +- .../rfc7230/authorization/expire.credentials.query/client.rpt | 2 +- .../rfc7230/authorization/expire.credentials.query/server.rpt | 2 +- .../authorization/reauthorize.credentials.cookie/client.rpt | 2 +- .../authorization/reauthorize.credentials.cookie/server.rpt | 2 +- .../authorization/reauthorize.credentials.header/client.rpt | 2 +- .../authorization/reauthorize.credentials.header/server.rpt | 2 +- .../authorization/reauthorize.credentials.query/client.rpt | 2 +- .../authorization/reauthorize.credentials.query/server.rpt | 2 +- .../authorization/reject.credentials.cookie/client.rpt | 2 +- .../authorization/reject.credentials.cookie/server.rpt | 2 +- .../authorization/reject.credentials.header/client.rpt | 2 +- .../authorization/reject.credentials.header/server.rpt | 2 +- .../authorization/reject.credentials.missing/client.rpt | 2 +- .../authorization/reject.credentials.missing/server.rpt | 2 +- .../rfc7230/authorization/reject.credentials.query/client.rpt | 2 +- .../rfc7230/authorization/reject.credentials.query/server.rpt | 2 +- .../connection.management/503.with.retry.after/client.rpt | 2 +- .../connection.management/503.with.retry.after/server.rpt | 2 +- .../concurrent.requests.different.connections/client.rpt | 2 +- .../concurrent.requests.different.connections/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../first.pipelined.response.has.connection.close/client.rpt | 2 +- .../first.pipelined.response.has.connection.close/server.rpt | 2 +- .../multiple.requests.pipelined.with.retry/client.rpt | 2 +- .../multiple.requests.pipelined.with.retry/server.rpt | 2 +- .../multiple.requests.pipelined/client.rpt | 2 +- .../multiple.requests.pipelined/server.rpt | 2 +- .../multiple.requests.same.connection/client.rpt | 2 +- .../multiple.requests.same.connection/server.rpt | 2 +- .../partial.request.receive.reset/client.rpt | 2 +- .../partial.request.receive.reset/server.rpt | 2 +- .../pending.request.second.request.and.abort/client.rpt | 2 +- .../pending.request.second.request.and.abort/server.rpt | 2 +- .../connection.management/request.and.abort/client.rpt | 2 +- .../connection.management/request.and.abort/server.rpt | 2 +- .../request.and.upgrade.required.response/client.rpt | 2 +- .../request.and.upgrade.required.response/server.rpt | 2 +- .../request.authority.mismatch/client.rpt | 2 +- .../request.authority.mismatch/server.rpt | 2 +- .../request.authority.with.no.port/client.rpt | 2 +- .../request.authority.with.no.port/server.rpt | 2 +- .../request.authority.with.port/client.rpt | 2 +- .../request.authority.with.port/server.rpt | 2 +- .../request.incomplete.response.headers.and.abort/client.rpt | 2 +- .../request.incomplete.response.headers.and.abort/server.rpt | 2 +- .../request.incomplete.response.headers.and.end/client.rpt | 2 +- .../request.incomplete.response.headers.and.end/server.rpt | 2 +- .../request.incomplete.response.headers.and.reset/client.rpt | 2 +- .../request.incomplete.response.headers.and.reset/server.rpt | 2 +- .../request.no.response.and.end/client.rpt | 2 +- .../request.no.response.and.end/server.rpt | 2 +- .../request.no.response.and.reset/client.rpt | 2 +- .../request.no.response.and.reset/server.rpt | 2 +- .../rfc7230/connection.management/request.rejected/client.rpt | 2 +- .../rfc7230/connection.management/request.rejected/server.rpt | 2 +- .../request.response.and.abort/client.rpt | 2 +- .../request.response.and.abort/server.rpt | 2 +- .../connection.management/request.response.and.end/client.rpt | 2 +- .../connection.management/request.response.and.end/server.rpt | 2 +- .../request.response.and.reset/client.rpt | 2 +- .../request.response.and.reset/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../request.send.abort.after.response.received/client.rpt | 2 +- .../request.send.abort.after.response.received/server.rpt | 2 +- .../request.with.connection.close/client.rpt | 2 +- .../request.with.connection.close/server.rpt | 2 +- .../request.with.header.override/client.rpt | 2 +- .../request.with.header.override/server.rpt | 2 +- .../request.with.route.header.overrides/client.rpt | 2 +- .../request.with.route.header.overrides/server.rpt | 2 +- .../response.with.connection.close/client.rpt | 2 +- .../response.with.connection.close/server.rpt | 2 +- .../response.with.content.length.is.reset/client.rpt | 2 +- .../response.with.content.length.is.reset/server.rpt | 2 +- .../send.end.after.upgrade.request.completed/client.rpt | 2 +- .../send.end.after.upgrade.request.completed/server.rpt | 2 +- .../upgrade.rejected.when.not.requested/client.rpt | 2 +- .../upgrade.rejected.when.not.requested/server.rpt | 2 +- .../upgrade.request.and.abort/client.rpt | 2 +- .../upgrade.request.and.abort/server.rpt | 2 +- .../upgrade.request.and.response.with.data/client.rpt | 2 +- .../upgrade.request.and.response.with.data/server.rpt | 2 +- .../upgrade.request.and.response/client.rpt | 2 +- .../upgrade.request.and.response/server.rpt | 2 +- .../multiple.requests.pipelined.fragmented/client.rpt | 2 +- .../multiple.requests.pipelined.fragmented/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../request.fragmented.with.content.length/client.rpt | 2 +- .../request.fragmented.with.content.length/server.rpt | 2 +- .../rfc7230/flow.control/request.fragmented/client.rpt | 2 +- .../rfc7230/flow.control/request.fragmented/server.rpt | 2 +- .../rfc7230/flow.control/request.sent.100k.message/client.rpt | 2 +- .../rfc7230/flow.control/request.sent.100k.message/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../rfc7230/flow.control/request.with.padding/client.rpt | 2 +- .../rfc7230/flow.control/request.with.padding/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../response.first.fragment.maximum.headers/client.rpt | 2 +- .../response.first.fragment.maximum.headers/server.rpt | 2 +- .../response.fragmented.with.content.length/client.rpt | 2 +- .../response.fragmented.with.content.length/server.rpt | 2 +- .../flow.control/response.fragmented.with.padding/client.rpt | 2 +- .../flow.control/response.fragmented.with.padding/server.rpt | 2 +- .../rfc7230/flow.control/response.fragmented/client.rpt | 2 +- .../rfc7230/flow.control/response.fragmented/server.rpt | 2 +- .../response.headers.too.long/client.5xx.response.rpt | 2 +- .../response.headers.too.long/client.response.reset.rpt | 2 +- .../response.headers.too.long/server.5xx.response.rpt | 2 +- .../response.headers.too.long/server.response.reset.rpt | 2 +- .../flow.control/response.headers.with.padding/client.rpt | 2 +- .../flow.control/response.headers.with.padding/server.rpt | 2 +- .../flow.control/response.sent.100k.message/client.rpt | 2 +- .../flow.control/response.sent.100k.message/server.rpt | 2 +- .../response.with.content.exceeding.window/client.rpt | 2 +- .../response.with.content.exceeding.window/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../rfc7230/flow.control/response.with.padding/client.rpt | 2 +- .../rfc7230/flow.control/response.with.padding/server.rpt | 2 +- .../head.request.and.response.with.content.length/client.rpt | 2 +- .../head.request.and.response.with.content.length/server.rpt | 2 +- .../message.format/head.request.and.response/client.rpt | 2 +- .../message.format/head.request.and.response/server.rpt | 2 +- .../incomplete.request.with.unimplemented.method/client.rpt | 2 +- .../incomplete.request.with.unimplemented.method/server.rpt | 2 +- .../message.format/invalid.request.missing.target/client.rpt | 2 +- .../message.format/invalid.request.missing.target/server.rpt | 2 +- .../invalid.request.multiple.content.lengths/client.rpt | 2 +- .../invalid.request.multiple.content.lengths/server.rpt | 2 +- .../message.format/invalid.request.not.http/client.rpt | 2 +- .../message.format/invalid.request.not.http/server.rpt | 2 +- .../invalid.request.space.before.colon.in.header/client.rpt | 2 +- .../invalid.request.space.before.colon.in.header/server.rpt | 2 +- .../invalid.request.whitespace.after.start.line/client.rpt | 2 +- .../invalid.request.whitespace.after.start.line/server.rpt | 2 +- .../client.rpt | 2 +- .../proxy.rpt | 2 +- .../server.rpt | 2 +- .../message.format/post.request.with.no.content/client.rpt | 2 +- .../message.format/post.request.with.no.content/server.rpt | 2 +- .../client.rpt | 2 +- .../proxy.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../proxy.should.preserve.unrecongnized.headers/client.rpt | 2 +- .../proxy.should.preserve.unrecongnized.headers/proxy.rpt | 2 +- .../proxy.should.preserve.unrecongnized.headers/server.rpt | 2 +- .../message.format/request.with.content.length/client.rpt | 2 +- .../message.format/request.with.content.length/server.rpt | 2 +- .../request.with.extra.CRLF.before.request.line/client.rpt | 2 +- .../request.with.extra.CRLF.before.request.line/server.rpt | 2 +- .../request.with.header.value.too.long/client.rpt | 2 +- .../request.with.header.value.too.long/server.rpt | 2 +- .../rfc7230/message.format/request.with.headers/client.rpt | 2 +- .../rfc7230/message.format/request.with.headers/server.rpt | 2 +- .../request.with.obsolete.line.folding/client.rpt | 2 +- .../request.with.obsolete.line.folding/server.rpt | 2 +- .../request.with.start.line.too.long/client.rpt | 2 +- .../request.with.start.line.too.long/server.rpt | 2 +- .../request.with.unimplemented.method/client.rpt | 2 +- .../request.with.unimplemented.method/server.rpt | 2 +- .../request.with.unknown.transfer.encoding/client.rpt | 2 +- .../request.with.unknown.transfer.encoding/server.rpt | 2 +- .../message.format/response.with.content.length/client.rpt | 2 +- .../message.format/response.with.content.length/server.rpt | 2 +- .../rfc7230/message.format/response.with.headers/client.rpt | 2 +- .../rfc7230/message.format/response.with.headers/server.rpt | 2 +- .../client.rpt | 2 +- .../proxy.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../proxy.rpt | 2 +- .../server.rpt | 2 +- .../inbound.host.header.should.follow.request.line/client.rpt | 2 +- .../inbound.host.header.should.follow.request.line/server.rpt | 2 +- .../inbound.must.accept.absolute.form/client.rpt | 2 +- .../inbound.must.accept.absolute.form/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../inbound.must.accept.origin.form/client.rpt | 2 +- .../inbound.must.accept.origin.form/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../proxy.must.attach.appropriate.via.header/client.rpt | 2 +- .../proxy.must.attach.appropriate.via.header/proxy.rpt | 2 +- .../proxy.must.attach.appropriate.via.header/server.rpt | 2 +- .../client.rpt | 2 +- .../proxy.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../proxy.should.rewrite.host.header/client.rpt | 2 +- .../proxy.should.rewrite.host.header/proxy.rpt | 2 +- .../proxy.should.rewrite.host.header/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../multiple.requests.transfer.encoding.chunked/client.rpt | 2 +- .../multiple.requests.transfer.encoding.chunked/server.rpt | 2 +- .../request.transfer.encoding.chunked.with.trailer/client.rpt | 2 +- .../request.transfer.encoding.chunked.with.trailer/server.rpt | 2 +- .../request.transfer.encoding.chunked/client.rpt | 2 +- .../request.transfer.encoding.chunked/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../response.transfer.encoding.chunked/client.rpt | 2 +- .../response.transfer.encoding.chunked/server.rpt | 2 +- .../network/rfc7230/validation/invalid.request/client.rpt | 2 +- .../network/rfc7230/validation/invalid.request/server.rpt | 2 +- .../rfc7230/validation/invalid.response.content/client.rpt | 2 +- .../rfc7230/validation/invalid.response.content/server.rpt | 2 +- .../rfc7230/validation/invalid.response.header/client.rpt | 2 +- .../rfc7230/validation/invalid.response.header/server.rpt | 2 +- .../network/rfc7230/validation/valid.request/client.rpt | 2 +- .../network/rfc7230/validation/valid.request/server.rpt | 2 +- .../network/rfc7230/validation/valid.response/client.rpt | 2 +- .../network/rfc7230/validation/valid.response/server.rpt | 2 +- .../access.control/allow.credentials.cookie/client.rpt | 2 +- .../access.control/allow.credentials.cookie/server.rpt | 2 +- .../allow.headers.credentials.cached/client.rpt | 2 +- .../allow.headers.credentials.cached/server.rpt | 2 +- .../access.control/allow.headers.credentials/client.rpt | 2 +- .../access.control/allow.headers.credentials/server.rpt | 2 +- .../access.control/allow.headers.explicit.cached/client.rpt | 2 +- .../access.control/allow.headers.explicit.cached/server.rpt | 2 +- .../rfc7540/access.control/allow.headers.explicit/client.rpt | 2 +- .../rfc7540/access.control/allow.headers.explicit/server.rpt | 2 +- .../access.control/allow.headers.wildcard.cached/client.rpt | 2 +- .../access.control/allow.headers.wildcard.cached/server.rpt | 2 +- .../rfc7540/access.control/allow.headers.wildcard/client.rpt | 2 +- .../rfc7540/access.control/allow.headers.wildcard/server.rpt | 2 +- .../allow.methods.credentials.cached/client.rpt | 2 +- .../allow.methods.credentials.cached/server.rpt | 2 +- .../access.control/allow.methods.credentials/client.rpt | 2 +- .../access.control/allow.methods.credentials/server.rpt | 2 +- .../access.control/allow.methods.explicit.cached/client.rpt | 2 +- .../access.control/allow.methods.explicit.cached/server.rpt | 2 +- .../rfc7540/access.control/allow.methods.explicit/client.rpt | 2 +- .../rfc7540/access.control/allow.methods.explicit/server.rpt | 2 +- .../access.control/allow.methods.wildcard.cached/client.rpt | 2 +- .../access.control/allow.methods.wildcard.cached/server.rpt | 2 +- .../rfc7540/access.control/allow.methods.wildcard/client.rpt | 2 +- .../rfc7540/access.control/allow.methods.wildcard/server.rpt | 2 +- .../access.control/allow.origin.credentials/client.rpt | 2 +- .../access.control/allow.origin.credentials/server.rpt | 2 +- .../rfc7540/access.control/allow.origin.explicit/client.rpt | 2 +- .../rfc7540/access.control/allow.origin.explicit/server.rpt | 2 +- .../allow.origin.omitted.cross.origin/client.rpt | 2 +- .../allow.origin.omitted.cross.origin/server.rpt | 2 +- .../allow.origin.omitted.same.origin/client.rpt | 2 +- .../allow.origin.omitted.same.origin/server.rpt | 2 +- .../allow.origin.same.origin.implicit.http.port/client.rpt | 2 +- .../allow.origin.same.origin.implicit.http.port/server.rpt | 2 +- .../allow.origin.same.origin.implicit.https.port/client.rpt | 2 +- .../allow.origin.same.origin.implicit.https.port/server.rpt | 2 +- .../access.control/allow.origin.same.origin/client.rpt | 2 +- .../access.control/allow.origin.same.origin/server.rpt | 2 +- .../rfc7540/access.control/allow.origin.wildcard/client.rpt | 2 +- .../rfc7540/access.control/allow.origin.wildcard/server.rpt | 2 +- .../access.control/expose.headers.credentials/client.rpt | 2 +- .../access.control/expose.headers.credentials/server.rpt | 2 +- .../rfc7540/access.control/expose.headers.explicit/client.rpt | 2 +- .../rfc7540/access.control/expose.headers.explicit/server.rpt | 2 +- .../rfc7540/access.control/expose.headers.wildcard/client.rpt | 2 +- .../rfc7540/access.control/expose.headers.wildcard/server.rpt | 2 +- .../access.control/reject.header.not.allowed/client.rpt | 2 +- .../access.control/reject.header.not.allowed/server.rpt | 2 +- .../access.control/reject.method.not.allowed/client.rpt | 2 +- .../access.control/reject.method.not.allowed/server.rpt | 2 +- .../access.control/reject.origin.not.allowed/client.rpt | 2 +- .../access.control/reject.origin.not.allowed/server.rpt | 2 +- .../rfc7540/access.control/reject.origin.omitted/client.rpt | 2 +- .../rfc7540/access.control/reject.origin.omitted/server.rpt | 2 +- .../authorization/authorize.credentials.cookie/client.rpt | 2 +- .../authorization/authorize.credentials.cookie/server.rpt | 2 +- .../authorization/authorize.credentials.header/client.rpt | 2 +- .../authorization/authorize.credentials.header/server.rpt | 2 +- .../authorization/authorize.credentials.query/client.rpt | 2 +- .../authorization/authorize.credentials.query/server.rpt | 2 +- .../authorization/challenge.credentials.cookie/client.rpt | 2 +- .../authorization/challenge.credentials.cookie/server.rpt | 2 +- .../authorization/challenge.credentials.header/client.rpt | 2 +- .../authorization/challenge.credentials.header/server.rpt | 2 +- .../authorization/challenge.credentials.query/client.rpt | 2 +- .../authorization/challenge.credentials.query/server.rpt | 2 +- .../authorization/expire.credentials.cookie/client.rpt | 2 +- .../authorization/expire.credentials.cookie/server.rpt | 2 +- .../authorization/expire.credentials.header/client.rpt | 2 +- .../authorization/expire.credentials.header/server.rpt | 2 +- .../rfc7540/authorization/expire.credentials.query/client.rpt | 2 +- .../rfc7540/authorization/expire.credentials.query/server.rpt | 2 +- .../authorization/reauthorize.credentials.cookie/client.rpt | 2 +- .../authorization/reauthorize.credentials.cookie/server.rpt | 2 +- .../authorization/reauthorize.credentials.header/client.rpt | 2 +- .../authorization/reauthorize.credentials.header/server.rpt | 2 +- .../authorization/reauthorize.credentials.query/client.rpt | 2 +- .../authorization/reauthorize.credentials.query/server.rpt | 2 +- .../authorization/reject.credentials.cookie/client.rpt | 2 +- .../authorization/reject.credentials.cookie/server.rpt | 2 +- .../authorization/reject.credentials.header/client.rpt | 2 +- .../authorization/reject.credentials.header/server.rpt | 2 +- .../authorization/reject.credentials.missing/client.rpt | 2 +- .../authorization/reject.credentials.missing/server.rpt | 2 +- .../rfc7540/authorization/reject.credentials.query/client.rpt | 2 +- .../rfc7540/authorization/reject.credentials.query/server.rpt | 2 +- .../streams/network/rfc7540/config/server.header/client.rpt | 2 +- .../streams/network/rfc7540/config/server.header/server.rpt | 2 +- .../network/rfc7540/config/user.agent.header/client.rpt | 2 +- .../network/rfc7540/config/user.agent.header/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../rfc7540/connection.abort/client.sent.rst/client.rpt | 2 +- .../rfc7540/connection.abort/client.sent.rst/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../server.sent.read.abort.on.open.request/client.rpt | 2 +- .../server.sent.read.abort.on.open.request/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../server.sent.write.abort.on.open.response/client.rpt | 2 +- .../server.sent.write.abort.on.open.response/server.rpt | 2 +- .../client.sent.close.before.response.headers/client.rpt | 2 +- .../client.sent.close.before.response.headers/server.rpt | 2 +- .../client.sent.read.abort.before.response/client.rpt | 2 +- .../client.sent.read.abort.before.response/server.rpt | 2 +- .../client.sent.read.abort.on.closed.request/client.rpt | 2 +- .../client.sent.read.abort.on.closed.request/server.rpt | 2 +- .../client.sent.read.abort.on.open.request/client.rpt | 2 +- .../client.sent.read.abort.on.open.request/server.rpt | 2 +- .../client.sent.rst.stream.on.closed.request/client.rpt | 2 +- .../client.sent.rst.stream.on.closed.request/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.sent.write.abort.on.closed.request/client.rpt | 2 +- .../client.sent.write.abort.on.closed.request/server.rpt | 2 +- .../client.sent.write.abort.on.open.request/client.rpt | 2 +- .../client.sent.write.abort.on.open.request/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../connection.management/client.sent.write.close/client.rpt | 2 +- .../connection.management/client.sent.write.close/server.rpt | 2 +- .../connection.management/connection.established/client.rpt | 2 +- .../connection.management/connection.established/server.rpt | 2 +- .../connection.has.two.streams/client.rpt | 2 +- .../connection.has.two.streams/server.rpt | 2 +- .../http.authority.default.port/client.rpt | 2 +- .../http.authority.default.port/server.rpt | 2 +- .../http.get.exchange.with.header.override/client.rpt | 2 +- .../http.get.exchange.with.header.override/server.rpt | 2 +- .../http.get.exchange.with.route.header.overrides/client.rpt | 2 +- .../http.get.exchange.with.route.header.overrides/server.rpt | 2 +- .../connection.management/http.get.exchange/client.rpt | 2 +- .../connection.management/http.get.exchange/server.rpt | 2 +- .../rfc7540/connection.management/http.path.prefix/client.rpt | 2 +- .../rfc7540/connection.management/http.path.prefix/server.rpt | 2 +- .../connection.management/http.path.with.query/client.rpt | 2 +- .../connection.management/http.path.with.query/server.rpt | 2 +- .../http.post.exchange.before.settings.exchange/client.rpt | 2 +- .../http.post.exchange.before.settings.exchange/server.rpt | 2 +- .../http.post.exchange.streaming/client.rpt | 2 +- .../http.post.exchange.streaming/server.rpt | 2 +- .../connection.management/http.post.exchange/client.rpt | 2 +- .../connection.management/http.post.exchange/server.rpt | 2 +- .../http.push.promise.header.override/client.rpt | 2 +- .../http.push.promise.header.override/server.rpt | 2 +- .../http.push.promise.none.cacheable.request/client.rpt | 2 +- .../http.push.promise.none.cacheable.request/server.rpt | 2 +- .../connection.management/http.push.promise/client.rpt | 2 +- .../connection.management/http.push.promise/server.rpt | 2 +- .../connection.management/http.response.trailer/client.rpt | 2 +- .../connection.management/http.response.trailer/server.rpt | 2 +- .../connection.management/http.unknown.authority/client.rpt | 2 +- .../connection.management/http.unknown.authority/server.rpt | 2 +- .../connection.management/http.unknown.path/client.rpt | 2 +- .../connection.management/http.unknown.path/server.rpt | 2 +- .../connection.management/ignore.client.rst.stream/client.rpt | 2 +- .../connection.management/ignore.client.rst.stream/server.rpt | 2 +- .../connection.management/ignore.server.rst.stream/client.rpt | 2 +- .../connection.management/ignore.server.rst.stream/server.rpt | 2 +- .../connection.management/multiple.data.frames/client.rpt | 2 +- .../connection.management/multiple.data.frames/server.rpt | 2 +- .../push.promise.on.different.stream/client.rpt | 2 +- .../push.promise.on.different.stream/server.rpt | 2 +- .../server.sent.close.before.response.headers/client.rpt | 2 +- .../server.sent.close.before.response.headers/server.rpt | 2 +- .../server.sent.end.stream.before.payload/client.rpt | 2 +- .../server.sent.end.stream.before.payload/server.rpt | 2 +- .../server.sent.read.abort.before.response/client.rpt | 2 +- .../server.sent.read.abort.before.response/server.rpt | 2 +- .../server.sent.read.abort.on.open.request/client.rpt | 2 +- .../server.sent.read.abort.on.open.request/server.rpt | 2 +- .../server.sent.write.abort.on.closed.request/client.rpt | 2 +- .../server.sent.write.abort.on.closed.request/server.rpt | 2 +- .../server.sent.write.abort.on.open.request/client.rpt | 2 +- .../server.sent.write.abort.on.open.request/server.rpt | 2 +- .../connection.management/server.sent.write.close/client.rpt | 2 +- .../connection.management/server.sent.write.close/server.rpt | 2 +- .../streams.on.same.connection/client.rpt | 2 +- .../streams.on.same.connection/server.rpt | 2 +- .../flow.control/client.rst.stream.last.frame/client.rpt | 2 +- .../flow.control/client.rst.stream.last.frame/server.rpt | 2 +- .../rfc7540/flow.control/client.sent.100k.message/client.rpt | 2 +- .../rfc7540/flow.control/client.sent.100k.message/server.rpt | 2 +- .../rfc7540/flow.control/client.stream.flow/client.rpt | 2 +- .../rfc7540/flow.control/client.stream.flow/server.rpt | 2 +- .../flow.control/server.rst.stream.last.frame/client.rpt | 2 +- .../flow.control/server.rst.stream.last.frame/server.rpt | 2 +- .../rfc7540/flow.control/server.sent.100k.message/client.rpt | 2 +- .../rfc7540/flow.control/server.sent.100k.message/server.rpt | 2 +- .../rfc7540/flow.control/server.stream.flow/client.rpt | 2 +- .../rfc7540/flow.control/server.stream.flow/server.rpt | 2 +- .../client.connection.window.frame.size.error/client.rpt | 2 +- .../client.connection.window.frame.size.error/server.rpt | 2 +- .../message.format/client.invalid.hpack.index/client.rpt | 2 +- .../message.format/client.invalid.hpack.index/server.rpt | 2 +- .../message.format/client.max.frame.size.error/client.rpt | 2 +- .../message.format/client.max.frame.size.error/server.rpt | 2 +- .../rfc7540/message.format/client.max.frame.size/client.rpt | 2 +- .../rfc7540/message.format/client.max.frame.size/server.rpt | 2 +- .../message.format/client.ping.frame.size.error/client.rpt | 2 +- .../message.format/client.ping.frame.size.error/server.rpt | 2 +- .../client.priority.frame.size.error/client.rpt | 2 +- .../client.priority.frame.size.error/server.rpt | 2 +- .../client.rst.stream.frame.size.error/client.rpt | 2 +- .../client.rst.stream.frame.size.error/server.rpt | 2 +- .../message.format/client.window.frame.size.error/client.rpt | 2 +- .../message.format/client.window.frame.size.error/server.rpt | 2 +- .../rfc7540/message.format/connection.headers/client.rpt | 2 +- .../rfc7540/message.format/connection.headers/server.rpt | 2 +- .../connection.window.frame.size.error/client.rpt | 2 +- .../connection.window.frame.size.error/server.rpt | 2 +- .../rfc7540/message.format/continuation.frames/client.rpt | 2 +- .../rfc7540/message.format/continuation.frames/server.rpt | 2 +- .../rfc7540/message.format/dynamic.table.requests/client.rpt | 2 +- .../rfc7540/message.format/dynamic.table.requests/server.rpt | 2 +- .../rfc7540/message.format/invalid.hpack.index/client.rpt | 2 +- .../rfc7540/message.format/invalid.hpack.index/server.rpt | 2 +- .../rfc7540/message.format/max.frame.size.error/client.rpt | 2 +- .../rfc7540/message.format/max.frame.size.error/server.rpt | 2 +- .../message.format/max.zilla.data.frame.size/client.rpt | 2 +- .../message.format/max.zilla.data.frame.size/server.rpt | 2 +- .../rfc7540/message.format/ping.frame.size.error/client.rpt | 2 +- .../rfc7540/message.format/ping.frame.size.error/server.rpt | 2 +- .../message.format/priority.frame.size.error/client.rpt | 2 +- .../message.format/priority.frame.size.error/server.rpt | 2 +- .../message.format/rst.stream.frame.size.error/client.rpt | 2 +- .../message.format/rst.stream.frame.size.error/server.rpt | 2 +- .../message.format/server.continuation.frames/client.rpt | 2 +- .../message.format/server.continuation.frames/server.rpt | 2 +- .../rfc7540/message.format/server.max.frame.size/client.rpt | 2 +- .../rfc7540/message.format/server.max.frame.size/server.rpt | 2 +- .../network/rfc7540/message.format/stream.id.order/client.rpt | 2 +- .../network/rfc7540/message.format/stream.id.order/server.rpt | 2 +- .../rfc7540/message.format/window.frame.size.error/client.rpt | 2 +- .../rfc7540/message.format/window.frame.size.error/server.rpt | 2 +- .../network/rfc7540/settings/client.max.frame.size/client.rpt | 2 +- .../network/rfc7540/settings/client.max.frame.size/server.rpt | 2 +- .../rfc7540/settings/max.concurrent.streams/client.rpt | 2 +- .../rfc7540/settings/max.concurrent.streams/server.rpt | 2 +- .../network/rfc7540/settings/max.header.list.size/client.rpt | 2 +- .../network/rfc7540/settings/max.header.list.size/server.rpt | 2 +- .../starting/upgrade.h2c.with.extra.settings/client.rpt | 2 +- .../starting/upgrade.h2c.with.extra.settings/server.rpt | 2 +- .../upgrade.h2c.with.multiple.requests.pipelined/client.rpt | 2 +- .../upgrade.h2c.with.multiple.requests.pipelined/server.rpt | 2 +- .../rfc7540/starting/upgrade.h2c.with.no.settings/client.rpt | 2 +- .../rfc7540/starting/upgrade.h2c.with.no.settings/server.rpt | 2 +- .../rfc7540/starting/upgrade.h2c.with.no.tls/client.rpt | 2 +- .../rfc7540/starting/upgrade.h2c.with.no.tls/server.rpt | 2 +- .../starting/upgrade.h2c.with.tls.and.alpn.h2/client.rpt | 2 +- .../starting/upgrade.h2c.with.tls.and.alpn.h2/server.rpt | 2 +- .../starting/upgrade.h2c.with.tls.and.alpn.http1.1/client.rpt | 2 +- .../starting/upgrade.h2c.with.tls.and.alpn.http1.1/server.rpt | 2 +- .../starting/upgrade.h2c.with.tls.and.no.alpn/client.rpt | 2 +- .../starting/upgrade.h2c.with.tls.and.no.alpn/server.rpt | 2 +- .../rfc7540/starting/upgrade.pri.with.no.tls/client.rpt | 2 +- .../rfc7540/starting/upgrade.pri.with.no.tls/server.rpt | 2 +- .../starting/upgrade.pri.with.tls.and.alpn.h2/client.rpt | 2 +- .../starting/upgrade.pri.with.tls.and.alpn.h2/server.rpt | 2 +- .../starting/upgrade.pri.with.tls.and.alpn.http1.1/client.rpt | 2 +- .../starting/upgrade.pri.with.tls.and.alpn.http1.1/server.rpt | 2 +- .../starting/upgrade.pri.with.tls.and.no.alpn/client.rpt | 2 +- .../starting/upgrade.pri.with.tls.and.no.alpn/server.rpt | 2 +- .../network/rfc7540/validation/invalid.request/client.rpt | 2 +- .../network/rfc7540/validation/invalid.request/server.rpt | 2 +- .../rfc7540/validation/invalid.response.content/client.rpt | 2 +- .../rfc7540/validation/invalid.response.content/server.rpt | 2 +- .../rfc7540/validation/invalid.response.header/client.rpt | 2 +- .../rfc7540/validation/invalid.response.header/server.rpt | 2 +- .../network/rfc7540/validation/valid.request/client.rpt | 4 ++-- .../network/rfc7540/validation/valid.request/server.rpt | 2 +- .../network/rfc7540/validation/valid.response/client.rpt | 2 +- .../network/rfc7540/validation/valid.response/server.rpt | 2 +- .../aklivity/zilla/specs/binding/http/config/SchemaTest.java | 2 +- .../zilla/specs/binding/http/internal/HttpFunctionsTest.java | 2 +- .../http/streams/application/rfc7230/AccessControlIT.java | 2 +- .../binding/http/streams/application/rfc7230/AdvisoryIT.java | 2 +- .../http/streams/application/rfc7230/ArchitectureIT.java | 2 +- .../http/streams/application/rfc7230/AuthorizationIT.java | 2 +- .../streams/application/rfc7230/ConnectionManagementIT.java | 2 +- .../http/streams/application/rfc7230/FlowControlIT.java | 2 +- .../http/streams/application/rfc7230/MessageFormatIT.java | 2 +- .../http/streams/application/rfc7230/TransferCodingsIT.java | 2 +- .../http/streams/application/rfc7230/ValidationIT.java | 2 +- .../binding/http/streams/application/rfc7540/AbortIT.java | 2 +- .../http/streams/application/rfc7540/AccessControlIT.java | 2 +- .../http/streams/application/rfc7540/AuthorizationIT.java | 2 +- .../binding/http/streams/application/rfc7540/ConfigIT.java | 2 +- .../streams/application/rfc7540/ConnectionManagementIT.java | 2 +- .../http/streams/application/rfc7540/FlowControlIT.java | 2 +- .../http/streams/application/rfc7540/MessageFormatIT.java | 2 +- .../binding/http/streams/application/rfc7540/SettingsIT.java | 2 +- .../binding/http/streams/application/rfc7540/StartingIT.java | 2 +- .../http/streams/application/rfc7540/ValidationIT.java | 2 +- .../binding/http/streams/network/rfc7230/AccessControlIT.java | 2 +- .../binding/http/streams/network/rfc7230/AdvisoryIT.java | 2 +- .../binding/http/streams/network/rfc7230/ArchitectureIT.java | 2 +- .../binding/http/streams/network/rfc7230/AuthorizationIT.java | 2 +- .../http/streams/network/rfc7230/ConnectionManagementIT.java | 2 +- .../binding/http/streams/network/rfc7230/FlowControlIT.java | 2 +- .../binding/http/streams/network/rfc7230/MessageFormatIT.java | 2 +- .../http/streams/network/rfc7230/TransferCodingsIT.java | 2 +- .../binding/http/streams/network/rfc7230/ValidationIT.java | 2 +- .../specs/binding/http/streams/network/rfc7540/AbortIT.java | 2 +- .../binding/http/streams/network/rfc7540/AccessControlIT.java | 2 +- .../binding/http/streams/network/rfc7540/AuthorizationIT.java | 2 +- .../specs/binding/http/streams/network/rfc7540/ConfigIT.java | 2 +- .../http/streams/network/rfc7540/ConnectionManagementIT.java | 2 +- .../binding/http/streams/network/rfc7540/FlowControlIT.java | 2 +- .../binding/http/streams/network/rfc7540/MessageFormatIT.java | 2 +- .../binding/http/streams/network/rfc7540/SettingsIT.java | 2 +- .../binding/http/streams/network/rfc7540/StartingIT.java | 2 +- .../binding/http/streams/network/rfc7540/ValidationIT.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../specs/binding/kafka/grpc/config/remote.server.rpc.yaml | 2 +- .../kafka/grpc/streams/grpc/bidi.stream.rpc/client.rpt | 2 +- .../kafka/grpc/streams/grpc/bidi.stream.rpc/server.rpt | 2 +- .../grpc/streams/grpc/client.sent.write.abort/client.rpt | 2 +- .../grpc/streams/grpc/client.sent.write.abort/server.rpt | 2 +- .../kafka/grpc/streams/grpc/client.stream.rpc/client.rpt | 2 +- .../kafka/grpc/streams/grpc/client.stream.rpc/server.rpt | 2 +- .../grpc/streams/grpc/retry.on.unavailable.server/client.rpt | 2 +- .../grpc/streams/grpc/retry.on.unavailable.server/server.rpt | 2 +- .../kafka/grpc/streams/grpc/server.stream.rpc/client.rpt | 2 +- .../kafka/grpc/streams/grpc/server.stream.rpc/server.rpt | 2 +- .../grpc/streams/grpc/unary.rpc.message.value.100k/client.rpt | 2 +- .../grpc/streams/grpc/unary.rpc.message.value.100k/server.rpt | 2 +- .../binding/kafka/grpc/streams/grpc/unary.rpc/client.rpt | 2 +- .../binding/kafka/grpc/streams/grpc/unary.rpc/server.rpt | 2 +- .../kafka/grpc/streams/kafka/bidi.stream.rpc/client.rpt | 2 +- .../kafka/grpc/streams/kafka/bidi.stream.rpc/server.rpt | 2 +- .../grpc/streams/kafka/client.sent.write.abort/client.rpt | 2 +- .../grpc/streams/kafka/client.sent.write.abort/server.rpt | 2 +- .../kafka/grpc/streams/kafka/client.stream.rpc/client.rpt | 2 +- .../kafka/grpc/streams/kafka/client.stream.rpc/server.rpt | 2 +- .../kafka/missing.service.and.method.headers/client.rpt | 2 +- .../kafka/missing.service.and.method.headers/server.rpt | 2 +- .../kafka/grpc/streams/kafka/server.stream.rpc/client.rpt | 2 +- .../kafka/grpc/streams/kafka/server.stream.rpc/server.rpt | 2 +- .../streams/kafka/unary.rpc.message.value.100k/client.rpt | 2 +- .../streams/kafka/unary.rpc.message.value.100k/server.rpt | 2 +- .../binding/kafka/grpc/streams/kafka/unary.rpc/client.rpt | 2 +- .../binding/kafka/grpc/streams/kafka/unary.rpc/server.rpt | 2 +- .../specs/binding/kafka/grpc/internal/streams/GrpcIT.java | 2 +- .../specs/binding/kafka/grpc/internal/streams/KafkaIT.java | 2 +- .../zilla/specs/binding/kafka/internal/KafkaFunctions.java | 2 +- specs/binding-kafka.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/kafka.idl | 2 +- .../binding/kafka/config/cache.client.options.validate.yaml | 2 +- .../binding/kafka/config/cache.options.bootstrap.live.yaml | 2 +- .../specs/binding/kafka/config/cache.options.bootstrap.yaml | 2 +- .../specs/binding/kafka/config/cache.options.convert.yaml | 2 +- .../specs/binding/kafka/config/cache.options.delta.type.yaml | 2 +- .../binding/kafka/config/cache.options.extract.headers.yaml | 2 +- .../kafka/config/cache.options.extract.key.and.headers.yaml | 2 +- .../specs/binding/kafka/config/cache.options.extract.key.yaml | 2 +- .../specs/binding/kafka/config/cache.options.merged.yaml | 2 +- .../config/cache.options.parameterized.topic.validate.yaml | 2 +- .../specs/binding/kafka/config/cache.options.validate.yaml | 2 +- .../zilla/specs/binding/kafka/config/cache.when.topic.yaml | 2 +- .../io/aklivity/zilla/specs/binding/kafka/config/cache.yaml | 2 +- .../kafka/config/client.event.api.version.rejected.yaml | 2 +- .../config/client.event.cluster.authorization.failed.yaml | 2 +- .../specs/binding/kafka/config/client.options.merged.yaml | 2 +- .../specs/binding/kafka/config/client.options.sasl.plain.yaml | 2 +- .../specs/binding/kafka/config/client.options.sasl.scram.yaml | 2 +- .../zilla/specs/binding/kafka/config/client.when.topic.yaml | 2 +- .../zilla/specs/binding/kafka/config/client.when.topics.yaml | 2 +- .../io/aklivity/zilla/specs/binding/kafka/config/client.yaml | 2 +- .../application/alter.configs/alter.topics.config/client.rpt | 2 +- .../application/alter.configs/alter.topics.config/server.rpt | 2 +- .../bootstrap/group.fetch.message.value/client.rpt | 2 +- .../bootstrap/group.fetch.message.value/server.rpt | 2 +- .../bootstrap/partition.offsets.earliest/client.rpt | 2 +- .../bootstrap/partition.offsets.earliest/server.rpt | 2 +- .../bootstrap/unmerged.group.fetch.message.value/client.rpt | 2 +- .../bootstrap/unmerged.group.fetch.message.value/server.rpt | 2 +- .../consumer/acknowledge.message.offset/client.rpt | 2 +- .../consumer/acknowledge.message.offset/server.rpt | 2 +- .../consumer/commit.acknowledge.message.offset/client.rpt | 2 +- .../consumer/commit.acknowledge.message.offset/server.rpt | 2 +- .../application/consumer/partition.assignment/client.rpt | 2 +- .../application/consumer/partition.assignment/server.rpt | 2 +- .../application/consumer/reassign.new.topic/client.rpt | 2 +- .../application/consumer/reassign.new.topic/server.rpt | 2 +- .../application/create.topics/create.topics/client.rpt | 2 +- .../application/create.topics/create.topics/server.rpt | 2 +- .../application/delete.topics/delete.topics/client.rpt | 2 +- .../application/delete.topics/delete.topics/server.rpt | 2 +- .../describe.cluster/cluster.brokers.info/client.rpt | 2 +- .../describe.cluster/cluster.brokers.info/server.rpt | 2 +- .../application/describe/topic.config.info.changed/client.rpt | 2 +- .../application/describe/topic.config.info.changed/server.rpt | 2 +- .../describe/topic.config.info.incomplete/client.rpt | 2 +- .../describe/topic.config.info.incomplete/server.rpt | 2 +- .../streams/application/describe/topic.config.info/client.rpt | 2 +- .../streams/application/describe/topic.config.info/server.rpt | 2 +- .../streams/application/describe/topic.unknown/client.rpt | 2 +- .../streams/application/describe/topic.unknown/server.rpt | 2 +- .../application/fetch/compact.message.with.message/client.rpt | 2 +- .../application/fetch/compact.message.with.message/server.rpt | 2 +- .../fetch/compact.message.with.tombstone/client.rpt | 2 +- .../fetch/compact.message.with.tombstone/server.rpt | 2 +- .../fetch/compact.tombstone.with.message/client.rpt | 2 +- .../fetch/compact.tombstone.with.message/server.rpt | 2 +- .../fetch/compact.tombstone.with.tombstone/client.rpt | 2 +- .../fetch/compact.tombstone.with.tombstone/server.rpt | 2 +- .../fetch/compacted.message.with.message/client.rpt | 2 +- .../fetch/compacted.message.with.message/server.rpt | 2 +- .../fetch/compacted.message.with.tombstone/client.rpt | 2 +- .../fetch/compacted.message.with.tombstone/server.rpt | 2 +- .../fetch/compacted.tombstone.with.message/client.rpt | 2 +- .../fetch/compacted.tombstone.with.message/server.rpt | 2 +- .../fetch/compacted.tombstone.with.tombstone/client.rpt | 2 +- .../fetch/compacted.tombstone.with.tombstone/server.rpt | 2 +- .../streams/application/fetch/filter.change.none/client.rpt | 2 +- .../streams/application/fetch/filter.change.none/server.rpt | 2 +- .../kafka/streams/application/fetch/filter.change/client.rpt | 2 +- .../kafka/streams/application/fetch/filter.change/server.rpt | 2 +- .../application/fetch/filter.extracted.header/client.rpt | 2 +- .../application/fetch/filter.extracted.header/server.rpt | 2 +- .../application/fetch/filter.header.and.header/client.rpt | 2 +- .../application/fetch/filter.header.and.header/server.rpt | 2 +- .../application/fetch/filter.header.json.patch/client.rpt | 2 +- .../application/fetch/filter.header.json.patch/server.rpt | 2 +- .../fetch/filter.header.or.header.eager/client.rpt | 2 +- .../fetch/filter.header.or.header.eager/server.rpt | 2 +- .../application/fetch/filter.header.or.header/client.rpt | 2 +- .../application/fetch/filter.header.or.header/server.rpt | 2 +- .../kafka/streams/application/fetch/filter.header/client.rpt | 2 +- .../kafka/streams/application/fetch/filter.header/server.rpt | 2 +- .../application/fetch/filter.headers.many.eager/client.rpt | 2 +- .../application/fetch/filter.headers.many.eager/server.rpt | 2 +- .../application/fetch/filter.headers.many.empty/client.rpt | 2 +- .../application/fetch/filter.headers.many.empty/server.rpt | 2 +- .../streams/application/fetch/filter.headers.many/client.rpt | 2 +- .../streams/application/fetch/filter.headers.many/server.rpt | 2 +- .../application/fetch/filter.headers.one.empty/client.rpt | 2 +- .../application/fetch/filter.headers.one.empty/server.rpt | 2 +- .../streams/application/fetch/filter.headers.one/client.rpt | 2 +- .../streams/application/fetch/filter.headers.one/server.rpt | 2 +- .../application/fetch/filter.headers.skip.many/client.rpt | 2 +- .../application/fetch/filter.headers.skip.many/server.rpt | 2 +- .../application/fetch/filter.headers.skip.one/client.rpt | 2 +- .../application/fetch/filter.headers.skip.one/server.rpt | 2 +- .../application/fetch/filter.headers.skip.two/client.rpt | 2 +- .../application/fetch/filter.headers.skip.two/server.rpt | 2 +- .../fetch/filter.key.and.header.json.patch/client.rpt | 2 +- .../fetch/filter.key.and.header.json.patch/server.rpt | 2 +- .../fetch/filter.key.and.header.or.header/client.rpt | 2 +- .../fetch/filter.key.and.header.or.header/server.rpt | 2 +- .../application/fetch/filter.key.and.header/client.rpt | 2 +- .../application/fetch/filter.key.and.header/server.rpt | 2 +- .../application/fetch/filter.key.and.not.header/client.rpt | 2 +- .../application/fetch/filter.key.and.not.header/server.rpt | 2 +- .../fetch/filter.key.or.header.and.header/client.rpt | 2 +- .../fetch/filter.key.or.header.and.header/server.rpt | 2 +- .../streams/application/fetch/filter.key.or.header/client.rpt | 2 +- .../streams/application/fetch/filter.key.or.header/server.rpt | 2 +- .../kafka/streams/application/fetch/filter.key/client.rpt | 2 +- .../kafka/streams/application/fetch/filter.key/server.rpt | 2 +- .../application/fetch/filter.none.json.patch/client.rpt | 2 +- .../application/fetch/filter.none.json.patch/server.rpt | 2 +- .../streams/application/fetch/filter.none.json/client.rpt | 2 +- .../streams/application/fetch/filter.none.json/server.rpt | 2 +- .../kafka/streams/application/fetch/filter.none/client.rpt | 2 +- .../kafka/streams/application/fetch/filter.none/server.rpt | 2 +- .../streams/application/fetch/filter.not.header/client.rpt | 2 +- .../streams/application/fetch/filter.not.header/server.rpt | 2 +- .../kafka/streams/application/fetch/filter.not.key/client.rpt | 2 +- .../kafka/streams/application/fetch/filter.not.key/server.rpt | 2 +- .../application/fetch/filter.sync.with.data/client.rpt | 2 +- .../application/fetch/filter.sync.with.data/server.rpt | 2 +- .../kafka/streams/application/fetch/filter.sync/client.rpt | 2 +- .../kafka/streams/application/fetch/filter.sync/server.rpt | 2 +- .../application/fetch/follow.message.with.message/client.rpt | 2 +- .../application/fetch/follow.message.with.message/server.rpt | 2 +- .../fetch/followed.message.with.message/client.rpt | 2 +- .../fetch/followed.message.with.message/server.rpt | 2 +- .../fetch/isolation.read.committed.aborted/client.rpt | 2 +- .../fetch/isolation.read.committed.aborted/server.rpt | 2 +- .../fetch/isolation.read.committed.aborting/client.rpt | 2 +- .../fetch/isolation.read.committed.aborting/server.rpt | 2 +- .../fetch/isolation.read.committed.committing/client.rpt | 2 +- .../fetch/isolation.read.committed.committing/server.rpt | 2 +- .../application/fetch/isolation.read.committed/client.rpt | 2 +- .../application/fetch/isolation.read.committed/server.rpt | 2 +- .../fetch/isolation.read.uncommitted.aborted/client.rpt | 2 +- .../fetch/isolation.read.uncommitted.aborted/server.rpt | 2 +- .../fetch/isolation.read.uncommitted.aborting/client.rpt | 2 +- .../fetch/isolation.read.uncommitted.aborting/server.rpt | 2 +- .../fetch/isolation.read.uncommitted.committing/client.rpt | 2 +- .../fetch/isolation.read.uncommitted.committing/server.rpt | 2 +- .../streams/application/fetch/message.header.null/client.rpt | 2 +- .../streams/application/fetch/message.header.null/server.rpt | 2 +- .../kafka/streams/application/fetch/message.header/client.rpt | 2 +- .../kafka/streams/application/fetch/message.header/server.rpt | 2 +- .../application/fetch/message.headers.distinct/client.rpt | 2 +- .../application/fetch/message.headers.distinct/server.rpt | 2 +- .../application/fetch/message.headers.repeated/client.rpt | 2 +- .../application/fetch/message.headers.repeated/server.rpt | 2 +- .../streams/application/fetch/message.json.key/client.rpt | 2 +- .../streams/application/fetch/message.json.key/server.rpt | 2 +- .../streams/application/fetch/message.key.distinct/client.rpt | 2 +- .../streams/application/fetch/message.key.distinct/server.rpt | 2 +- .../application/fetch/message.key.extracted/client.rpt | 2 +- .../application/fetch/message.key.extracted/server.rpt | 2 +- .../streams/application/fetch/message.key.null/client.rpt | 2 +- .../streams/application/fetch/message.key.null/server.rpt | 2 +- .../application/fetch/message.key.with.header/client.rpt | 2 +- .../application/fetch/message.key.with.header/server.rpt | 2 +- .../fetch/message.key.with.value.distinct/client.rpt | 2 +- .../fetch/message.key.with.value.distinct/server.rpt | 2 +- .../application/fetch/message.key.with.value.null/client.rpt | 2 +- .../application/fetch/message.key.with.value.null/server.rpt | 2 +- .../kafka/streams/application/fetch/message.key/client.rpt | 2 +- .../kafka/streams/application/fetch/message.key/server.rpt | 2 +- .../streams/application/fetch/message.value.100k/client.rpt | 2 +- .../streams/application/fetch/message.value.100k/server.rpt | 2 +- .../streams/application/fetch/message.value.10k/client.rpt | 2 +- .../streams/application/fetch/message.value.10k/server.rpt | 2 +- .../application/fetch/message.value.distinct/client.rpt | 2 +- .../application/fetch/message.value.distinct/server.rpt | 2 +- .../streams/application/fetch/message.value.empty/client.rpt | 2 +- .../streams/application/fetch/message.value.empty/server.rpt | 2 +- .../streams/application/fetch/message.value.null/client.rpt | 2 +- .../streams/application/fetch/message.value.null/server.rpt | 2 +- .../kafka/streams/application/fetch/message.value/client.rpt | 2 +- .../kafka/streams/application/fetch/message.value/server.rpt | 2 +- .../streams/application/fetch/no.message.value/client.rpt | 2 +- .../streams/application/fetch/no.message.value/server.rpt | 2 +- .../streams/application/fetch/partition.incomplete/client.rpt | 2 +- .../streams/application/fetch/partition.incomplete/server.rpt | 2 +- .../application/fetch/partition.leader.distinct/client.rpt | 2 +- .../application/fetch/partition.leader.distinct/server.rpt | 2 +- .../streams/application/fetch/partition.not.leader/client.rpt | 2 +- .../streams/application/fetch/partition.not.leader/server.rpt | 2 +- .../application/fetch/partition.offset.earliest/client.rpt | 2 +- .../application/fetch/partition.offset.earliest/server.rpt | 2 +- .../application/fetch/partition.offset.latest/client.rpt | 2 +- .../application/fetch/partition.offset.latest/server.rpt | 2 +- .../application/fetch/partition.offset.zero/client.rpt | 2 +- .../application/fetch/partition.offset.zero/server.rpt | 2 +- .../streams/application/fetch/partition.offset/client.rpt | 2 +- .../streams/application/fetch/partition.offset/server.rpt | 2 +- .../streams/application/fetch/partition.unknown/client.rpt | 2 +- .../streams/application/fetch/partition.unknown/server.rpt | 2 +- .../kafka/streams/application/fetch/topic.missing/client.rpt | 2 +- .../kafka/streams/application/fetch/topic.missing/server.rpt | 2 +- .../streams/application/fetch/topic.not.routed/client.rpt | 2 +- .../streams/application/fetch/topic.not.routed/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../application/group/group.authorization.failed/client.rpt | 2 +- .../application/group/group.authorization.failed/server.rpt | 2 +- .../group/ignore.heartbeat.before.handshake/client.rpt | 2 +- .../group/ignore.heartbeat.before.handshake/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../application/group/invalid.describe.config/client.rpt | 2 +- .../application/group/invalid.describe.config/server.rpt | 2 +- .../application/group/invalid.session.timeout/client.rpt | 2 +- .../application/group/invalid.session.timeout/server.rpt | 2 +- .../streams/application/group/leader.assignment/client.rpt | 2 +- .../streams/application/group/leader.assignment/server.rpt | 2 +- .../group/multiple.find.coordinator.response/client.rpt | 2 +- .../group/multiple.find.coordinator.response/server.rpt | 2 +- .../streams/application/group/partition.assignment/client.rpt | 2 +- .../streams/application/group/partition.assignment/server.rpt | 2 +- .../streams/application/group/reassign.new.topic/client.rpt | 2 +- .../streams/application/group/reassign.new.topic/server.rpt | 2 +- .../rebalance.multiple.members.with.same.group.id/client.rpt | 2 +- .../rebalance.multiple.members.with.same.group.id/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../rebalance.protocol.highlander.migrate.leader/client.rpt | 2 +- .../rebalance.protocol.highlander.migrate.leader/server.rpt | 2 +- .../group/rebalance.protocol.highlander/client.rpt | 2 +- .../group/rebalance.protocol.highlander/server.rpt | 2 +- .../application/group/rebalance.protocol.unknown/client.rpt | 2 +- .../application/group/rebalance.protocol.unknown/server.rpt | 2 +- .../streams/application/group/rebalance.sync.group/client.rpt | 2 +- .../streams/application/group/rebalance.sync.group/server.rpt | 2 +- .../group/server.sent.read.abort.after.join.group/client.rpt | 2 +- .../group/server.sent.read.abort.after.join.group/server.rpt | 2 +- .../application/group/topics.partition.assignment/client.rpt | 2 +- .../application/group/topics.partition.assignment/server.rpt | 2 +- .../application/init.producer.id/produce.new.id/client.rpt | 2 +- .../application/init.producer.id/produce.new.id/server.rpt | 2 +- .../merged/merged.fetch.filter.age.historical/client.rpt | 2 +- .../merged/merged.fetch.filter.age.historical/server.rpt | 2 +- .../merged/merged.fetch.filter.age.live/client.rpt | 2 +- .../merged/merged.fetch.filter.age.live/server.rpt | 2 +- .../application/merged/merged.fetch.filter.change/client.rpt | 2 +- .../application/merged/merged.fetch.filter.change/server.rpt | 2 +- .../merged/merged.fetch.filter.header.and.header/client.rpt | 2 +- .../merged/merged.fetch.filter.header.and.header/server.rpt | 2 +- .../merged/merged.fetch.filter.header.or.header/client.rpt | 2 +- .../merged/merged.fetch.filter.header.or.header/server.rpt | 2 +- .../merged.fetch.filter.header.with.compaction/client.rpt | 2 +- .../merged.fetch.filter.header.with.compaction/server.rpt | 2 +- .../application/merged/merged.fetch.filter.header/client.rpt | 2 +- .../application/merged/merged.fetch.filter.header/server.rpt | 2 +- .../merged/merged.fetch.filter.headers.many.empty/client.rpt | 2 +- .../merged/merged.fetch.filter.headers.many.empty/server.rpt | 2 +- .../merged/merged.fetch.filter.headers.many/client.rpt | 2 +- .../merged/merged.fetch.filter.headers.many/server.rpt | 2 +- .../merged/merged.fetch.filter.headers.one.empty/client.rpt | 2 +- .../merged/merged.fetch.filter.headers.one.empty/server.rpt | 2 +- .../merged/merged.fetch.filter.headers.one/client.rpt | 2 +- .../merged/merged.fetch.filter.headers.one/server.rpt | 2 +- .../merged/merged.fetch.filter.headers.skip.many/client.rpt | 2 +- .../merged/merged.fetch.filter.headers.skip.many/server.rpt | 2 +- .../merged/merged.fetch.filter.headers.skip.one/client.rpt | 2 +- .../merged/merged.fetch.filter.headers.skip.one/server.rpt | 2 +- .../merged/merged.fetch.filter.headers.skip.two/client.rpt | 2 +- .../merged/merged.fetch.filter.headers.skip.two/server.rpt | 2 +- .../merged/merged.fetch.filter.key.and.header/client.rpt | 2 +- .../merged/merged.fetch.filter.key.and.header/server.rpt | 2 +- .../merged/merged.fetch.filter.key.and.not.header/client.rpt | 2 +- .../merged/merged.fetch.filter.key.and.not.header/server.rpt | 2 +- .../merged/merged.fetch.filter.key.or.header.eager/client.rpt | 2 +- .../merged/merged.fetch.filter.key.or.header.eager/server.rpt | 2 +- .../merged/merged.fetch.filter.key.or.header/client.rpt | 2 +- .../merged/merged.fetch.filter.key.or.header/server.rpt | 2 +- .../application/merged/merged.fetch.filter.key/client.rpt | 2 +- .../application/merged/merged.fetch.filter.key/server.rpt | 2 +- .../merged.fetch.filter.none.read.uncommitted/client.rpt | 2 +- .../merged.fetch.filter.none.read.uncommitted/server.rpt | 2 +- .../application/merged/merged.fetch.filter.none/client.rpt | 2 +- .../application/merged/merged.fetch.filter.none/server.rpt | 2 +- .../merged/merged.fetch.filter.not.header/client.rpt | 2 +- .../merged/merged.fetch.filter.not.header/server.rpt | 2 +- .../application/merged/merged.fetch.filter.not.key/client.rpt | 2 +- .../application/merged/merged.fetch.filter.not.key/server.rpt | 2 +- .../application/merged/merged.fetch.filter.sync/client.rpt | 2 +- .../application/merged/merged.fetch.filter.sync/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../merged/merged.fetch.isolation.read.committed/client.rpt | 2 +- .../merged/merged.fetch.isolation.read.committed/server.rpt | 2 +- .../application/merged/merged.fetch.message.ack/client.rpt | 2 +- .../application/merged/merged.fetch.message.ack/server.rpt | 2 +- .../merged/merged.fetch.message.value.convert/client.rpt | 2 +- .../merged/merged.fetch.message.value.convert/server.rpt | 2 +- .../merged/merged.fetch.message.value.invalid/client.rpt | 2 +- .../merged/merged.fetch.message.value.invalid/server.rpt | 2 +- .../merged/merged.fetch.message.value.valid/client.rpt | 2 +- .../merged/merged.fetch.message.value.valid/server.rpt | 2 +- .../application/merged/merged.fetch.message.values/client.rpt | 2 +- .../application/merged/merged.fetch.message.values/server.rpt | 2 +- .../merged/merged.fetch.partition.leader.aborted/client.rpt | 2 +- .../merged/merged.fetch.partition.leader.aborted/server.rpt | 2 +- .../merged/merged.fetch.partition.leader.changed/client.rpt | 2 +- .../merged/merged.fetch.partition.leader.changed/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../merged/merged.fetch.partition.offsets.earliest/client.rpt | 2 +- .../merged/merged.fetch.partition.offsets.earliest/server.rpt | 2 +- .../merged/merged.fetch.partition.offsets.latest/client.rpt | 2 +- .../merged/merged.fetch.partition.offsets.latest/server.rpt | 2 +- .../merged.fetch.server.sent.abort.with.message/client.rpt | 2 +- .../merged.fetch.server.sent.abort.with.message/server.rpt | 2 +- .../merged/merged.fetch.server.sent.abort/client.rpt | 2 +- .../merged/merged.fetch.server.sent.abort/server.rpt | 2 +- .../merged.fetch.server.sent.close.with.message/client.rpt | 2 +- .../merged.fetch.server.sent.close.with.message/server.rpt | 2 +- .../merged/merged.fetch.server.sent.close/client.rpt | 2 +- .../merged/merged.fetch.server.sent.close/server.rpt | 2 +- .../merged.fetch.server.sent.reset.with.message/client.rpt | 2 +- .../merged.fetch.server.sent.reset.with.message/server.rpt | 2 +- .../merged/merged.fetch.server.sent.reset/client.rpt | 2 +- .../merged/merged.fetch.server.sent.reset/server.rpt | 2 +- .../application/merged/merged.fetch.unsubscribe/client.rpt | 2 +- .../application/merged/merged.fetch.unsubscribe/server.rpt | 2 +- .../merged/merged.group.produce.invalid.partition/client.rpt | 2 +- .../merged/merged.group.produce.invalid.partition/server.rpt | 2 +- .../merged/merged.group.produce.message.value/client.rpt | 2 +- .../merged/merged.group.produce.message.value/server.rpt | 2 +- .../merged.produce.and.fetch.get.cleanup.policy/client.rpt | 2 +- .../merged.produce.and.fetch.get.cleanup.policy/server.rpt | 2 +- .../merged/merged.produce.flush.dynamic.hashed/client.rpt | 2 +- .../merged/merged.produce.flush.dynamic.hashed/server.rpt | 2 +- .../merged/merged.produce.flush.dynamic/client.rpt | 2 +- .../merged/merged.produce.flush.dynamic/server.rpt | 2 +- .../application/merged/merged.produce.flush/client.rpt | 2 +- .../application/merged/merged.produce.flush/server.rpt | 2 +- .../merged/merged.produce.message.flags.incomplete/client.rpt | 2 +- .../merged/merged.produce.message.flags.incomplete/server.rpt | 2 +- .../merged/merged.produce.message.value.100k/client.rpt | 2 +- .../merged/merged.produce.message.value.100k/server.rpt | 2 +- .../merged/merged.produce.message.value.10k/client.rpt | 2 +- .../merged/merged.produce.message.value.10k/server.rpt | 2 +- .../merged/merged.produce.message.value.invalid/client.rpt | 2 +- .../merged/merged.produce.message.value.invalid/server.rpt | 2 +- .../merged.produce.message.value.partition.id/client.rpt | 2 +- .../merged.produce.message.value.partition.id/server.rpt | 2 +- .../merged/merged.produce.message.value.valid/client.rpt | 2 +- .../merged/merged.produce.message.value.valid/server.rpt | 2 +- .../merged.produce.message.values.dynamic.hash.key/client.rpt | 2 +- .../merged.produce.message.values.dynamic.hash.key/server.rpt | 2 +- .../merged.produce.message.values.dynamic.hashed/client.rpt | 2 +- .../merged.produce.message.values.dynamic.hashed/server.rpt | 2 +- .../merged/merged.produce.message.values.dynamic/client.rpt | 2 +- .../merged/merged.produce.message.values.dynamic/server.rpt | 2 +- .../merged/merged.produce.message.values.null/client.rpt | 2 +- .../merged/merged.produce.message.values.null/server.rpt | 2 +- .../merged.produce.message.values.producer.id/client.rpt | 2 +- .../merged.produce.message.values.producer.id/server.rpt | 2 +- .../merged/merged.produce.message.values/client.rpt | 2 +- .../merged/merged.produce.message.values/server.rpt | 2 +- .../merged/unmerged.fetch.filter.age.historical/client.rpt | 2 +- .../merged/unmerged.fetch.filter.age.historical/server.rpt | 2 +- .../merged/unmerged.fetch.filter.change/client.rpt | 2 +- .../merged/unmerged.fetch.filter.change/server.rpt | 2 +- .../unmerged.fetch.filter.none.with.compaction/client.rpt | 2 +- .../unmerged.fetch.filter.none.with.compaction/server.rpt | 2 +- .../application/merged/unmerged.fetch.filter.none/client.rpt | 2 +- .../application/merged/unmerged.fetch.filter.none/server.rpt | 2 +- .../application/merged/unmerged.fetch.filter.sync/client.rpt | 2 +- .../application/merged/unmerged.fetch.filter.sync/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../merged/unmerged.fetch.message.value.convert/client.rpt | 2 +- .../merged/unmerged.fetch.message.value.convert/server.rpt | 2 +- .../merged/unmerged.fetch.message.value.invalid/client.rpt | 2 +- .../merged/unmerged.fetch.message.value.invalid/server.rpt | 2 +- .../merged/unmerged.fetch.message.value.valid/client.rpt | 2 +- .../merged/unmerged.fetch.message.value.valid/server.rpt | 2 +- .../merged/unmerged.fetch.message.values.live/client.rpt | 2 +- .../merged/unmerged.fetch.message.values.live/server.rpt | 2 +- .../merged/unmerged.fetch.message.values/client.rpt | 2 +- .../merged/unmerged.fetch.message.values/server.rpt | 2 +- .../merged/unmerged.fetch.partition.leader.aborted/client.rpt | 2 +- .../merged/unmerged.fetch.partition.leader.aborted/server.rpt | 2 +- .../merged/unmerged.fetch.partition.leader.changed/client.rpt | 2 +- .../merged/unmerged.fetch.partition.leader.changed/server.rpt | 2 +- .../unmerged.fetch.partition.offsets.earliest/client.rpt | 2 +- .../unmerged.fetch.partition.offsets.earliest/server.rpt | 2 +- .../merged/unmerged.fetch.partition.offsets.latest/client.rpt | 2 +- .../merged/unmerged.fetch.partition.offsets.latest/server.rpt | 2 +- .../unmerged.fetch.server.sent.abort.with.message/client.rpt | 2 +- .../unmerged.fetch.server.sent.abort.with.message/server.rpt | 2 +- .../merged/unmerged.fetch.server.sent.abort/client.rpt | 2 +- .../merged/unmerged.fetch.server.sent.abort/server.rpt | 2 +- .../unmerged.fetch.server.sent.close.with.message/client.rpt | 2 +- .../unmerged.fetch.server.sent.close.with.message/server.rpt | 2 +- .../merged/unmerged.fetch.server.sent.close/client.rpt | 2 +- .../merged/unmerged.fetch.server.sent.close/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../merged/unmerged.fetch.server.sent.reset/client.rpt | 2 +- .../merged/unmerged.fetch.server.sent.reset/server.rpt | 2 +- .../unmerged.group.fetch.assignment.incomplete/client.rpt | 2 +- .../unmerged.group.fetch.assignment.incomplete/server.rpt | 2 +- .../merged/unmerged.group.fetch.message.ack/client.rpt | 2 +- .../merged/unmerged.group.fetch.message.ack/server.rpt | 2 +- .../merged/unmerged.group.fetch.message.value/client.rpt | 2 +- .../merged/unmerged.group.fetch.message.value/server.rpt | 2 +- .../merged/unmerged.group.fetch.unsubscribe/client.rpt | 2 +- .../merged/unmerged.group.fetch.unsubscribe/server.rpt | 2 +- .../unmerged.group.produce.invalid.partition/client.rpt | 2 +- .../unmerged.group.produce.invalid.partition/server.rpt | 2 +- .../merged/unmerged.group.produce.message.value/client.rpt | 2 +- .../merged/unmerged.group.produce.message.value/server.rpt | 2 +- .../unmerged.produce.and.fetch.get.cleanup.policy/client.rpt | 2 +- .../unmerged.produce.and.fetch.get.cleanup.policy/server.rpt | 2 +- .../merged/unmerged.produce.flush.dynamic.hashed/client.rpt | 2 +- .../merged/unmerged.produce.flush.dynamic.hashed/server.rpt | 2 +- .../merged/unmerged.produce.flush.dynamic/client.rpt | 2 +- .../merged/unmerged.produce.flush.dynamic/server.rpt | 2 +- .../application/merged/unmerged.produce.flush/client.rpt | 2 +- .../application/merged/unmerged.produce.flush/server.rpt | 2 +- .../unmerged.produce.message.flags.incomplete/client.rpt | 2 +- .../unmerged.produce.message.flags.incomplete/server.rpt | 2 +- .../merged/unmerged.produce.message.value.100k/client.rpt | 2 +- .../merged/unmerged.produce.message.value.100k/server.rpt | 2 +- .../merged/unmerged.produce.message.value.10k/client.rpt | 2 +- .../merged/unmerged.produce.message.value.10k/server.rpt | 2 +- .../merged/unmerged.produce.message.value.invalid/client.rpt | 2 +- .../merged/unmerged.produce.message.value.invalid/server.rpt | 2 +- .../unmerged.produce.message.value.partition.id/client.rpt | 2 +- .../unmerged.produce.message.value.partition.id/server.rpt | 2 +- .../merged/unmerged.produce.message.value.valid/client.rpt | 2 +- .../merged/unmerged.produce.message.value.valid/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../unmerged.produce.message.values.dynamic.hashed/client.rpt | 2 +- .../unmerged.produce.message.values.dynamic.hashed/server.rpt | 2 +- .../merged/unmerged.produce.message.values.dynamic/client.rpt | 2 +- .../merged/unmerged.produce.message.values.dynamic/server.rpt | 2 +- .../merged/unmerged.produce.message.values.null/client.rpt | 2 +- .../merged/unmerged.produce.message.values.null/server.rpt | 2 +- .../unmerged.produce.message.values.producer.id/client.rpt | 2 +- .../unmerged.produce.message.values.producer.id/server.rpt | 2 +- .../merged/unmerged.produce.message.values/client.rpt | 2 +- .../merged/unmerged.produce.message.values/server.rpt | 2 +- .../kafka/streams/application/meta/topic.invalid/client.rpt | 2 +- .../kafka/streams/application/meta/topic.invalid/server.rpt | 2 +- .../application/meta/topic.partition.info.changed/client.rpt | 2 +- .../application/meta/topic.partition.info.changed/server.rpt | 2 +- .../meta/topic.partition.info.incomplete/client.rpt | 2 +- .../meta/topic.partition.info.incomplete/server.rpt | 2 +- .../streams/application/meta/topic.partition.info/client.rpt | 2 +- .../streams/application/meta/topic.partition.info/server.rpt | 2 +- .../kafka/streams/application/meta/topic.unknown/client.rpt | 2 +- .../kafka/streams/application/meta/topic.unknown/server.rpt | 2 +- .../streams/application/meta/topic.unreachable/client.rpt | 2 +- .../streams/application/meta/topic.unreachable/server.rpt | 2 +- .../offset.commit/update.topic.partition.offset/client.rpt | 2 +- .../offset.commit/update.topic.partition.offset/server.rpt | 2 +- .../offset.commit/update.topic.partition.offsets/client.rpt | 2 +- .../offset.commit/update.topic.partition.offsets/server.rpt | 2 +- .../update.unknown.topic.partition.offset/client.rpt | 2 +- .../update.unknown.topic.partition.offset/server.rpt | 2 +- .../offset.fetch/topic.offset.info.incomplete/client.rpt | 2 +- .../offset.fetch/topic.offset.info.incomplete/server.rpt | 2 +- .../application/offset.fetch/topic.offset.info/client.rpt | 2 +- .../application/offset.fetch/topic.offset.info/server.rpt | 2 +- .../offset.fetch/topic.offset.no.partition/client.rpt | 2 +- .../offset.fetch/topic.offset.no.partition/server.rpt | 2 +- .../streams/application/produce/message.empty.crc/client.rpt | 2 +- .../streams/application/produce/message.empty.crc/server.rpt | 2 +- .../application/produce/message.header.null/client.rpt | 2 +- .../application/produce/message.header.null/server.rpt | 2 +- .../streams/application/produce/message.header/client.rpt | 2 +- .../streams/application/produce/message.header/server.rpt | 2 +- .../application/produce/message.headers.distinct/client.rpt | 2 +- .../application/produce/message.headers.distinct/server.rpt | 2 +- .../application/produce/message.headers.repeated/client.rpt | 2 +- .../application/produce/message.headers.repeated/server.rpt | 2 +- .../application/produce/message.key.distinct/client.rpt | 2 +- .../application/produce/message.key.distinct/server.rpt | 2 +- .../streams/application/produce/message.key.null/client.rpt | 2 +- .../streams/application/produce/message.key.null/server.rpt | 2 +- .../application/produce/message.key.with.header/client.rpt | 2 +- .../application/produce/message.key.with.header/server.rpt | 2 +- .../produce/message.key.with.value.distinct/client.rpt | 2 +- .../produce/message.key.with.value.distinct/server.rpt | 2 +- .../produce/message.key.with.value.null/client.rpt | 2 +- .../produce/message.key.with.value.null/server.rpt | 2 +- .../kafka/streams/application/produce/message.key/client.rpt | 2 +- .../kafka/streams/application/produce/message.key/server.rpt | 2 +- .../streams/application/produce/message.null.crc/client.rpt | 2 +- .../streams/application/produce/message.null.crc/server.rpt | 2 +- .../application/produce/message.producer.id/client.rpt | 2 +- .../application/produce/message.producer.id/server.rpt | 2 +- .../streams/application/produce/message.trailer/client.rpt | 2 +- .../streams/application/produce/message.trailer/server.rpt | 2 +- .../application/produce/message.trailers.overlap/client.rpt | 2 +- .../application/produce/message.trailers.overlap/server.rpt | 2 +- .../streams/application/produce/message.value.100k/client.rpt | 2 +- .../streams/application/produce/message.value.100k/server.rpt | 2 +- .../streams/application/produce/message.value.10k/client.rpt | 2 +- .../streams/application/produce/message.value.10k/server.rpt | 2 +- .../application/produce/message.value.distinct/client.rpt | 2 +- .../application/produce/message.value.distinct/server.rpt | 2 +- .../streams/application/produce/message.value.null/client.rpt | 2 +- .../streams/application/produce/message.value.null/server.rpt | 2 +- .../application/produce/message.value.rejected/client.rpt | 2 +- .../application/produce/message.value.rejected/server.rpt | 2 +- .../produce/message.value.repeated.fragmented/client.rpt | 2 +- .../produce/message.value.repeated.fragmented/server.rpt | 2 +- .../application/produce/message.value.repeated/client.rpt | 2 +- .../application/produce/message.value.repeated/server.rpt | 2 +- .../streams/application/produce/message.value/client.rpt | 2 +- .../streams/application/produce/message.value/server.rpt | 2 +- .../produce/message.values.100k.parallel/client.rpt | 2 +- .../produce/message.values.100k.parallel/server.rpt | 2 +- .../produce/message.values.100k.sequential/client.rpt | 2 +- .../produce/message.values.100k.sequential/server.rpt | 2 +- .../application/produce/message.values.parallel/client.rpt | 2 +- .../application/produce/message.values.parallel/server.rpt | 2 +- .../produce/message.values.producer.id.changes/client.rpt | 2 +- .../produce/message.values.producer.id.changes/server.rpt | 2 +- .../produce/message.values.producer.id.replay/client.rpt | 2 +- .../produce/message.values.producer.id.replay/server.rpt | 2 +- .../application/produce/message.values.producer.id/client.rpt | 2 +- .../application/produce/message.values.producer.id/server.rpt | 2 +- .../application/produce/message.values.rejected/client.rpt | 2 +- .../application/produce/message.values.rejected/server.rpt | 2 +- .../application/produce/message.values.sequential/client.rpt | 2 +- .../application/produce/message.values.sequential/server.rpt | 2 +- .../application/produce/messages.fragmented.crc/client.rpt | 2 +- .../application/produce/messages.fragmented.crc/server.rpt | 2 +- .../partition.not.leader.reconnect.parallel/client.rpt | 2 +- .../partition.not.leader.reconnect.parallel/server.rpt | 2 +- .../produce/partition.not.leader.reconnect/client.rpt | 2 +- .../produce/partition.not.leader.reconnect/server.rpt | 2 +- .../application/produce/partition.not.leader/client.rpt | 2 +- .../application/produce/partition.not.leader/server.rpt | 2 +- .../streams/application/produce/partition.unknown/client.rpt | 2 +- .../streams/application/produce/partition.unknown/server.rpt | 2 +- .../streams/application/produce/topic.missing/client.rpt | 2 +- .../streams/application/produce/topic.missing/server.rpt | 2 +- .../streams/application/produce/topic.not.routed/client.rpt | 2 +- .../streams/application/produce/topic.not.routed/server.rpt | 2 +- .../alter.topics.config.sasl.plain/client.rpt | 2 +- .../alter.topics.config.sasl.plain/server.rpt | 2 +- .../alter.topics.config.sasl.scram/client.rpt | 2 +- .../alter.topics.config.sasl.scram/server.rpt | 2 +- .../network/alter.configs.v1/alter.topics.config/client.rpt | 2 +- .../network/alter.configs.v1/alter.topics.config/server.rpt | 2 +- .../create.topics.sasl.plain/client.rpt | 2 +- .../create.topics.sasl.plain/server.rpt | 2 +- .../create.topics.sasl.scram/client.rpt | 2 +- .../create.topics.sasl.scram/server.rpt | 2 +- .../streams/network/create.topics.v3/create.topics/client.rpt | 2 +- .../streams/network/create.topics.v3/create.topics/server.rpt | 2 +- .../delete.topics.sasl.plain/client.rpt | 2 +- .../delete.topics.sasl.plain/server.rpt | 2 +- .../delete.topics.sasl.scram/client.rpt | 2 +- .../delete.topics.sasl.scram/server.rpt | 2 +- .../streams/network/delete.topics.v3/delete.topics/client.rpt | 2 +- .../streams/network/delete.topics.v3/delete.topics/server.rpt | 2 +- .../cluster.brokers.info.sasl.plain/client.rpt | 2 +- .../cluster.brokers.info.sasl.plain/server.rpt | 2 +- .../cluster.brokers.info.sasl.scram/client.rpt | 2 +- .../cluster.brokers.info.sasl.scram/server.rpt | 2 +- .../describe.cluster.v0/cluster.brokers.info/client.rpt | 2 +- .../describe.cluster.v0/cluster.brokers.info/server.rpt | 2 +- .../topic.config.info.sasl.plain/client.rpt | 2 +- .../topic.config.info.sasl.plain/server.rpt | 2 +- .../topic.config.info.sasl.scram/client.rpt | 2 +- .../topic.config.info.sasl.scram/server.rpt | 2 +- .../describe.configs.v0/topic.config.info.changed/client.rpt | 2 +- .../describe.configs.v0/topic.config.info.changed/server.rpt | 2 +- .../topic.config.info.incomplete/client.rpt | 2 +- .../topic.config.info.incomplete/server.rpt | 2 +- .../network/describe.configs.v0/topic.config.info/client.rpt | 2 +- .../network/describe.configs.v0/topic.config.info/server.rpt | 2 +- .../network/describe.configs.v0/topic.unknown/client.rpt | 2 +- .../network/describe.configs.v0/topic.unknown/server.rpt | 2 +- .../partition.offset.sasl.plain/client.rpt | 2 +- .../partition.offset.sasl.plain/server.rpt | 2 +- .../partition.offset.sasl.scram/client.rpt | 2 +- .../partition.offset.sasl.scram/server.rpt | 2 +- .../kafka/streams/network/fetch.v5/filter.none/client.rpt | 2 +- .../kafka/streams/network/fetch.v5/filter.none/server.rpt | 2 +- .../kafka/streams/network/fetch.v5/filter.sync/client.rpt | 2 +- .../kafka/streams/network/fetch.v5/filter.sync/server.rpt | 2 +- .../network/fetch.v5/isolation.read.committed/client.rpt | 2 +- .../network/fetch.v5/isolation.read.committed/server.rpt | 2 +- .../fetch.v5/isolation.read.uncommitted.aborted/client.rpt | 2 +- .../fetch.v5/isolation.read.uncommitted.aborted/server.rpt | 2 +- .../fetch.v5/isolation.read.uncommitted.aborting/client.rpt | 2 +- .../fetch.v5/isolation.read.uncommitted.aborting/server.rpt | 2 +- .../fetch.v5/isolation.read.uncommitted.committing/client.rpt | 2 +- .../fetch.v5/isolation.read.uncommitted.committing/server.rpt | 2 +- .../streams/network/fetch.v5/message.header.null/client.rpt | 2 +- .../streams/network/fetch.v5/message.header.null/server.rpt | 2 +- .../kafka/streams/network/fetch.v5/message.header/client.rpt | 2 +- .../kafka/streams/network/fetch.v5/message.header/server.rpt | 2 +- .../network/fetch.v5/message.headers.distinct/client.rpt | 2 +- .../network/fetch.v5/message.headers.distinct/server.rpt | 2 +- .../network/fetch.v5/message.headers.repeated/client.rpt | 2 +- .../network/fetch.v5/message.headers.repeated/server.rpt | 2 +- .../streams/network/fetch.v5/message.key.distinct/client.rpt | 2 +- .../streams/network/fetch.v5/message.key.distinct/server.rpt | 2 +- .../streams/network/fetch.v5/message.key.null/client.rpt | 2 +- .../streams/network/fetch.v5/message.key.null/server.rpt | 2 +- .../network/fetch.v5/message.key.with.header/client.rpt | 2 +- .../network/fetch.v5/message.key.with.header/server.rpt | 2 +- .../fetch.v5/message.key.with.value.distinct/client.rpt | 2 +- .../fetch.v5/message.key.with.value.distinct/server.rpt | 2 +- .../network/fetch.v5/message.key.with.value.null/client.rpt | 2 +- .../network/fetch.v5/message.key.with.value.null/server.rpt | 2 +- .../kafka/streams/network/fetch.v5/message.key/client.rpt | 2 +- .../kafka/streams/network/fetch.v5/message.key/server.rpt | 2 +- .../streams/network/fetch.v5/message.value.100k/client.rpt | 2 +- .../streams/network/fetch.v5/message.value.100k/server.rpt | 2 +- .../streams/network/fetch.v5/message.value.10k/client.rpt | 2 +- .../streams/network/fetch.v5/message.value.10k/server.rpt | 2 +- .../network/fetch.v5/message.value.distinct/client.rpt | 2 +- .../network/fetch.v5/message.value.distinct/server.rpt | 2 +- .../streams/network/fetch.v5/message.value.null/client.rpt | 2 +- .../streams/network/fetch.v5/message.value.null/server.rpt | 2 +- .../kafka/streams/network/fetch.v5/message.value/client.rpt | 2 +- .../kafka/streams/network/fetch.v5/message.value/server.rpt | 2 +- .../streams/network/fetch.v5/no.message.value/client.rpt | 2 +- .../streams/network/fetch.v5/no.message.value/server.rpt | 2 +- .../streams/network/fetch.v5/partition.incomplete/client.rpt | 2 +- .../streams/network/fetch.v5/partition.incomplete/server.rpt | 2 +- .../network/fetch.v5/partition.leader.distinct/client.rpt | 2 +- .../network/fetch.v5/partition.leader.distinct/server.rpt | 2 +- .../streams/network/fetch.v5/partition.not.leader/client.rpt | 2 +- .../streams/network/fetch.v5/partition.not.leader/server.rpt | 2 +- .../network/fetch.v5/partition.offset.earliest/client.rpt | 2 +- .../network/fetch.v5/partition.offset.earliest/server.rpt | 2 +- .../network/fetch.v5/partition.offset.latest/client.rpt | 2 +- .../network/fetch.v5/partition.offset.latest/server.rpt | 2 +- .../streams/network/fetch.v5/partition.offset.zero/client.rpt | 2 +- .../streams/network/fetch.v5/partition.offset.zero/server.rpt | 2 +- .../streams/network/fetch.v5/partition.offset/client.rpt | 2 +- .../streams/network/fetch.v5/partition.offset/server.rpt | 2 +- .../streams/network/fetch.v5/partition.unknown/client.rpt | 2 +- .../streams/network/fetch.v5/partition.unknown/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 3 +-- .../client.rpt | 2 +- .../server.rpt | 4 +--- .../client.rpt | 2 +- .../server.rpt | 2 +- .../group.f1.j5.s3.l3.h3/coordinator.not.available/client.rpt | 2 +- .../group.f1.j5.s3.l3.h3/coordinator.not.available/server.rpt | 4 +--- .../coordinator.reject.invalid.consumer/client.rpt | 2 +- .../coordinator.reject.invalid.consumer/server.rpt | 4 +--- .../group.authorization.failed/client.rpt | 2 +- .../group.authorization.failed/server.rpt | 2 +- .../ignore.heartbeat.before.handshake/client.rpt | 2 +- .../ignore.heartbeat.before.handshake/server.rpt | 4 +--- .../group.f1.j5.s3.l3.h3/initial.delay.config/client.rpt | 2 +- .../group.f1.j5.s3.l3.h3/initial.delay.config/server.rpt | 4 +--- .../client.rpt | 2 +- .../server.rpt | 4 +--- .../group.f1.j5.s3.l3.h3/invalid.describe.config/client.rpt | 2 +- .../group.f1.j5.s3.l3.h3/invalid.describe.config/server.rpt | 4 +--- .../group.f1.j5.s3.l3.h3/invalid.session.timeout/client.rpt | 2 +- .../group.f1.j5.s3.l3.h3/invalid.session.timeout/server.rpt | 4 +--- .../multiple.find.coordinator.response/client.rpt | 2 +- .../multiple.find.coordinator.response/server.rpt | 4 +--- .../rebalance.multiple.members.with.same.group.id/client.rpt | 2 +- .../rebalance.multiple.members.with.same.group.id/server.rpt | 4 +--- .../rebalance.protocol.highlander.fragmented/client.rpt | 2 +- .../rebalance.protocol.highlander.fragmented/server.rpt | 4 +--- .../client.rpt | 2 +- .../server.rpt | 4 +--- .../client.rpt | 2 +- .../server.rpt | 4 +--- .../rebalance.protocol.highlander.migrate.leader/client.rpt | 2 +- .../rebalance.protocol.highlander.migrate.leader/server.rpt | 4 +--- .../client.rpt | 2 +- .../server.rpt | 4 +--- .../rebalance.protocol.highlander/client.rpt | 2 +- .../rebalance.protocol.highlander/server.rpt | 4 +--- .../rebalance.protocol.unknown/client.rpt | 2 +- .../rebalance.protocol.unknown/server.rpt | 2 +- .../group.f1.j5.s3.l3.h3/rebalance.sync.group/client.rpt | 2 +- .../group.f1.j5.s3.l3.h3/rebalance.sync.group/server.rpt | 4 +--- .../topics.partition.assignment/client.rpt | 2 +- .../topics.partition.assignment/server.rpt | 4 +--- .../initial.delay.config.with.sasl.plain/client.rpt | 2 +- .../initial.delay.config.with.sasl.plain/server.rpt | 4 +--- .../initial.delay.config.with.sasl.scram/client.rpt | 2 +- .../initial.delay.config.with.sasl.scram/server.rpt | 4 +--- .../leader.assignment.with.sasl.plain/client.rpt | 2 +- .../leader.assignment.with.sasl.plain/server.rpt | 2 +- .../leader.assignment.with.sasl.scram/client.rpt | 2 +- .../leader.assignment.with.sasl.scram/server.rpt | 2 +- .../produce.new.id.sasl.plain/client.rpt | 2 +- .../produce.new.id.sasl.plain/server.rpt | 2 +- .../produce.new.id.sasl.scram/client.rpt | 2 +- .../produce.new.id.sasl.scram/server.rpt | 2 +- .../network/init.producer.id.v4/produce.new.id/client.rpt | 2 +- .../network/init.producer.id.v4/produce.new.id/server.rpt | 2 +- .../topic.partition.info.sasl.plain/client.rpt | 2 +- .../topic.partition.info.sasl.plain/server.rpt | 2 +- .../topic.partition.info.sasl.scram/client.rpt | 2 +- .../topic.partition.info.sasl.scram/server.rpt | 2 +- .../streams/network/metadata.v5/topic.invalid/client.rpt | 2 +- .../streams/network/metadata.v5/topic.invalid/server.rpt | 2 +- .../metadata.v5/topic.partition.info.changed/client.rpt | 2 +- .../metadata.v5/topic.partition.info.changed/server.rpt | 2 +- .../metadata.v5/topic.partition.info.incomplete/client.rpt | 2 +- .../metadata.v5/topic.partition.info.incomplete/server.rpt | 2 +- .../network/metadata.v5/topic.partition.info/client.rpt | 2 +- .../network/metadata.v5/topic.partition.info/server.rpt | 2 +- .../streams/network/metadata.v5/topic.unknown/client.rpt | 2 +- .../streams/network/metadata.v5/topic.unknown/server.rpt | 2 +- .../update.topic.partition.offset.sasl.plain/client.rpt | 2 +- .../update.topic.partition.offset.sasl.plain/server.rpt | 2 +- .../update.topic.partition.offset.sasl.scram/client.rpt | 2 +- .../update.topic.partition.offset.sasl.scram/server.rpt | 2 +- .../offset.commit.v7/update.topic.partition.offset/client.rpt | 2 +- .../offset.commit.v7/update.topic.partition.offset/server.rpt | 2 +- .../update.topic.partition.offsets/client.rpt | 2 +- .../update.topic.partition.offsets/server.rpt | 2 +- .../update.unknown.topic.partition.offset/client.rpt | 2 +- .../update.unknown.topic.partition.offset/server.rpt | 2 +- .../topic.offset.info.sasl.plain/client.rpt | 2 +- .../topic.offset.info.sasl.plain/server.rpt | 2 +- .../topic.offset.info.sasl.scram/client.rpt | 2 +- .../topic.offset.info.sasl.scram/server.rpt | 2 +- .../offset.fetch.v5/topic.offset.info.incomplete/client.rpt | 2 +- .../offset.fetch.v5/topic.offset.info.incomplete/server.rpt | 2 +- .../network/offset.fetch.v5/topic.offset.info/client.rpt | 2 +- .../network/offset.fetch.v5/topic.offset.info/server.rpt | 2 +- .../offset.fetch.v5/topic.offset.no.partition/client.rpt | 2 +- .../offset.fetch.v5/topic.offset.no.partition/server.rpt | 2 +- .../message.value.sasl.plain/client.rpt | 2 +- .../message.value.sasl.plain/server.rpt | 2 +- .../message.value.sasl.scram/client.rpt | 2 +- .../message.value.sasl.scram/server.rpt | 2 +- .../streams/network/produce.v3/message.empty.crc/client.rpt | 2 +- .../streams/network/produce.v3/message.empty.crc/server.rpt | 2 +- .../streams/network/produce.v3/message.header.null/client.rpt | 2 +- .../streams/network/produce.v3/message.header.null/server.rpt | 2 +- .../streams/network/produce.v3/message.header/client.rpt | 2 +- .../streams/network/produce.v3/message.header/server.rpt | 2 +- .../network/produce.v3/message.headers.distinct/client.rpt | 2 +- .../network/produce.v3/message.headers.distinct/server.rpt | 2 +- .../network/produce.v3/message.headers.repeated/client.rpt | 2 +- .../network/produce.v3/message.headers.repeated/server.rpt | 2 +- .../network/produce.v3/message.key.distinct/client.rpt | 2 +- .../network/produce.v3/message.key.distinct/server.rpt | 2 +- .../streams/network/produce.v3/message.key.null/client.rpt | 2 +- .../streams/network/produce.v3/message.key.null/server.rpt | 2 +- .../network/produce.v3/message.key.with.header/client.rpt | 2 +- .../network/produce.v3/message.key.with.header/server.rpt | 2 +- .../produce.v3/message.key.with.value.distinct/client.rpt | 2 +- .../produce.v3/message.key.with.value.distinct/server.rpt | 2 +- .../network/produce.v3/message.key.with.value.null/client.rpt | 2 +- .../network/produce.v3/message.key.with.value.null/server.rpt | 2 +- .../kafka/streams/network/produce.v3/message.key/client.rpt | 2 +- .../kafka/streams/network/produce.v3/message.key/server.rpt | 2 +- .../streams/network/produce.v3/message.null.crc/client.rpt | 2 +- .../streams/network/produce.v3/message.null.crc/server.rpt | 2 +- .../streams/network/produce.v3/message.producer.id/client.rpt | 2 +- .../streams/network/produce.v3/message.producer.id/server.rpt | 2 +- .../streams/network/produce.v3/message.value.100k/client.rpt | 2 +- .../streams/network/produce.v3/message.value.100k/server.rpt | 2 +- .../streams/network/produce.v3/message.value.10k/client.rpt | 2 +- .../streams/network/produce.v3/message.value.10k/server.rpt | 2 +- .../network/produce.v3/message.value.distinct/client.rpt | 2 +- .../network/produce.v3/message.value.distinct/server.rpt | 2 +- .../streams/network/produce.v3/message.value.null/client.rpt | 2 +- .../streams/network/produce.v3/message.value.null/server.rpt | 2 +- .../network/produce.v3/message.value.repeated/client.rpt | 2 +- .../network/produce.v3/message.value.repeated/server.rpt | 2 +- .../kafka/streams/network/produce.v3/message.value/client.rpt | 2 +- .../kafka/streams/network/produce.v3/message.value/server.rpt | 2 +- .../produce.v3/message.values.producer.id.changes/client.rpt | 2 +- .../produce.v3/message.values.producer.id.changes/server.rpt | 2 +- .../produce.v3/message.values.producer.id.replay/client.rpt | 2 +- .../produce.v3/message.values.producer.id.replay/server.rpt | 2 +- .../network/produce.v3/message.values.producer.id/client.rpt | 2 +- .../network/produce.v3/message.values.producer.id/server.rpt | 2 +- .../network/produce.v3/message.values.sequential/client.rpt | 2 +- .../network/produce.v3/message.values.sequential/server.rpt | 2 +- .../network/produce.v3/messages.fragmented.crc/client.rpt | 2 +- .../network/produce.v3/messages.fragmented.crc/server.rpt | 2 +- .../network/produce.v3/partition.not.leader/client.rpt | 2 +- .../network/produce.v3/partition.not.leader/server.rpt | 2 +- .../streams/network/produce.v3/partition.unknown/client.rpt | 2 +- .../streams/network/produce.v3/partition.unknown/server.rpt | 2 +- .../network/sasl.handshake.v1/mechanism.plain/client.rpt | 2 +- .../network/sasl.handshake.v1/mechanism.plain/server.rpt | 2 +- .../unmerged.fetch.filter.none.read.committed/client.rpt | 2 +- .../unmerged.fetch.filter.none.read.committed/server.rpt | 2 +- .../unmerged.fetch.filter.none.read.uncommitted/client.rpt | 2 +- .../unmerged.fetch.filter.none.read.uncommitted/server.rpt | 2 +- .../unmerged.fetch.filter.sync/client.rpt | 2 +- .../unmerged.fetch.filter.sync/server.rpt | 2 +- .../unmerged.fetch.message.values.read.committed/client.rpt | 2 +- .../unmerged.fetch.message.values.read.committed/server.rpt | 2 +- .../unmerged.fetch.message.values.read.uncommitted/client.rpt | 2 +- .../unmerged.fetch.message.values.read.uncommitted/server.rpt | 2 +- .../unmerged.fetch.partition.offsets.earliest/client.rpt | 2 +- .../unmerged.fetch.partition.offsets.earliest/server.rpt | 2 +- .../unmerged.produce.message.value.100k/client.rpt | 2 +- .../unmerged.produce.message.value.100k/server.rpt | 2 +- .../unmerged.produce.message.value.10k/client.rpt | 2 +- .../unmerged.produce.message.value.10k/server.rpt | 2 +- .../unmerged.produce.message.values.dynamic.hashed/client.rpt | 2 +- .../unmerged.produce.message.values.dynamic.hashed/server.rpt | 2 +- .../unmerged.produce.message.values.dynamic/client.rpt | 2 +- .../unmerged.produce.message.values.dynamic/server.rpt | 2 +- .../unmerged.produce.message.values.null/client.rpt | 2 +- .../unmerged.produce.message.values.null/server.rpt | 2 +- .../unmerged.produce.message.values/client.rpt | 2 +- .../unmerged.produce.message.values/server.rpt | 2 +- .../aklivity/zilla/specs/binding/kafka/config/SchemaTest.java | 2 +- .../specs/binding/kafka/internal/KafkaFunctionsTest.java | 2 +- .../binding/kafka/streams/application/AlterConfigsIT.java | 2 +- .../specs/binding/kafka/streams/application/BootstrapIT.java | 2 +- .../specs/binding/kafka/streams/application/ConsumerIT.java | 2 +- .../binding/kafka/streams/application/CreateTopicsIT.java | 2 +- .../binding/kafka/streams/application/DeleteTopicsIT.java | 2 +- .../binding/kafka/streams/application/DescribeClusterIT.java | 2 +- .../specs/binding/kafka/streams/application/DescribeIT.java | 2 +- .../specs/binding/kafka/streams/application/FetchIT.java | 2 +- .../specs/binding/kafka/streams/application/GroupIT.java | 2 +- .../binding/kafka/streams/application/InitProducerIdIT.java | 2 +- .../specs/binding/kafka/streams/application/MergedIT.java | 2 +- .../zilla/specs/binding/kafka/streams/application/MetaIT.java | 2 +- .../binding/kafka/streams/application/OffsetCommitIT.java | 2 +- .../binding/kafka/streams/application/OffsetFetchIT.java | 2 +- .../specs/binding/kafka/streams/application/ProduceIT.java | 2 +- .../specs/binding/kafka/streams/network/AlterConfigsIT.java | 2 +- .../binding/kafka/streams/network/AlterConfigsSaslIT.java | 2 +- .../specs/binding/kafka/streams/network/CreateTopicsIT.java | 2 +- .../binding/kafka/streams/network/CreateTopicsSaslIT.java | 2 +- .../specs/binding/kafka/streams/network/DeleteTopicsIT.java | 2 +- .../binding/kafka/streams/network/DeleteTopicsSaslIT.java | 2 +- .../binding/kafka/streams/network/DescribeClusterIT.java | 2 +- .../binding/kafka/streams/network/DescribeClusterSaslIT.java | 2 +- .../binding/kafka/streams/network/DescribeConfigsIT.java | 2 +- .../binding/kafka/streams/network/DescribeConfigsSaslIT.java | 2 +- .../zilla/specs/binding/kafka/streams/network/FetchIT.java | 2 +- .../specs/binding/kafka/streams/network/FetchSaslIT.java | 2 +- .../zilla/specs/binding/kafka/streams/network/GroupIT.java | 2 +- .../specs/binding/kafka/streams/network/GroupSaslIT.java | 2 +- .../specs/binding/kafka/streams/network/InitProducerIdIT.java | 2 +- .../binding/kafka/streams/network/InitProducerIdSaslIT.java | 2 +- .../zilla/specs/binding/kafka/streams/network/MetadataIT.java | 2 +- .../specs/binding/kafka/streams/network/MetadataSaslIT.java | 2 +- .../specs/binding/kafka/streams/network/OffsetCommitIT.java | 2 +- .../binding/kafka/streams/network/OffsetCommitSaslIT.java | 2 +- .../specs/binding/kafka/streams/network/OffsetFetchIT.java | 2 +- .../binding/kafka/streams/network/OffsetFetchSaslIT.java | 2 +- .../zilla/specs/binding/kafka/streams/network/ProduceIT.java | 2 +- .../specs/binding/kafka/streams/network/ProduceSaslIT.java | 2 +- .../zilla/specs/binding/kafka/streams/network/UnmergedIT.java | 2 +- .../specs/binding/mqtt/kafka/internal/MqttKafkaFunctions.java | 3 +-- .../src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/mqtt_kafka.idl | 3 +-- .../specs/binding/mqtt/kafka/config/proxy.log.event.yaml | 2 +- .../zilla/specs/binding/mqtt/kafka/config/proxy.options.yaml | 2 +- .../binding/mqtt/kafka/config/proxy.publish.qos.max.yaml | 2 +- .../mqtt/kafka/config/proxy.when.client.topic.space.yaml | 2 +- .../mqtt/kafka/config/proxy.when.publish.topic.invalid.yaml | 2 +- .../config/proxy.when.publish.topic.with.messages.params.yaml | 2 +- .../kafka/config/proxy.when.publish.topic.with.messages.yaml | 2 +- .../mqtt/kafka/config/proxy.when.subscribe.topic.invalid.yaml | 2 +- .../proxy.when.subscribe.topic.with.messages.params.yaml | 2 +- .../config/proxy.when.subscribe.topic.with.messages.yaml | 2 +- .../aklivity/zilla/specs/binding/mqtt/kafka/config/proxy.yaml | 2 +- .../binding/mqtt/kafka/streams/kafka/publish.10k/client.rpt | 2 +- .../binding/mqtt/kafka/streams/kafka/publish.10k/server.rpt | 2 +- .../kafka/streams/kafka/publish.client.sent.abort/client.rpt | 2 +- .../kafka/streams/kafka/publish.client.sent.abort/server.rpt | 2 +- .../kafka/streams/kafka/publish.client.sent.reset/client.rpt | 2 +- .../kafka/streams/kafka/publish.client.sent.reset/server.rpt | 2 +- .../kafka/streams/kafka/publish.client.topic.space/client.rpt | 2 +- .../kafka/streams/kafka/publish.client.topic.space/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.empty.message/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.empty.message/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.mixture.qos/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.mixture.qos/server.rpt | 2 +- .../kafka/streams/kafka/publish.multiple.clients/client.rpt | 2 +- .../kafka/streams/kafka/publish.multiple.clients/server.rpt | 2 +- .../kafka/streams/kafka/publish.multiple.messages/client.rpt | 2 +- .../kafka/streams/kafka/publish.multiple.messages/server.rpt | 2 +- .../kafka/publish.one.message.changed.topic.name/client.rpt | 2 +- .../kafka/publish.one.message.changed.topic.name/server.rpt | 2 +- .../kafka/publish.one.message.resolve.topic.params/client.rpt | 2 +- .../kafka/publish.one.message.resolve.topic.params/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.one.message/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.one.message/server.rpt | 2 +- .../binding/mqtt/kafka/streams/kafka/publish.qos1/client.rpt | 2 +- .../binding/mqtt/kafka/streams/kafka/publish.qos1/server.rpt | 2 +- .../streams/kafka/publish.qos2.init.producer.abort/client.rpt | 2 +- .../streams/kafka/publish.qos2.init.producer.abort/server.rpt | 2 +- .../kafka/streams/kafka/publish.qos2.meta.abort/client.rpt | 2 +- .../kafka/streams/kafka/publish.qos2.meta.abort/server.rpt | 2 +- .../kafka/publish.qos2.offset.commit.abort.phase1/client.rpt | 2 +- .../kafka/publish.qos2.offset.commit.abort.phase1/server.rpt | 2 +- .../kafka/publish.qos2.offset.commit.abort.phase2/client.rpt | 2 +- .../kafka/publish.qos2.offset.commit.abort.phase2/server.rpt | 2 +- .../streams/kafka/publish.qos2.offset.fetch.abort/client.rpt | 2 +- .../streams/kafka/publish.qos2.offset.fetch.abort/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.qos2.recovery/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.qos2.recovery/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.qos2.retained/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.qos2.retained/server.rpt | 2 +- .../binding/mqtt/kafka/streams/kafka/publish.qos2/client.rpt | 2 +- .../binding/mqtt/kafka/streams/kafka/publish.qos2/server.rpt | 2 +- .../streams/kafka/publish.reject.large.message/client.rpt | 2 +- .../streams/kafka/publish.reject.large.message/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.reject.qos2/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.reject.qos2/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.retained.10k/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.retained.10k/server.rpt | 2 +- .../kafka/publish.retained.server.sent.abort/client.rpt | 2 +- .../kafka/publish.retained.server.sent.abort/server.rpt | 2 +- .../kafka/publish.retained.server.sent.data/client.rpt | 2 +- .../kafka/publish.retained.server.sent.data/server.rpt | 2 +- .../kafka/publish.retained.server.sent.reset/client.rpt | 2 +- .../kafka/publish.retained.server.sent.reset/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.retained/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.retained/server.rpt | 2 +- .../kafka/streams/kafka/publish.server.sent.abort/client.rpt | 2 +- .../kafka/streams/kafka/publish.server.sent.abort/server.rpt | 2 +- .../kafka/streams/kafka/publish.server.sent.data/client.rpt | 2 +- .../kafka/streams/kafka/publish.server.sent.data/server.rpt | 2 +- .../kafka/streams/kafka/publish.server.sent.reset/client.rpt | 2 +- .../kafka/streams/kafka/publish.server.sent.reset/server.rpt | 2 +- .../streams/kafka/publish.topic.space.with.params/client.rpt | 2 +- .../streams/kafka/publish.topic.space.with.params/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.topic.space/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/publish.topic.space/server.rpt | 2 +- .../kafka/publish.with.user.properties.distinct/client.rpt | 2 +- .../kafka/publish.with.user.properties.distinct/server.rpt | 2 +- .../kafka/publish.with.user.properties.repeated/client.rpt | 2 +- .../kafka/publish.with.user.properties.repeated/server.rpt | 2 +- .../kafka/streams/kafka/publish.with.user.property/client.rpt | 2 +- .../kafka/streams/kafka/publish.with.user.property/server.rpt | 2 +- .../kafka/session.abort.expire.session.state/client.rpt | 2 +- .../kafka/session.abort.expire.session.state/server.rpt | 2 +- .../kafka/session.abort.reconnect.non.clean.start/client.rpt | 2 +- .../kafka/session.abort.reconnect.non.clean.start/server.rpt | 2 +- .../streams/kafka/session.cancel.session.expiry/client.rpt | 2 +- .../streams/kafka/session.cancel.session.expiry/server.rpt | 2 +- .../kafka/streams/kafka/session.client.sent.reset/client.rpt | 2 +- .../kafka/streams/kafka/session.client.sent.reset/server.rpt | 2 +- .../kafka/streams/kafka/session.client.takeover/client.rpt | 2 +- .../kafka/streams/kafka/session.client.takeover/server.rpt | 2 +- .../kafka/session.close.expire.session.state/client.rpt | 2 +- .../kafka/session.close.expire.session.state/server.rpt | 2 +- .../session.connect.override.max.session.expiry/client.rpt | 2 +- .../session.connect.override.max.session.expiry/server.rpt | 2 +- .../session.connect.override.min.session.expiry/client.rpt | 2 +- .../session.connect.override.min.session.expiry/server.rpt | 2 +- .../kafka/streams/kafka/session.exists.clean.start/client.rpt | 2 +- .../kafka/streams/kafka/session.exists.clean.start/server.rpt | 2 +- .../session.expiry.after.signal.stream.restart/client.rpt | 2 +- .../session.expiry.after.signal.stream.restart/server.rpt | 2 +- .../session.group.reset.invalid.describe.config/client.rpt | 2 +- .../session.group.reset.invalid.describe.config/server.rpt | 2 +- .../session.group.reset.invalid.session.timeout/client.rpt | 2 +- .../session.group.reset.invalid.session.timeout/server.rpt | 2 +- .../kafka/session.group.reset.not.authorized/client.rpt | 2 +- .../kafka/session.group.reset.not.authorized/server.rpt | 2 +- .../streams/kafka/session.group.server.sent.reset/client.rpt | 2 +- .../streams/kafka/session.group.server.sent.reset/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/session.redirect/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/session.redirect/server.rpt | 2 +- .../session.reject.non.compacted.sessions.topic/client.rpt | 2 +- .../session.reject.non.compacted.sessions.topic/server.rpt | 2 +- .../kafka/streams/kafka/session.server.sent.reset/client.rpt | 2 +- .../kafka/streams/kafka/session.server.sent.reset/server.rpt | 2 +- .../kafka/session.session.expiry.fragmented/client.rpt | 2 +- .../kafka/session.session.expiry.fragmented/server.rpt | 2 +- .../kafka/session.subscribe.via.session.state/client.rpt | 2 +- .../kafka/session.subscribe.via.session.state/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/session.subscribe/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/session.subscribe/server.rpt | 2 +- .../kafka/session.unsubscribe.after.subscribe/client.rpt | 2 +- .../kafka/session.unsubscribe.after.subscribe/server.rpt | 2 +- .../kafka/session.unsubscribe.via.session.state/client.rpt | 2 +- .../kafka/session.unsubscribe.via.session.state/server.rpt | 2 +- .../session.will.message.10k.abort.deliver.will/client.rpt | 2 +- .../session.will.message.10k.abort.deliver.will/server.rpt | 2 +- .../session.will.message.abort.deliver.will.retain/client.rpt | 2 +- .../session.will.message.abort.deliver.will.retain/server.rpt | 2 +- .../kafka/session.will.message.abort.deliver.will/client.rpt | 2 +- .../kafka/session.will.message.abort.deliver.will/server.rpt | 2 +- .../kafka/session.will.message.cancel.delivery/client.rpt | 2 +- .../kafka/session.will.message.cancel.delivery/server.rpt | 2 +- .../streams/kafka/session.will.message.clean.start/client.rpt | 2 +- .../streams/kafka/session.will.message.clean.start/server.rpt | 2 +- .../kafka/session.will.message.normal.disconnect/client.rpt | 2 +- .../kafka/session.will.message.normal.disconnect/server.rpt | 2 +- .../session.will.message.takeover.deliver.will/client.rpt | 2 +- .../session.will.message.takeover.deliver.will/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../kafka/session.will.stream.abort.reconnect/client.rpt | 2 +- .../kafka/session.will.stream.abort.reconnect/server.rpt | 3 +-- .../kafka/session.will.stream.end.reconnect/client.rpt | 2 +- .../kafka/session.will.stream.end.reconnect/server.rpt | 3 +-- .../kafka/session.will.stream.reset.reconnect/client.rpt | 2 +- .../kafka/session.will.stream.reset.reconnect/server.rpt | 3 +-- .../subscribe.bootstrap.stream.abort.reconnect/client.rpt | 2 +- .../subscribe.bootstrap.stream.abort.reconnect/server.rpt | 2 +- .../kafka/subscribe.bootstrap.stream.end.reconnect/client.rpt | 2 +- .../kafka/subscribe.bootstrap.stream.end.reconnect/server.rpt | 2 +- .../subscribe.bootstrap.stream.reset.reconnect/client.rpt | 2 +- .../subscribe.bootstrap.stream.reset.reconnect/server.rpt | 2 +- .../streams/kafka/subscribe.client.sent.abort/client.rpt | 2 +- .../streams/kafka/subscribe.client.sent.abort/server.rpt | 2 +- .../kafka/streams/kafka/subscribe.client.sent.data/client.rpt | 2 +- .../kafka/streams/kafka/subscribe.client.sent.data/server.rpt | 2 +- .../streams/kafka/subscribe.client.sent.reset/client.rpt | 2 +- .../streams/kafka/subscribe.client.sent.reset/server.rpt | 2 +- .../streams/kafka/subscribe.client.topic.space/client.rpt | 2 +- .../streams/kafka/subscribe.client.topic.space/server.rpt | 2 +- .../kafka/subscribe.deferred.filter.change.retain/client.rpt | 2 +- .../kafka/subscribe.deferred.filter.change.retain/server.rpt | 2 +- .../kafka/subscribe.expire.message.fragmented/client.rpt | 2 +- .../kafka/subscribe.expire.message.fragmented/server.rpt | 2 +- .../kafka/streams/kafka/subscribe.expire.message/client.rpt | 2 +- .../kafka/streams/kafka/subscribe.expire.message/server.rpt | 2 +- .../kafka/subscribe.filter.change.retain.buffer/client.rpt | 2 +- .../kafka/subscribe.filter.change.retain.buffer/server.rpt | 2 +- .../subscribe.filter.change.retain.resubscribe/client.rpt | 2 +- .../subscribe.filter.change.retain.resubscribe/server.rpt | 2 +- .../streams/kafka/subscribe.filter.change.retain/client.rpt | 2 +- .../streams/kafka/subscribe.filter.change.retain/server.rpt | 2 +- .../kafka/streams/kafka/subscribe.multiple.message/client.rpt | 2 +- .../kafka/streams/kafka/subscribe.multiple.message/server.rpt | 2 +- .../kafka/subscribe.one.message.changed.topic.name/client.rpt | 2 +- .../kafka/subscribe.one.message.changed.topic.name/server.rpt | 2 +- .../streams/kafka/subscribe.one.message.fragmented/client.rpt | 2 +- .../streams/kafka/subscribe.one.message.fragmented/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.one.message.resolve.topic.params/client.rpt | 2 +- .../subscribe.one.message.resolve.topic.params/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../mqtt/kafka/streams/kafka/subscribe.one.message/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/subscribe.one.message/server.rpt | 2 +- .../kafka/streams/kafka/subscribe.publish.no.local/client.rpt | 2 +- .../kafka/streams/kafka/subscribe.publish.no.local/server.rpt | 2 +- .../kafka/subscribe.qos2.version1.offset.metadata/client.rpt | 2 +- .../kafka/subscribe.qos2.version1.offset.metadata/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/client.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/server.rpt | 2 +- .../subscribe.receive.message.qos1.published.qos2/client.rpt | 2 +- .../subscribe.receive.message.qos1.published.qos2/server.rpt | 2 +- .../streams/kafka/subscribe.receive.message.qos1/client.rpt | 2 +- .../streams/kafka/subscribe.receive.message.qos1/server.rpt | 2 +- .../streams/kafka/subscribe.receive.message.qos2/client.rpt | 2 +- .../streams/kafka/subscribe.receive.message.qos2/server.rpt | 2 +- .../kafka/subscribe.receive.message.wildcard/client.rpt | 2 +- .../kafka/subscribe.receive.message.wildcard/server.rpt | 2 +- .../kafka/subscribe.receive.messages.mixture.qos/client.rpt | 2 +- .../kafka/subscribe.receive.messages.mixture.qos/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../kafka/subscribe.replay.retained.message.qos1/client.rpt | 2 +- .../kafka/subscribe.replay.retained.message.qos1/server.rpt | 2 +- .../kafka/subscribe.replay.retained.message.qos2/client.rpt | 3 +-- .../kafka/subscribe.replay.retained.message.qos2/server.rpt | 2 +- .../streams/kafka/subscribe.retain.fragmented/client.rpt | 2 +- .../streams/kafka/subscribe.retain.fragmented/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/subscribe.retain/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/subscribe.retain/server.rpt | 2 +- .../kafka/subscribe.retained.server.sent.abort/client.rpt | 2 +- .../kafka/subscribe.retained.server.sent.abort/server.rpt | 2 +- .../kafka/subscribe.retained.server.sent.reset/client.rpt | 2 +- .../kafka/subscribe.retained.server.sent.reset/server.rpt | 2 +- .../streams/kafka/subscribe.server.sent.abort/client.rpt | 2 +- .../streams/kafka/subscribe.server.sent.abort/server.rpt | 2 +- .../streams/kafka/subscribe.server.sent.flush/client.rpt | 2 +- .../streams/kafka/subscribe.server.sent.flush/server.rpt | 2 +- .../streams/kafka/subscribe.server.sent.reset/client.rpt | 2 +- .../streams/kafka/subscribe.server.sent.reset/server.rpt | 2 +- .../subscribe.topic.filter.multi.level.wildcard/client.rpt | 2 +- .../subscribe.topic.filter.multi.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/client.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/client.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.isolated.both.exact/client.rpt | 2 +- .../subscribe.topic.filters.isolated.both.exact/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/client.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/server.rpt | 2 +- .../mqtt/kafka/streams/kafka/subscribe.topic.space/client.rpt | 2 +- .../mqtt/kafka/streams/kafka/subscribe.topic.space/server.rpt | 2 +- .../streams/kafka/unsubscribe.after.subscribe/client.rpt | 2 +- .../streams/kafka/unsubscribe.after.subscribe/server.rpt | 2 +- .../streams/kafka/unsubscribe.topic.filter.single/client.rpt | 2 +- .../streams/kafka/unsubscribe.topic.filter.single/server.rpt | 2 +- .../binding/mqtt/kafka/streams/mqtt/publish.10k/client.rpt | 3 +-- .../binding/mqtt/kafka/streams/mqtt/publish.10k/server.rpt | 3 +-- .../kafka/streams/mqtt/publish.client.sent.abort/client.rpt | 2 +- .../kafka/streams/mqtt/publish.client.sent.abort/server.rpt | 2 +- .../kafka/streams/mqtt/publish.client.sent.reset/client.rpt | 2 +- .../kafka/streams/mqtt/publish.client.sent.reset/server.rpt | 2 +- .../kafka/streams/mqtt/publish.client.topic.space/client.rpt | 2 +- .../kafka/streams/mqtt/publish.client.topic.space/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.empty.message/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.empty.message/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.mixture.qos/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.mixture.qos/server.rpt | 2 +- .../kafka/streams/mqtt/publish.multiple.clients/client.rpt | 2 +- .../kafka/streams/mqtt/publish.multiple.clients/server.rpt | 2 +- .../kafka/streams/mqtt/publish.multiple.messages/client.rpt | 2 +- .../kafka/streams/mqtt/publish.multiple.messages/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.one.message/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.one.message/server.rpt | 2 +- .../binding/mqtt/kafka/streams/mqtt/publish.qos1/client.rpt | 2 +- .../binding/mqtt/kafka/streams/mqtt/publish.qos1/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.qos2.abort/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.qos2.abort/server.rpt | 2 +- .../mqtt/publish.qos2.offset.commit.abort.phase1/client.rpt | 2 +- .../mqtt/publish.qos2.offset.commit.abort.phase1/server.rpt | 2 +- .../mqtt/publish.qos2.offset.commit.abort.phase2/client.rpt | 2 +- .../mqtt/publish.qos2.offset.commit.abort.phase2/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.qos2.recovery/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.qos2.recovery/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.qos2.retained/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.qos2.retained/server.rpt | 2 +- .../binding/mqtt/kafka/streams/mqtt/publish.qos2/client.rpt | 2 +- .../binding/mqtt/kafka/streams/mqtt/publish.qos2/server.rpt | 2 +- .../streams/mqtt/publish.reject.large.message/client.rpt | 2 +- .../streams/mqtt/publish.reject.large.message/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.reject.qos2/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.reject.qos2/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.retained.10k/client.rpt | 3 +-- .../mqtt/kafka/streams/mqtt/publish.retained.10k/server.rpt | 3 +-- .../mqtt/publish.retained.server.sent.abort/client.rpt | 2 +- .../mqtt/publish.retained.server.sent.abort/server.rpt | 2 +- .../streams/mqtt/publish.retained.server.sent.data/client.rpt | 2 +- .../streams/mqtt/publish.retained.server.sent.data/server.rpt | 2 +- .../mqtt/publish.retained.server.sent.reset/client.rpt | 2 +- .../mqtt/publish.retained.server.sent.reset/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.retained/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.retained/server.rpt | 2 +- .../kafka/streams/mqtt/publish.server.sent.abort/client.rpt | 2 +- .../kafka/streams/mqtt/publish.server.sent.abort/server.rpt | 2 +- .../kafka/streams/mqtt/publish.server.sent.data/client.rpt | 2 +- .../kafka/streams/mqtt/publish.server.sent.data/server.rpt | 2 +- .../kafka/streams/mqtt/publish.server.sent.reset/client.rpt | 2 +- .../kafka/streams/mqtt/publish.server.sent.reset/server.rpt | 2 +- .../streams/mqtt/publish.topic.space.with.params/client.rpt | 2 +- .../streams/mqtt/publish.topic.space.with.params/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.topic.space/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/publish.topic.space/server.rpt | 2 +- .../mqtt/publish.with.user.properties.distinct/client.rpt | 2 +- .../mqtt/publish.with.user.properties.distinct/server.rpt | 2 +- .../mqtt/publish.with.user.properties.repeated/client.rpt | 2 +- .../mqtt/publish.with.user.properties.repeated/server.rpt | 2 +- .../kafka/streams/mqtt/publish.with.user.property/client.rpt | 2 +- .../kafka/streams/mqtt/publish.with.user.property/server.rpt | 2 +- .../mqtt/session.abort.expire.session.state/client.rpt | 2 +- .../mqtt/session.abort.expire.session.state/server.rpt | 2 +- .../mqtt/session.abort.reconnect.non.clean.start/client.rpt | 2 +- .../mqtt/session.abort.reconnect.non.clean.start/server.rpt | 3 +-- .../kafka/streams/mqtt/session.client.sent.reset/client.rpt | 2 +- .../kafka/streams/mqtt/session.client.sent.reset/server.rpt | 2 +- .../kafka/streams/mqtt/session.client.takeover/client.rpt | 2 +- .../kafka/streams/mqtt/session.client.takeover/server.rpt | 2 +- .../mqtt/session.close.expire.session.state/client.rpt | 2 +- .../mqtt/session.close.expire.session.state/server.rpt | 2 +- .../session.connect.override.max.session.expiry/client.rpt | 2 +- .../session.connect.override.max.session.expiry/server.rpt | 2 +- .../session.connect.override.min.session.expiry/client.rpt | 2 +- .../session.connect.override.min.session.expiry/server.rpt | 2 +- .../kafka/streams/mqtt/session.exists.clean.start/client.rpt | 3 +-- .../kafka/streams/mqtt/session.exists.clean.start/server.rpt | 2 +- .../session.group.reset.invalid.describe.config/client.rpt | 2 +- .../session.group.reset.invalid.describe.config/server.rpt | 2 +- .../session.group.reset.invalid.session.timeout/client.rpt | 2 +- .../session.group.reset.invalid.session.timeout/server.rpt | 2 +- .../mqtt/session.group.reset.not.authorized/client.rpt | 2 +- .../mqtt/session.group.reset.not.authorized/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/session.redirect/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/session.redirect/server.rpt | 2 +- .../session.reject.non.compacted.sessions.topic/client.rpt | 2 +- .../session.reject.non.compacted.sessions.topic/server.rpt | 2 +- .../kafka/streams/mqtt/session.server.sent.reset/client.rpt | 2 +- .../kafka/streams/mqtt/session.server.sent.reset/server.rpt | 2 +- .../mqtt/session.subscribe.via.session.state/client.rpt | 2 +- .../mqtt/session.subscribe.via.session.state/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/session.subscribe/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/session.subscribe/server.rpt | 2 +- .../mqtt/session.unsubscribe.after.subscribe/client.rpt | 2 +- .../mqtt/session.unsubscribe.after.subscribe/server.rpt | 2 +- .../mqtt/session.unsubscribe.via.session.state/client.rpt | 2 +- .../mqtt/session.unsubscribe.via.session.state/server.rpt | 2 +- .../session.will.message.10k.abort.deliver.will/client.rpt | 2 +- .../session.will.message.10k.abort.deliver.will/server.rpt | 2 +- .../session.will.message.abort.deliver.will.retain/client.rpt | 2 +- .../session.will.message.abort.deliver.will.retain/server.rpt | 2 +- .../mqtt/session.will.message.abort.deliver.will/client.rpt | 2 +- .../mqtt/session.will.message.abort.deliver.will/server.rpt | 2 +- .../streams/mqtt/session.will.message.clean.start/client.rpt | 2 +- .../streams/mqtt/session.will.message.clean.start/server.rpt | 2 +- .../mqtt/session.will.message.normal.disconnect/client.rpt | 2 +- .../mqtt/session.will.message.normal.disconnect/server.rpt | 2 +- .../session.will.message.reconnect.non.clean.start/client.rpt | 2 +- .../session.will.message.reconnect.non.clean.start/server.rpt | 2 +- .../session.will.message.takeover.deliver.will/client.rpt | 2 +- .../session.will.message.takeover.deliver.will/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/session.will.message/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/session.will.message/server.rpt | 2 +- .../kafka/streams/mqtt/subscribe.client.sent.abort/client.rpt | 2 +- .../kafka/streams/mqtt/subscribe.client.sent.abort/server.rpt | 2 +- .../kafka/streams/mqtt/subscribe.client.sent.data/client.rpt | 2 +- .../kafka/streams/mqtt/subscribe.client.sent.data/server.rpt | 2 +- .../kafka/streams/mqtt/subscribe.client.sent.reset/client.rpt | 2 +- .../kafka/streams/mqtt/subscribe.client.sent.reset/server.rpt | 2 +- .../streams/mqtt/subscribe.client.topic.space/client.rpt | 2 +- .../streams/mqtt/subscribe.client.topic.space/server.rpt | 2 +- .../mqtt/subscribe.deferred.filter.change.retain/client.rpt | 2 +- .../mqtt/subscribe.deferred.filter.change.retain/server.rpt | 2 +- .../kafka/streams/mqtt/subscribe.expire.message/client.rpt | 2 +- .../kafka/streams/mqtt/subscribe.expire.message/server.rpt | 2 +- .../subscribe.filter.change.retain.resubscribe/client.rpt | 2 +- .../subscribe.filter.change.retain.resubscribe/server.rpt | 2 +- .../streams/mqtt/subscribe.filter.change.retain/client.rpt | 2 +- .../streams/mqtt/subscribe.filter.change.retain/server.rpt | 2 +- .../kafka/streams/mqtt/subscribe.multiple.message/client.rpt | 2 +- .../kafka/streams/mqtt/subscribe.multiple.message/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 3 +-- .../server.rpt | 3 +-- .../mqtt/kafka/streams/mqtt/subscribe.one.message/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/subscribe.one.message/server.rpt | 2 +- .../kafka/streams/mqtt/subscribe.publish.no.local/client.rpt | 2 +- .../kafka/streams/mqtt/subscribe.publish.no.local/server.rpt | 2 +- .../mqtt/subscribe.qos2.version1.offset.metadata/client.rpt | 2 +- .../mqtt/subscribe.qos2.version1.offset.metadata/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/client.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/server.rpt | 2 +- .../subscribe.receive.message.qos1.published.qos2/client.rpt | 2 +- .../subscribe.receive.message.qos1.published.qos2/server.rpt | 2 +- .../streams/mqtt/subscribe.receive.message.qos1/client.rpt | 2 +- .../streams/mqtt/subscribe.receive.message.qos1/server.rpt | 2 +- .../streams/mqtt/subscribe.receive.message.qos2/client.rpt | 2 +- .../streams/mqtt/subscribe.receive.message.qos2/server.rpt | 2 +- .../mqtt/subscribe.receive.message.wildcard/client.rpt | 2 +- .../mqtt/subscribe.receive.message.wildcard/server.rpt | 2 +- .../mqtt/subscribe.receive.messages.mixture.qos/client.rpt | 2 +- .../mqtt/subscribe.receive.messages.mixture.qos/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../mqtt/subscribe.replay.retained.message.qos1/client.rpt | 2 +- .../mqtt/subscribe.replay.retained.message.qos1/server.rpt | 2 +- .../mqtt/subscribe.replay.retained.message.qos2/client.rpt | 2 +- .../mqtt/subscribe.replay.retained.message.qos2/server.rpt | 2 +- .../streams/mqtt/subscribe.retain.as.published/client.rpt | 2 +- .../streams/mqtt/subscribe.retain.as.published/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/subscribe.retain/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/subscribe.retain/server.rpt | 2 +- .../mqtt/subscribe.retained.server.sent.abort/client.rpt | 2 +- .../mqtt/subscribe.retained.server.sent.abort/server.rpt | 2 +- .../mqtt/subscribe.retained.server.sent.flush/client.rpt | 2 +- .../mqtt/subscribe.retained.server.sent.flush/server.rpt | 2 +- .../mqtt/subscribe.retained.server.sent.reset/client.rpt | 2 +- .../mqtt/subscribe.retained.server.sent.reset/server.rpt | 2 +- .../kafka/streams/mqtt/subscribe.server.sent.abort/client.rpt | 2 +- .../kafka/streams/mqtt/subscribe.server.sent.abort/server.rpt | 2 +- .../kafka/streams/mqtt/subscribe.server.sent.flush/client.rpt | 2 +- .../kafka/streams/mqtt/subscribe.server.sent.flush/server.rpt | 2 +- .../kafka/streams/mqtt/subscribe.server.sent.reset/client.rpt | 2 +- .../kafka/streams/mqtt/subscribe.server.sent.reset/server.rpt | 2 +- .../subscribe.topic.filter.multi.level.wildcard/client.rpt | 2 +- .../subscribe.topic.filter.multi.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/client.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/client.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.isolated.both.exact/client.rpt | 2 +- .../subscribe.topic.filters.isolated.both.exact/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/client.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/server.rpt | 2 +- .../mqtt/kafka/streams/mqtt/subscribe.topic.space/client.rpt | 2 +- .../mqtt/kafka/streams/mqtt/subscribe.topic.space/server.rpt | 2 +- .../kafka/streams/mqtt/unsubscribe.after.subscribe/client.rpt | 2 +- .../kafka/streams/mqtt/unsubscribe.after.subscribe/server.rpt | 2 +- .../streams/mqtt/unsubscribe.topic.filter.single/client.rpt | 2 +- .../streams/mqtt/unsubscribe.topic.filter.single/server.rpt | 2 +- .../zilla/specs/binding/mqtt/kafka/config/SchemaTest.java | 2 +- .../binding/mqtt/kafka/internal/MqttKafkaFunctionsTest.java | 3 +-- .../zilla/specs/binding/mqtt/kafka/streams/KafkaIT.java | 2 +- .../zilla/specs/binding/mqtt/kafka/streams/MqttIT.java | 2 +- .../zilla/specs/binding/mqtt/internal/MqttFunctions.java | 2 +- specs/binding-mqtt.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/mqtt.idl | 2 +- .../binding/mqtt/config/client.credentials.password.yaml | 2 +- .../binding/mqtt/config/client.credentials.username.yaml | 2 +- .../binding/mqtt/config/client.when.topic.or.sessions.yaml | 2 +- .../zilla/specs/binding/mqtt/config/client.when.topic.yaml | 2 +- .../io/aklivity/zilla/specs/binding/mqtt/config/client.yaml | 2 +- .../binding/mqtt/config/server.credentials.password.yaml | 2 +- .../binding/mqtt/config/server.credentials.username.yaml | 2 +- .../zilla/specs/binding/mqtt/config/server.log.event.yaml | 2 +- .../specs/binding/mqtt/config/server.protocol.version.yaml | 2 +- .../specs/binding/mqtt/config/server.route.non.default.yaml | 2 +- .../binding/mqtt/config/server.user.properties.validator.yaml | 2 +- .../zilla/specs/binding/mqtt/config/server.validator.yaml | 2 +- .../mqtt/config/server.when.publish.topic.invalid.yaml | 2 +- .../mqtt/config/server.when.subscribe.topic.invalid.yaml | 2 +- .../io/aklivity/zilla/specs/binding/mqtt/config/server.yaml | 2 +- .../mqtt/streams/application/client.sent.abort/client.rpt | 2 +- .../mqtt/streams/application/client.sent.abort/server.rpt | 2 +- .../mqtt/streams/application/client.sent.close/client.rpt | 2 +- .../mqtt/streams/application/client.sent.close/server.rpt | 2 +- .../connect.delegate.connack.properties/client.rpt | 2 +- .../connect.delegate.connack.properties/server.rpt | 2 +- .../application/connect.max.packet.size.exceeded/client.rpt | 2 +- .../application/connect.max.packet.size.exceeded/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../mqtt/streams/application/connect.maximum.qos.0/client.rpt | 2 +- .../mqtt/streams/application/connect.maximum.qos.0/server.rpt | 2 +- .../application/connect.non.successful.connack/client.rpt | 2 +- .../application/connect.non.successful.connack/server.rpt | 2 +- .../application/connect.non.successful.disconnect/client.rpt | 2 +- .../application/connect.non.successful.disconnect/server.rpt | 2 +- .../connect.reject.will.retain.not.supported/client.rpt | 2 +- .../connect.reject.will.retain.not.supported/server.rpt | 2 +- .../application/connect.retain.not.supported/client.rpt | 2 +- .../application/connect.retain.not.supported/server.rpt | 2 +- .../disconnect.after.subscribe.and.publish/client.rpt | 2 +- .../disconnect.after.subscribe.and.publish/server.rpt | 2 +- .../binding/mqtt/streams/application/publish.10k/client.rpt | 2 +- .../binding/mqtt/streams/application/publish.10k/server.rpt | 2 +- .../mqtt/streams/application/publish.empty.message/client.rpt | 2 +- .../mqtt/streams/application/publish.empty.message/server.rpt | 2 +- .../application/publish.empty.retained.message/client.rpt | 2 +- .../application/publish.empty.retained.message/server.rpt | 2 +- .../application/publish.message.with.topic.alias/client.rpt | 2 +- .../application/publish.message.with.topic.alias/server.rpt | 2 +- .../publish.messages.with.topic.alias.distinct/client.rpt | 2 +- .../publish.messages.with.topic.alias.distinct/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../publish.messages.with.topic.alias.repeated/client.rpt | 2 +- .../publish.messages.with.topic.alias.repeated/server.rpt | 2 +- .../publish.messages.with.topic.alias.replaced/client.rpt | 2 +- .../publish.messages.with.topic.alias.replaced/server.rpt | 2 +- .../mqtt/streams/application/publish.mixture.qos/client.rpt | 2 +- .../mqtt/streams/application/publish.mixture.qos/server.rpt | 2 +- .../streams/application/publish.multiple.clients/client.rpt | 2 +- .../streams/application/publish.multiple.clients/server.rpt | 2 +- .../application/publish.multiple.messages.timeout/client.rpt | 2 +- .../application/publish.multiple.messages.timeout/server.rpt | 2 +- .../streams/application/publish.multiple.messages/client.rpt | 2 +- .../streams/application/publish.multiple.messages/server.rpt | 2 +- .../application/publish.one.message.properties/client.rpt | 2 +- .../application/publish.one.message.properties/server.rpt | 2 +- .../application/publish.qos1.dup.after.puback/client.rpt | 2 +- .../application/publish.qos1.dup.after.puback/server.rpt | 2 +- .../application/publish.qos2.ack.with.reasoncode/client.rpt | 2 +- .../application/publish.qos2.ack.with.reasoncode/server.rpt | 2 +- .../publish.qos2.no.dupicate.before.pubrel/client.rpt | 2 +- .../publish.qos2.no.dupicate.before.pubrel/server.rpt | 2 +- .../mqtt/streams/application/publish.qos2.recovery/client.rpt | 2 +- .../mqtt/streams/application/publish.qos2.recovery/server.rpt | 2 +- .../application/publish.reject.large.message/client.rpt | 2 +- .../application/publish.reject.large.message/server.rpt | 2 +- .../application/publish.reject.qos.not.supported/client.rpt | 2 +- .../application/publish.reject.qos.not.supported/server.rpt | 2 +- .../publish.reject.retain.not.supported/client.rpt | 2 +- .../publish.reject.retain.not.supported/server.rpt | 2 +- .../mqtt/streams/application/publish.retained/client.rpt | 2 +- .../mqtt/streams/application/publish.retained/server.rpt | 2 +- .../streams/application/publish.session.takeover/client.rpt | 2 +- .../streams/application/publish.session.takeover/server.rpt | 2 +- .../streams/application/publish.subscribe.batched/client.rpt | 2 +- .../streams/application/publish.subscribe.batched/server.rpt | 2 +- .../mqtt/streams/application/publish.unroutable/client.rpt | 2 +- .../mqtt/streams/application/publish.unroutable/server.rpt | 2 +- .../mqtt/streams/application/publish.valid.message/client.rpt | 2 +- .../mqtt/streams/application/publish.valid.message/server.rpt | 2 +- .../application/publish.valid.user.property/client.rpt | 2 +- .../application/publish.valid.user.property/server.rpt | 2 +- .../publish.with.user.properties.distinct/client.rpt | 2 +- .../publish.with.user.properties.distinct/server.rpt | 2 +- .../publish.with.user.properties.repeated/client.rpt | 2 +- .../publish.with.user.properties.repeated/server.rpt | 2 +- .../streams/application/publish.with.user.property/client.rpt | 2 +- .../streams/application/publish.with.user.property/server.rpt | 2 +- .../session.abort.reconnect.non.clean.start/client.rpt | 2 +- .../session.abort.reconnect.non.clean.start/server.rpt | 2 +- .../streams/application/session.client.takeover/client.rpt | 2 +- .../streams/application/session.client.takeover/server.rpt | 2 +- .../mqtt/streams/application/session.connect.abort/client.rpt | 2 +- .../mqtt/streams/application/session.connect.abort/server.rpt | 2 +- .../application/session.connect.authorization/client.rpt | 2 +- .../application/session.connect.authorization/server.rpt | 2 +- .../session.connect.override.session.expiry/client.rpt | 2 +- .../session.connect.override.session.expiry/server.rpt | 2 +- .../application/session.connect.redirect.support/client.rpt | 2 +- .../application/session.connect.redirect.support/server.rpt | 2 +- .../session.connect.with.session.expiry/client.rpt | 2 +- .../session.connect.with.session.expiry/server.rpt | 2 +- .../mqtt/streams/application/session.connect/client.rpt | 2 +- .../mqtt/streams/application/session.connect/server.rpt | 2 +- .../streams/application/session.exists.clean.start/client.rpt | 2 +- .../streams/application/session.exists.clean.start/server.rpt | 2 +- .../session.invalid.session.timeout.after.connack/client.rpt | 2 +- .../session.invalid.session.timeout.after.connack/server.rpt | 2 +- .../session.invalid.session.timeout.before.connack/client.rpt | 2 +- .../session.invalid.session.timeout.before.connack/server.rpt | 2 +- .../mqtt/streams/application/session.publish/client.rpt | 2 +- .../mqtt/streams/application/session.publish/server.rpt | 2 +- .../session.reject.non.compacted.sessions.topic/client.rpt | 2 +- .../session.reject.non.compacted.sessions.topic/server.rpt | 2 +- .../session.server.redirect.after.connack/client.rpt | 2 +- .../session.server.redirect.after.connack/server.rpt | 2 +- .../session.server.redirect.before.connack/client.rpt | 2 +- .../session.server.redirect.before.connack/server.rpt | 2 +- .../streams/application/session.server.sent.abort/client.rpt | 2 +- .../streams/application/session.server.sent.abort/server.rpt | 2 +- .../application/session.subscribe.invalid.state/client.rpt | 2 +- .../application/session.subscribe.invalid.state/server.rpt | 2 +- .../session.subscribe.multiple.isolated/client.rpt | 2 +- .../session.subscribe.multiple.isolated/server.rpt | 2 +- .../application/session.subscribe.publish.routing/client.rpt | 2 +- .../application/session.subscribe.publish.routing/server.rpt | 2 +- .../session.subscribe.via.session.state/client.rpt | 2 +- .../session.subscribe.via.session.state/server.rpt | 2 +- .../mqtt/streams/application/session.subscribe/client.rpt | 2 +- .../mqtt/streams/application/session.subscribe/server.rpt | 2 +- .../session.unsubscribe.after.subscribe.deferred/client.rpt | 2 +- .../session.unsubscribe.after.subscribe.deferred/server.rpt | 2 +- .../session.unsubscribe.after.subscribe/client.rpt | 2 +- .../session.unsubscribe.after.subscribe/server.rpt | 2 +- .../session.unsubscribe.via.session.state/client.rpt | 2 +- .../session.unsubscribe.via.session.state/server.rpt | 2 +- .../streams/application/session.will.message.10k/client.rpt | 2 +- .../streams/application/session.will.message.10k/server.rpt | 2 +- .../streams/application/session.will.message.abort/client.rpt | 2 +- .../streams/application/session.will.message.abort/server.rpt | 2 +- .../session.will.message.normal.disconnect/client.rpt | 2 +- .../session.will.message.normal.disconnect/server.rpt | 2 +- .../application/session.will.message.retain/client.rpt | 2 +- .../application/session.will.message.retain/server.rpt | 2 +- .../subscribe.get.retained.as.published/client.rpt | 2 +- .../subscribe.get.retained.as.published/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../mqtt/streams/application/subscribe.one.message/client.rpt | 2 +- .../mqtt/streams/application/subscribe.one.message/server.rpt | 2 +- .../application/subscribe.publish.invalid.affinity/client.rpt | 2 +- .../application/subscribe.publish.invalid.affinity/server.rpt | 2 +- .../streams/application/subscribe.publish.no.local/client.rpt | 2 +- .../streams/application/subscribe.publish.no.local/server.rpt | 2 +- .../subscribe.qos0.publish.retained.no.replay/client.rpt | 2 +- .../subscribe.qos0.publish.retained.no.replay/server.rpt | 2 +- .../subscribe.qos0.replay.retained.no.packet.id/client.rpt | 2 +- .../subscribe.qos0.replay.retained.no.packet.id/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/client.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/server.rpt | 2 +- .../subscribe.receive.message.qos0.published.qos1/client.rpt | 2 +- .../subscribe.receive.message.qos0.published.qos1/server.rpt | 2 +- .../subscribe.receive.message.qos0.published.qos2/client.rpt | 2 +- .../subscribe.receive.message.qos0.published.qos2/server.rpt | 2 +- .../subscribe.receive.message.qos1.published.qos2/client.rpt | 2 +- .../subscribe.receive.message.qos1.published.qos2/server.rpt | 2 +- .../application/subscribe.receive.message.qos1/client.rpt | 2 +- .../application/subscribe.receive.message.qos1/server.rpt | 2 +- .../application/subscribe.receive.message.qos2/client.rpt | 2 +- .../application/subscribe.receive.message.qos2/server.rpt | 2 +- .../application/subscribe.receive.message.wildcard/client.rpt | 2 +- .../application/subscribe.receive.message.wildcard/server.rpt | 2 +- .../streams/application/subscribe.receive.message/client.rpt | 2 +- .../streams/application/subscribe.receive.message/server.rpt | 2 +- .../subscribe.receive.messages.mixture.qos/client.rpt | 2 +- .../subscribe.receive.messages.mixture.qos/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.reconnect.publish.no.subscription/client.rpt | 2 +- .../subscribe.reconnect.publish.no.subscription/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.replay.retained.message.qos1.v4/client.rpt | 2 +- .../subscribe.replay.retained.message.qos1.v4/server.rpt | 2 +- .../subscribe.replay.retained.message.qos1/client.rpt | 2 +- .../subscribe.replay.retained.message.qos1/server.rpt | 2 +- .../subscribe.replay.retained.message.qos2.v4/client.rpt | 2 +- .../subscribe.replay.retained.message.qos2.v4/server.rpt | 2 +- .../subscribe.replay.retained.message.qos2/client.rpt | 2 +- .../subscribe.replay.retained.message.qos2/server.rpt | 2 +- .../application/subscribe.retain.as.published/client.rpt | 2 +- .../application/subscribe.retain.as.published/server.rpt | 2 +- .../subscribe.topic.filter.multi.level.wildcard/client.rpt | 2 +- .../subscribe.topic.filter.multi.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filter.single.exact/client.rpt | 2 +- .../subscribe.topic.filter.single.exact/server.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/client.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/client.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.disjoint.wildcards/client.rpt | 2 +- .../subscribe.topic.filters.disjoint.wildcards/server.rpt | 2 +- .../subscribe.topic.filters.isolated.both.exact/client.rpt | 2 +- .../subscribe.topic.filters.isolated.both.exact/server.rpt | 2 +- .../subscribe.topic.filters.isolated.both.wildcard/client.rpt | 2 +- .../subscribe.topic.filters.isolated.both.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.non.successful/client.rpt | 2 +- .../subscribe.topic.filters.non.successful/server.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/client.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/server.rpt | 2 +- .../mqtt/streams/application/subscribe.unroutable/client.rpt | 2 +- .../mqtt/streams/application/subscribe.unroutable/server.rpt | 2 +- .../application/unsubscribe.after.subscribe/client.rpt | 2 +- .../application/unsubscribe.after.subscribe/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../application/unsubscribe.publish.unfragmented/client.rpt | 2 +- .../application/unsubscribe.publish.unfragmented/server.rpt | 2 +- .../application/unsubscribe.topic.filter.single/client.rpt | 2 +- .../application/unsubscribe.topic.filter.single/server.rpt | 2 +- .../unsubscribe.topic.filters.non.successful/client.rpt | 2 +- .../unsubscribe.topic.filters.non.successful/server.rpt | 2 +- .../mqtt/streams/network/v4/client.sent.abort/client.rpt | 2 +- .../mqtt/streams/network/v4/client.sent.abort/server.rpt | 2 +- .../mqtt/streams/network/v4/client.sent.close/client.rpt | 2 +- .../mqtt/streams/network/v4/client.sent.close/server.rpt | 2 +- .../mqtt/streams/network/v4/client.sent.reset/client.rpt | 2 +- .../mqtt/streams/network/v4/client.sent.reset/server.rpt | 2 +- .../v4/close.network.after.keep.alive.timeout/client.rpt | 2 +- .../v4/close.network.after.keep.alive.timeout/server.rpt | 2 +- .../mqtt/streams/network/v4/connect.invalid.flags/client.rpt | 2 +- .../mqtt/streams/network/v4/connect.invalid.flags/server.rpt | 2 +- .../network/v4/connect.invalid.protocol.version/client.rpt | 2 +- .../network/v4/connect.invalid.protocol.version/server.rpt | 2 +- .../network/v4/connect.non.successful.connack/client.rpt | 2 +- .../network/v4/connect.non.successful.connack/server.rpt | 2 +- .../v4/connect.password.authentication.failed/client.rpt | 2 +- .../v4/connect.password.authentication.failed/server.rpt | 2 +- .../v4/connect.password.authentication.successful/client.rpt | 2 +- .../v4/connect.password.authentication.successful/server.rpt | 2 +- .../v4/connect.reject.exceeding.max.client.id/client.rpt | 2 +- .../v4/connect.reject.exceeding.max.client.id/server.rpt | 2 +- .../network/v4/connect.reject.missing.client.id/client.rpt | 2 +- .../network/v4/connect.reject.missing.client.id/server.rpt | 2 +- .../connect.reject.no.client.id.no.clean.session/client.rpt | 2 +- .../connect.reject.no.client.id.no.clean.session/server.rpt | 2 +- .../v4/connect.reject.other.packet.before.connect/client.rpt | 2 +- .../v4/connect.reject.other.packet.before.connect/server.rpt | 2 +- .../v4/connect.reject.password.flag.no.password/client.rpt | 2 +- .../v4/connect.reject.password.flag.no.password/server.rpt | 2 +- .../connect.reject.password.flag.no.username.flag/client.rpt | 2 +- .../connect.reject.password.flag.no.username.flag/server.rpt | 2 +- .../network/v4/connect.reject.second.connect/client.rpt | 2 +- .../network/v4/connect.reject.second.connect/server.rpt | 2 +- .../v4/connect.reject.username.flag.missing/client.rpt | 2 +- .../v4/connect.reject.username.flag.missing/server.rpt | 2 +- .../network/v4/connect.reject.will.payload.missing/client.rpt | 2 +- .../network/v4/connect.reject.will.payload.missing/server.rpt | 2 +- .../network/v4/connect.reject.will.topic.missing/client.rpt | 2 +- .../network/v4/connect.reject.will.topic.missing/server.rpt | 2 +- .../network/v4/connect.server.assigned.client.id/client.rpt | 2 +- .../network/v4/connect.server.assigned.client.id/server.rpt | 2 +- .../streams/network/v4/connect.subscribe.batched/client.rpt | 2 +- .../streams/network/v4/connect.subscribe.batched/server.rpt | 2 +- .../network/v4/connect.successful.fragmented/client.rpt | 2 +- .../network/v4/connect.successful.fragmented/server.rpt | 2 +- .../mqtt/streams/network/v4/connect.successful/client.rpt | 2 +- .../mqtt/streams/network/v4/connect.successful/server.rpt | 2 +- .../network/v4/connect.timeout.before.connect/client.rpt | 2 +- .../network/v4/connect.timeout.before.connect/server.rpt | 2 +- .../v4/connect.username.authentication.failed/client.rpt | 2 +- .../v4/connect.username.authentication.failed/server.rpt | 2 +- .../v4/connect.username.authentication.successful/client.rpt | 2 +- .../v4/connect.username.authentication.successful/server.rpt | 2 +- .../network/v4/connect.will.invalid.will.qos/client.rpt | 2 +- .../network/v4/connect.will.invalid.will.qos/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v4/disconnect.after.subscribe.and.publish/client.rpt | 2 +- .../v4/disconnect.after.subscribe.and.publish/server.rpt | 2 +- .../binding/mqtt/streams/network/v4/disconnect/client.rpt | 2 +- .../binding/mqtt/streams/network/v4/disconnect/server.rpt | 2 +- .../mqtt/streams/network/v4/ping.keep.alive/client.rpt | 2 +- .../mqtt/streams/network/v4/ping.keep.alive/server.rpt | 2 +- .../mqtt/streams/network/v4/ping.no.pingresp/client.rpt | 2 +- .../mqtt/streams/network/v4/ping.no.pingresp/server.rpt | 2 +- .../specs/binding/mqtt/streams/network/v4/ping/client.rpt | 2 +- .../specs/binding/mqtt/streams/network/v4/ping/server.rpt | 2 +- .../binding/mqtt/streams/network/v4/publish.10k/client.rpt | 2 +- .../binding/mqtt/streams/network/v4/publish.10k/server.rpt | 2 +- .../mqtt/streams/network/v4/publish.empty.message/client.rpt | 2 +- .../mqtt/streams/network/v4/publish.empty.message/server.rpt | 2 +- .../network/v4/publish.empty.retained.message/client.rpt | 2 +- .../network/v4/publish.empty.retained.message/server.rpt | 2 +- .../streams/network/v4/publish.invalid.message/client.rpt | 2 +- .../streams/network/v4/publish.invalid.message/server.rpt | 2 +- .../mqtt/streams/network/v4/publish.mixture.qos/client.rpt | 2 +- .../mqtt/streams/network/v4/publish.mixture.qos/server.rpt | 2 +- .../v4/publish.multiple.messages.disconnect/client.rpt | 2 +- .../v4/publish.multiple.messages.disconnect/server.rpt | 2 +- .../v4/publish.multiple.messages.unfragmented/client.rpt | 2 +- .../v4/publish.multiple.messages.unfragmented/server.rpt | 2 +- .../v4/publish.multiple.messages.with.delay/client.rpt | 2 +- .../v4/publish.multiple.messages.with.delay/server.rpt | 2 +- .../streams/network/v4/publish.multiple.messages/client.rpt | 2 +- .../streams/network/v4/publish.multiple.messages/server.rpt | 2 +- .../network/v4/publish.qos1.dup.after.puback/client.rpt | 2 +- .../network/v4/publish.qos1.dup.after.puback/server.rpt | 2 +- .../v4/publish.qos2.no.dupicate.before.pubrel/client.rpt | 2 +- .../v4/publish.qos2.no.dupicate.before.pubrel/server.rpt | 2 +- .../network/v4/publish.reject.qos0.with.packet.id/client.rpt | 2 +- .../network/v4/publish.reject.qos0.with.packet.id/server.rpt | 2 +- .../v4/publish.reject.qos1.without.packet.id/client.rpt | 2 +- .../v4/publish.reject.qos1.without.packet.id/server.rpt | 2 +- .../v4/publish.reject.qos2.without.packet.id/client.rpt | 2 +- .../v4/publish.reject.qos2.without.packet.id/server.rpt | 2 +- .../mqtt/streams/network/v4/publish.retained/client.rpt | 2 +- .../mqtt/streams/network/v4/publish.retained/server.rpt | 2 +- .../streams/network/v4/publish.subscribe.batched/client.rpt | 2 +- .../streams/network/v4/publish.subscribe.batched/server.rpt | 2 +- .../streams/network/v4/publish.topic.not.routed/client.rpt | 2 +- .../streams/network/v4/publish.topic.not.routed/server.rpt | 2 +- .../mqtt/streams/network/v4/publish.unroutable/client.rpt | 2 +- .../mqtt/streams/network/v4/publish.unroutable/server.rpt | 2 +- .../mqtt/streams/network/v4/publish.valid.message/client.rpt | 2 +- .../mqtt/streams/network/v4/publish.valid.message/server.rpt | 2 +- .../v4/session.abort.reconnect.non.clean.start/client.rpt | 2 +- .../v4/session.abort.reconnect.non.clean.start/server.rpt | 2 +- .../streams/network/v4/session.client.takeover/client.rpt | 2 +- .../streams/network/v4/session.client.takeover/server.rpt | 2 +- .../network/v4/session.connect.payload.fragmented/client.rpt | 2 +- .../network/v4/session.connect.payload.fragmented/server.rpt | 2 +- .../streams/network/v4/session.exists.clean.start/client.rpt | 2 +- .../streams/network/v4/session.exists.clean.start/server.rpt | 2 +- .../v4/session.reject.non.compacted.sessions.topic/client.rpt | 2 +- .../v4/session.reject.non.compacted.sessions.topic/server.rpt | 2 +- .../network/v4/session.subscribe.multiple.isolated/client.rpt | 2 +- .../network/v4/session.subscribe.multiple.isolated/server.rpt | 2 +- .../network/v4/session.subscribe.publish.routing/client.rpt | 2 +- .../network/v4/session.subscribe.publish.routing/server.rpt | 2 +- .../network/v4/session.subscribe.via.session.state/client.rpt | 2 +- .../network/v4/session.subscribe.via.session.state/server.rpt | 2 +- .../mqtt/streams/network/v4/session.subscribe/client.rpt | 2 +- .../mqtt/streams/network/v4/session.subscribe/server.rpt | 2 +- .../session.unsubscribe.after.subscribe.deferred/client.rpt | 2 +- .../session.unsubscribe.after.subscribe.deferred/server.rpt | 2 +- .../network/v4/session.unsubscribe.after.subscribe/client.rpt | 2 +- .../network/v4/session.unsubscribe.after.subscribe/server.rpt | 2 +- .../session.will.message.no.ping.within.keep.alive/client.rpt | 2 +- .../session.will.message.no.ping.within.keep.alive/server.rpt | 2 +- .../v4/session.will.message.normal.disconnect/client.rpt | 2 +- .../v4/session.will.message.normal.disconnect/server.rpt | 2 +- .../streams/network/v4/session.will.message.retain/client.rpt | 2 +- .../streams/network/v4/session.will.message.retain/server.rpt | 2 +- .../v4/subscribe.invalid.fixed.header.flags/client.rpt | 2 +- .../v4/subscribe.invalid.fixed.header.flags/server.rpt | 2 +- .../network/v4/subscribe.invalid.topic.filter/client.rpt | 2 +- .../network/v4/subscribe.invalid.topic.filter/server.rpt | 2 +- .../mqtt/streams/network/v4/subscribe.one.message/client.rpt | 2 +- .../mqtt/streams/network/v4/subscribe.one.message/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/client.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/server.rpt | 2 +- .../subscribe.receive.message.qos0.published.qos/client.rpt | 2 +- .../subscribe.receive.message.qos0.published.qos/server.rpt | 2 +- .../network/v4/subscribe.receive.message.qos1/client.rpt | 2 +- .../network/v4/subscribe.receive.message.qos1/server.rpt | 2 +- .../network/v4/subscribe.receive.message.qos2/client.rpt | 2 +- .../network/v4/subscribe.receive.message.qos2/server.rpt | 2 +- .../network/v4/subscribe.receive.message.wildcard/client.rpt | 2 +- .../network/v4/subscribe.receive.message.wildcard/server.rpt | 2 +- .../streams/network/v4/subscribe.receive.message/client.rpt | 2 +- .../streams/network/v4/subscribe.receive.message/server.rpt | 2 +- .../v4/subscribe.receive.messages.mixture.qos/client.rpt | 2 +- .../v4/subscribe.receive.messages.mixture.qos/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../network/v4/subscribe.reject.missing.packet.id/client.rpt | 2 +- .../network/v4/subscribe.reject.missing.packet.id/server.rpt | 2 +- .../v4/subscribe.replay.retained.message.qos1/client.rpt | 2 +- .../v4/subscribe.replay.retained.message.qos1/server.rpt | 2 +- .../v4/subscribe.replay.retained.message.qos2/client.rpt | 2 +- .../v4/subscribe.replay.retained.message.qos2/server.rpt | 2 +- .../network/v4/subscribe.retain.as.published/client.rpt | 2 +- .../network/v4/subscribe.retain.as.published/server.rpt | 2 +- .../v4/subscribe.topic.filter.multi.level.wildcard/client.rpt | 2 +- .../v4/subscribe.topic.filter.multi.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../network/v4/subscribe.topic.filter.single.exact/client.rpt | 2 +- .../network/v4/subscribe.topic.filter.single.exact/server.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/client.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/client.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v4/subscribe.topic.filters.disjoint.wildcards/client.rpt | 2 +- .../v4/subscribe.topic.filters.disjoint.wildcards/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v4/subscribe.topic.filters.isolated.both.exact/client.rpt | 2 +- .../v4/subscribe.topic.filters.isolated.both.exact/server.rpt | 2 +- .../subscribe.topic.filters.isolated.both.wildcard/client.rpt | 2 +- .../subscribe.topic.filters.isolated.both.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v4/subscribe.topic.filters.non.successful/client.rpt | 2 +- .../v4/subscribe.topic.filters.non.successful/server.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/client.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/server.rpt | 2 +- .../mqtt/streams/network/v4/subscribe.unroutable/client.rpt | 2 +- .../mqtt/streams/network/v4/subscribe.unroutable/server.rpt | 2 +- .../streams/network/v4/unsubscribe.after.subscribe/client.rpt | 2 +- .../streams/network/v4/unsubscribe.after.subscribe/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v4/unsubscribe.no.matching.subscription/client.rpt | 2 +- .../v4/unsubscribe.no.matching.subscription/server.rpt | 2 +- .../network/v4/unsubscribe.publish.unfragmented/client.rpt | 2 +- .../network/v4/unsubscribe.publish.unfragmented/server.rpt | 2 +- .../unsubscribe.reject.invalid.fixed.header.flags/client.rpt | 2 +- .../unsubscribe.reject.invalid.fixed.header.flags/server.rpt | 2 +- .../v4/unsubscribe.reject.missing.packet.id/client.rpt | 2 +- .../v4/unsubscribe.reject.missing.packet.id/server.rpt | 2 +- .../network/v4/unsubscribe.reject.no.topic.filter/client.rpt | 2 +- .../network/v4/unsubscribe.reject.no.topic.filter/server.rpt | 2 +- .../network/v4/unsubscribe.topic.filter.single/client.rpt | 2 +- .../network/v4/unsubscribe.topic.filter.single/server.rpt | 2 +- .../v4/unsubscribe.topic.filters.non.successful/client.rpt | 2 +- .../v4/unsubscribe.topic.filters.non.successful/server.rpt | 2 +- .../mqtt/streams/network/v5/client.sent.abort/client.rpt | 2 +- .../mqtt/streams/network/v5/client.sent.abort/server.rpt | 2 +- .../mqtt/streams/network/v5/client.sent.close/client.rpt | 2 +- .../mqtt/streams/network/v5/client.sent.close/server.rpt | 2 +- .../mqtt/streams/network/v5/client.sent.reset/client.rpt | 2 +- .../mqtt/streams/network/v5/client.sent.reset/server.rpt | 2 +- .../network/v5/connect.delegate.connack.properties/client.rpt | 2 +- .../network/v5/connect.delegate.connack.properties/server.rpt | 2 +- .../v5/connect.invalid.authentication.method/client.rpt | 2 +- .../v5/connect.invalid.authentication.method/server.rpt | 2 +- .../mqtt/streams/network/v5/connect.invalid.flags/client.rpt | 2 +- .../mqtt/streams/network/v5/connect.invalid.flags/server.rpt | 2 +- .../network/v5/connect.invalid.protocol.version/client.rpt | 2 +- .../network/v5/connect.invalid.protocol.version/server.rpt | 2 +- .../network/v5/connect.max.packet.size.exceeded/client.rpt | 2 +- .../network/v5/connect.max.packet.size.exceeded/server.rpt | 2 +- .../mqtt/streams/network/v5/connect.maximum.qos.0/client.rpt | 2 +- .../mqtt/streams/network/v5/connect.maximum.qos.0/server.rpt | 2 +- .../network/v5/connect.non.successful.connack/client.rpt | 2 +- .../network/v5/connect.non.successful.connack/server.rpt | 2 +- .../network/v5/connect.non.successful.disconnect/client.rpt | 2 +- .../network/v5/connect.non.successful.disconnect/server.rpt | 2 +- .../v5/connect.password.authentication.failed/client.rpt | 2 +- .../v5/connect.password.authentication.failed/server.rpt | 2 +- .../v5/connect.password.authentication.successful/client.rpt | 2 +- .../v5/connect.password.authentication.successful/server.rpt | 2 +- .../v5/connect.reject.exceeding.max.client.id/client.rpt | 2 +- .../v5/connect.reject.exceeding.max.client.id/server.rpt | 2 +- .../network/v5/connect.reject.missing.client.id/client.rpt | 2 +- .../network/v5/connect.reject.missing.client.id/server.rpt | 2 +- .../v5/connect.reject.other.packet.before.connect/client.rpt | 2 +- .../v5/connect.reject.other.packet.before.connect/server.rpt | 2 +- .../v5/connect.reject.password.flag.no.password/client.rpt | 2 +- .../v5/connect.reject.password.flag.no.password/server.rpt | 2 +- .../v5/connect.reject.password.no.password.flag/client.rpt | 2 +- .../v5/connect.reject.password.no.password.flag/server.rpt | 2 +- .../network/v5/connect.reject.second.connect/client.rpt | 2 +- .../network/v5/connect.reject.second.connect/server.rpt | 2 +- .../v5/connect.reject.topic.alias.maximum.repeated/client.rpt | 2 +- .../v5/connect.reject.topic.alias.maximum.repeated/server.rpt | 2 +- .../v5/connect.reject.username.flag.missing/client.rpt | 2 +- .../v5/connect.reject.username.flag.missing/server.rpt | 2 +- .../network/v5/connect.reject.username.flag.only/client.rpt | 2 +- .../network/v5/connect.reject.username.flag.only/server.rpt | 2 +- .../network/v5/connect.reject.will.payload.missing/client.rpt | 2 +- .../network/v5/connect.reject.will.payload.missing/server.rpt | 2 +- .../v5/connect.reject.will.properties.missing/client.rpt | 2 +- .../v5/connect.reject.will.properties.missing/server.rpt | 2 +- .../v5/connect.reject.will.retain.not.supported/client.rpt | 2 +- .../v5/connect.reject.will.retain.not.supported/server.rpt | 2 +- .../network/v5/connect.reject.will.topic.missing/client.rpt | 2 +- .../network/v5/connect.reject.will.topic.missing/server.rpt | 2 +- .../network/v5/connect.retain.not.supported/client.rpt | 2 +- .../network/v5/connect.retain.not.supported/server.rpt | 2 +- .../network/v5/connect.server.assigned.client.id/client.rpt | 2 +- .../network/v5/connect.server.assigned.client.id/server.rpt | 2 +- .../network/v5/connect.server.defined.keep.alive/client.rpt | 2 +- .../network/v5/connect.server.defined.keep.alive/server.rpt | 2 +- .../streams/network/v5/connect.subscribe.batched/client.rpt | 2 +- .../streams/network/v5/connect.subscribe.batched/server.rpt | 2 +- .../network/v5/connect.successful.fragmented/client.rpt | 2 +- .../network/v5/connect.successful.fragmented/server.rpt | 2 +- .../mqtt/streams/network/v5/connect.successful/client.rpt | 2 +- .../mqtt/streams/network/v5/connect.successful/server.rpt | 2 +- .../network/v5/connect.timeout.before.connect/client.rpt | 2 +- .../network/v5/connect.timeout.before.connect/server.rpt | 2 +- .../v5/connect.unsupported.protocol.version/client.rpt | 2 +- .../v5/connect.unsupported.protocol.version/server.rpt | 2 +- .../v5/connect.username.authentication.failed/client.rpt | 2 +- .../v5/connect.username.authentication.failed/server.rpt | 2 +- .../v5/connect.username.authentication.successful/client.rpt | 2 +- .../v5/connect.username.authentication.successful/server.rpt | 2 +- .../network/v5/connect.will.invalid.will.qos/client.rpt | 2 +- .../network/v5/connect.will.invalid.will.qos/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../network/v5/disconnect.after.keep.alive.timeout/client.rpt | 2 +- .../network/v5/disconnect.after.keep.alive.timeout/server.rpt | 2 +- .../v5/disconnect.after.subscribe.and.publish/client.rpt | 2 +- .../v5/disconnect.after.subscribe.and.publish/server.rpt | 2 +- .../network/v5/disconnect.invalid.session.expiry/client.rpt | 2 +- .../network/v5/disconnect.invalid.session.expiry/server.rpt | 2 +- .../v5/disconnect.no.reasoncode.no.properties/client.rpt | 2 +- .../v5/disconnect.no.reasoncode.no.properties/server.rpt | 2 +- .../disconnect.reject.invalid.fixed.header.flags/client.rpt | 2 +- .../disconnect.reject.invalid.fixed.header.flags/server.rpt | 2 +- .../binding/mqtt/streams/network/v5/disconnect/client.rpt | 2 +- .../binding/mqtt/streams/network/v5/disconnect/server.rpt | 2 +- .../mqtt/streams/network/v5/ping.keep.alive/client.rpt | 2 +- .../mqtt/streams/network/v5/ping.keep.alive/server.rpt | 2 +- .../mqtt/streams/network/v5/ping.no.pingresp/client.rpt | 2 +- .../mqtt/streams/network/v5/ping.no.pingresp/server.rpt | 2 +- .../network/v5/ping.server.override.keep.alive/client.rpt | 2 +- .../network/v5/ping.server.override.keep.alive/server.rpt | 2 +- .../specs/binding/mqtt/streams/network/v5/ping/client.rpt | 2 +- .../specs/binding/mqtt/streams/network/v5/ping/server.rpt | 2 +- .../binding/mqtt/streams/network/v5/publish.10k/client.rpt | 2 +- .../binding/mqtt/streams/network/v5/publish.10k/server.rpt | 2 +- .../mqtt/streams/network/v5/publish.empty.message/client.rpt | 2 +- .../mqtt/streams/network/v5/publish.empty.message/server.rpt | 2 +- .../network/v5/publish.empty.retained.message/client.rpt | 2 +- .../network/v5/publish.empty.retained.message/server.rpt | 2 +- .../streams/network/v5/publish.invalid.message/client.rpt | 2 +- .../streams/network/v5/publish.invalid.message/server.rpt | 2 +- .../network/v5/publish.invalid.user.property/client.rpt | 2 +- .../network/v5/publish.invalid.user.property/server.rpt | 2 +- .../network/v5/publish.message.with.topic.alias/client.rpt | 2 +- .../network/v5/publish.message.with.topic.alias/server.rpt | 2 +- .../v5/publish.messages.no.carry.over.topic.alias/client.rpt | 2 +- .../v5/publish.messages.no.carry.over.topic.alias/server.rpt | 2 +- .../v5/publish.messages.with.topic.alias.distinct/client.rpt | 2 +- .../v5/publish.messages.with.topic.alias.distinct/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v5/publish.messages.with.topic.alias.repeated/client.rpt | 2 +- .../v5/publish.messages.with.topic.alias.repeated/server.rpt | 2 +- .../v5/publish.messages.with.topic.alias.replaced/client.rpt | 2 +- .../v5/publish.messages.with.topic.alias.replaced/server.rpt | 2 +- .../mqtt/streams/network/v5/publish.mixture.qos/client.rpt | 2 +- .../mqtt/streams/network/v5/publish.mixture.qos/server.rpt | 2 +- .../streams/network/v5/publish.multiple.clients/client.rpt | 2 +- .../streams/network/v5/publish.multiple.clients/server.rpt | 2 +- .../v5/publish.multiple.messages.unfragmented/client.rpt | 2 +- .../v5/publish.multiple.messages.unfragmented/server.rpt | 2 +- .../v5/publish.multiple.messages.with.delay/client.rpt | 2 +- .../v5/publish.multiple.messages.with.delay/server.rpt | 2 +- .../streams/network/v5/publish.multiple.messages/client.rpt | 2 +- .../streams/network/v5/publish.multiple.messages/server.rpt | 2 +- .../network/v5/publish.one.message.disconnect/client.rpt | 2 +- .../network/v5/publish.one.message.disconnect/server.rpt | 2 +- .../network/v5/publish.one.message.properties/client.rpt | 2 +- .../network/v5/publish.one.message.properties/server.rpt | 2 +- .../network/v5/publish.qos1.dup.after.puback/client.rpt | 2 +- .../network/v5/publish.qos1.dup.after.puback/server.rpt | 2 +- .../network/v5/publish.qos2.ack.with.reasoncode/client.rpt | 2 +- .../network/v5/publish.qos2.ack.with.reasoncode/server.rpt | 2 +- .../v5/publish.qos2.no.dupicate.before.pubrel/client.rpt | 2 +- .../v5/publish.qos2.no.dupicate.before.pubrel/server.rpt | 2 +- .../mqtt/streams/network/v5/publish.qos2.recovery/client.rpt | 2 +- .../mqtt/streams/network/v5/publish.qos2.recovery/server.rpt | 2 +- .../v5/publish.reject.client.sent.subscription.id/client.rpt | 2 +- .../v5/publish.reject.client.sent.subscription.id/server.rpt | 2 +- .../v5/publish.reject.invalid.payload.format/client.rpt | 2 +- .../v5/publish.reject.invalid.payload.format/server.rpt | 2 +- .../network/v5/publish.reject.large.message/client.rpt | 2 +- .../network/v5/publish.reject.large.message/server.rpt | 2 +- .../network/v5/publish.reject.qos0.with.packet.id/client.rpt | 2 +- .../network/v5/publish.reject.qos0.with.packet.id/server.rpt | 2 +- .../network/v5/publish.reject.qos1.not.supported/client.rpt | 2 +- .../network/v5/publish.reject.qos1.not.supported/server.rpt | 2 +- .../v5/publish.reject.qos1.without.packet.id/client.rpt | 2 +- .../v5/publish.reject.qos1.without.packet.id/server.rpt | 2 +- .../network/v5/publish.reject.qos2.not.supported/client.rpt | 2 +- .../network/v5/publish.reject.qos2.not.supported/server.rpt | 2 +- .../v5/publish.reject.qos2.without.packet.id/client.rpt | 2 +- .../v5/publish.reject.qos2.without.packet.id/server.rpt | 2 +- .../network/v5/publish.reject.retain.not.supported/client.rpt | 2 +- .../network/v5/publish.reject.retain.not.supported/server.rpt | 2 +- .../v5/publish.reject.topic.alias.exceeds.maximum/client.rpt | 2 +- .../v5/publish.reject.topic.alias.exceeds.maximum/server.rpt | 2 +- .../network/v5/publish.reject.topic.alias.repeated/client.rpt | 2 +- .../network/v5/publish.reject.topic.alias.repeated/server.rpt | 2 +- .../mqtt/streams/network/v5/publish.retained/client.rpt | 2 +- .../mqtt/streams/network/v5/publish.retained/server.rpt | 2 +- .../streams/network/v5/publish.session.takeover/client.rpt | 2 +- .../streams/network/v5/publish.session.takeover/server.rpt | 2 +- .../streams/network/v5/publish.subscribe.batched/client.rpt | 2 +- .../streams/network/v5/publish.subscribe.batched/server.rpt | 2 +- .../streams/network/v5/publish.topic.not.routed/client.rpt | 2 +- .../streams/network/v5/publish.topic.not.routed/server.rpt | 2 +- .../mqtt/streams/network/v5/publish.unroutable/client.rpt | 2 +- .../mqtt/streams/network/v5/publish.unroutable/server.rpt | 2 +- .../mqtt/streams/network/v5/publish.valid.message/client.rpt | 2 +- .../mqtt/streams/network/v5/publish.valid.message/server.rpt | 2 +- .../streams/network/v5/publish.valid.user.property/client.rpt | 2 +- .../streams/network/v5/publish.valid.user.property/server.rpt | 2 +- .../v5/publish.with.user.properties.distinct/client.rpt | 2 +- .../v5/publish.with.user.properties.distinct/server.rpt | 2 +- .../v5/publish.with.user.properties.repeated/client.rpt | 2 +- .../v5/publish.with.user.properties.repeated/server.rpt | 2 +- .../streams/network/v5/publish.with.user.property/client.rpt | 2 +- .../streams/network/v5/publish.with.user.property/server.rpt | 2 +- .../v5/session.abort.reconnect.non.clean.start/client.rpt | 2 +- .../v5/session.abort.reconnect.non.clean.start/server.rpt | 2 +- .../streams/network/v5/session.client.takeover/client.rpt | 2 +- .../streams/network/v5/session.client.takeover/server.rpt | 2 +- .../v5/session.connect.override.session.expiry/client.rpt | 2 +- .../v5/session.connect.override.session.expiry/server.rpt | 2 +- .../network/v5/session.connect.payload.fragmented/client.rpt | 2 +- .../network/v5/session.connect.payload.fragmented/server.rpt | 2 +- .../network/v5/session.connect.with.session.expiry/client.rpt | 2 +- .../network/v5/session.connect.with.session.expiry/server.rpt | 2 +- .../streams/network/v5/session.exists.clean.start/client.rpt | 2 +- .../streams/network/v5/session.exists.clean.start/server.rpt | 2 +- .../session.invalid.session.timeout.after.connack/client.rpt | 2 +- .../session.invalid.session.timeout.after.connack/server.rpt | 2 +- .../session.invalid.session.timeout.before.connack/client.rpt | 2 +- .../session.invalid.session.timeout.before.connack/server.rpt | 2 +- .../v5/session.reject.non.compacted.sessions.topic/client.rpt | 2 +- .../v5/session.reject.non.compacted.sessions.topic/server.rpt | 2 +- .../v5/session.server.redirect.after.connack/client.rpt | 2 +- .../v5/session.server.redirect.after.connack/server.rpt | 2 +- .../v5/session.server.redirect.before.connack/client.rpt | 2 +- .../v5/session.server.redirect.before.connack/server.rpt | 2 +- .../network/v5/session.subscribe.multiple.isolated/client.rpt | 2 +- .../network/v5/session.subscribe.multiple.isolated/server.rpt | 2 +- .../network/v5/session.subscribe.publish.routing/client.rpt | 2 +- .../network/v5/session.subscribe.publish.routing/server.rpt | 2 +- .../network/v5/session.subscribe.via.session.state/client.rpt | 2 +- .../network/v5/session.subscribe.via.session.state/server.rpt | 2 +- .../mqtt/streams/network/v5/session.subscribe/client.rpt | 2 +- .../mqtt/streams/network/v5/session.subscribe/server.rpt | 2 +- .../session.unsubscribe.after.subscribe.deferred/client.rpt | 2 +- .../session.unsubscribe.after.subscribe.deferred/server.rpt | 2 +- .../network/v5/session.unsubscribe.after.subscribe/client.rpt | 2 +- .../network/v5/session.unsubscribe.after.subscribe/server.rpt | 2 +- .../streams/network/v5/session.will.message.10k/client.rpt | 2 +- .../streams/network/v5/session.will.message.10k/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../session.will.message.no.ping.within.keep.alive/client.rpt | 2 +- .../session.will.message.no.ping.within.keep.alive/server.rpt | 2 +- .../v5/session.will.message.normal.disconnect/client.rpt | 2 +- .../v5/session.will.message.normal.disconnect/server.rpt | 2 +- .../streams/network/v5/session.will.message.retain/client.rpt | 2 +- .../streams/network/v5/session.will.message.retain/server.rpt | 2 +- .../network/v5/subscribe.get.retained.as.published/client.rpt | 2 +- .../network/v5/subscribe.get.retained.as.published/server.rpt | 2 +- .../v5/subscribe.invalid.fixed.header.flags/client.rpt | 2 +- .../v5/subscribe.invalid.fixed.header.flags/server.rpt | 2 +- .../network/v5/subscribe.invalid.topic.filter/client.rpt | 2 +- .../network/v5/subscribe.invalid.topic.filter/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../mqtt/streams/network/v5/subscribe.one.message/client.rpt | 2 +- .../mqtt/streams/network/v5/subscribe.one.message/server.rpt | 2 +- .../streams/network/v5/subscribe.publish.no.local/client.rpt | 2 +- .../streams/network/v5/subscribe.publish.no.local/server.rpt | 2 +- .../v5/subscribe.qos0.publish.retained.no.replay/client.rpt | 2 +- .../v5/subscribe.qos0.publish.retained.no.replay/server.rpt | 2 +- .../v5/subscribe.qos0.replay.retained.no.packet.id/client.rpt | 2 +- .../v5/subscribe.qos0.replay.retained.no.packet.id/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/client.rpt | 2 +- .../subscribe.receive.message.overlapping.wildcard/server.rpt | 2 +- .../subscribe.receive.message.qos0.published.qos/client.rpt | 2 +- .../subscribe.receive.message.qos0.published.qos/server.rpt | 2 +- .../network/v5/subscribe.receive.message.qos1/client.rpt | 2 +- .../network/v5/subscribe.receive.message.qos1/server.rpt | 2 +- .../network/v5/subscribe.receive.message.qos2/client.rpt | 2 +- .../network/v5/subscribe.receive.message.qos2/server.rpt | 2 +- .../network/v5/subscribe.receive.message.wildcard/client.rpt | 2 +- .../network/v5/subscribe.receive.message.wildcard/server.rpt | 2 +- .../streams/network/v5/subscribe.receive.message/client.rpt | 2 +- .../streams/network/v5/subscribe.receive.message/server.rpt | 2 +- .../v5/subscribe.receive.messages.mixture.qos/client.rpt | 2 +- .../v5/subscribe.receive.messages.mixture.qos/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v5/subscribe.reconnect.publish.no.subscription/client.rpt | 2 +- .../v5/subscribe.reconnect.publish.no.subscription/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../network/v5/subscribe.reject.missing.packet.id/client.rpt | 2 +- .../network/v5/subscribe.reject.missing.packet.id/server.rpt | 2 +- .../v5/subscribe.reject.missing.topic.filters/client.rpt | 2 +- .../v5/subscribe.reject.missing.topic.filters/server.rpt | 2 +- .../streams/network/v5/subscribe.reject.no.local/client.rpt | 2 +- .../streams/network/v5/subscribe.reject.no.local/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.reject.topic.filter.invalid.wildcard/client.rpt | 2 +- .../subscribe.reject.topic.filter.invalid.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v5/subscribe.replay.retained.message.qos1/client.rpt | 2 +- .../v5/subscribe.replay.retained.message.qos1/server.rpt | 2 +- .../v5/subscribe.replay.retained.message.qos2/client.rpt | 2 +- .../v5/subscribe.replay.retained.message.qos2/server.rpt | 2 +- .../network/v5/subscribe.retain.as.published/client.rpt | 2 +- .../network/v5/subscribe.retain.as.published/server.rpt | 2 +- .../v5/subscribe.topic.filter.multi.level.wildcard/client.rpt | 2 +- .../v5/subscribe.topic.filter.multi.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../network/v5/subscribe.topic.filter.single.exact/client.rpt | 2 +- .../network/v5/subscribe.topic.filter.single.exact/server.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/client.rpt | 2 +- .../subscribe.topic.filter.single.level.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/client.rpt | 2 +- .../subscribe.topic.filters.aggregated.both.exact/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v5/subscribe.topic.filters.disjoint.wildcards/client.rpt | 2 +- .../v5/subscribe.topic.filters.disjoint.wildcards/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v5/subscribe.topic.filters.isolated.both.exact/client.rpt | 2 +- .../v5/subscribe.topic.filters.isolated.both.exact/server.rpt | 2 +- .../subscribe.topic.filters.isolated.both.wildcard/client.rpt | 2 +- .../subscribe.topic.filters.isolated.both.wildcard/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v5/subscribe.topic.filters.non.successful/client.rpt | 2 +- .../v5/subscribe.topic.filters.non.successful/server.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/client.rpt | 2 +- .../subscribe.topic.filters.overlapping.wildcards/server.rpt | 2 +- .../mqtt/streams/network/v5/subscribe.unroutable/client.rpt | 2 +- .../mqtt/streams/network/v5/subscribe.unroutable/server.rpt | 2 +- .../streams/network/v5/unsubscribe.after.subscribe/client.rpt | 2 +- .../streams/network/v5/unsubscribe.after.subscribe/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../v5/unsubscribe.no.matching.subscription/client.rpt | 2 +- .../v5/unsubscribe.no.matching.subscription/server.rpt | 2 +- .../v5/unsubscribe.no.matching.topic.filter/client.rpt | 2 +- .../v5/unsubscribe.no.matching.topic.filter/server.rpt | 2 +- .../network/v5/unsubscribe.publish.unfragmented/client.rpt | 2 +- .../network/v5/unsubscribe.publish.unfragmented/server.rpt | 2 +- .../unsubscribe.reject.invalid.fixed.header.flags/client.rpt | 2 +- .../unsubscribe.reject.invalid.fixed.header.flags/server.rpt | 2 +- .../v5/unsubscribe.reject.missing.packet.id/client.rpt | 2 +- .../v5/unsubscribe.reject.missing.packet.id/server.rpt | 2 +- .../network/v5/unsubscribe.reject.no.topic.filter/client.rpt | 2 +- .../network/v5/unsubscribe.reject.no.topic.filter/server.rpt | 2 +- .../network/v5/unsubscribe.topic.filter.single/client.rpt | 2 +- .../network/v5/unsubscribe.topic.filter.single/server.rpt | 2 +- .../v5/unsubscribe.topic.filters.non.successful/client.rpt | 2 +- .../v5/unsubscribe.topic.filters.non.successful/server.rpt | 2 +- .../aklivity/zilla/specs/binding/mqtt/config/SchemaTest.java | 2 +- .../zilla/specs/binding/mqtt/internal/MqttFunctionsTest.java | 2 +- .../specs/binding/mqtt/streams/application/ConnectionIT.java | 2 +- .../specs/binding/mqtt/streams/application/PublishIT.java | 2 +- .../specs/binding/mqtt/streams/application/SessionIT.java | 2 +- .../specs/binding/mqtt/streams/application/SubscribeIT.java | 2 +- .../specs/binding/mqtt/streams/application/UnsubscribeIT.java | 2 +- .../specs/binding/mqtt/streams/network/v4/ConnectionIT.java | 2 +- .../zilla/specs/binding/mqtt/streams/network/v4/PingIT.java | 2 +- .../specs/binding/mqtt/streams/network/v4/PublishIT.java | 2 +- .../specs/binding/mqtt/streams/network/v4/SessionIT.java | 2 +- .../specs/binding/mqtt/streams/network/v4/SubscribeIT.java | 2 +- .../specs/binding/mqtt/streams/network/v4/UnsubscribeIT.java | 2 +- .../specs/binding/mqtt/streams/network/v5/ConnectionIT.java | 2 +- .../zilla/specs/binding/mqtt/streams/network/v5/PingIT.java | 2 +- .../specs/binding/mqtt/streams/network/v5/PublishIT.java | 2 +- .../specs/binding/mqtt/streams/network/v5/SessionIT.java | 2 +- .../specs/binding/mqtt/streams/network/v5/SubscribeIT.java | 2 +- .../specs/binding/mqtt/streams/network/v5/UnsubscribeIT.java | 2 +- .../specs/binding/openapi/asyncapi/OpenapiAsyncapiSpecs.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../specs/binding/openapi/asyncapi/config/proxy-async.yaml | 2 +- .../zilla/specs/binding/openapi/asyncapi/config/proxy.yaml | 2 +- .../streams/asyncapi/async.verify.customer/client.rpt | 2 +- .../streams/asyncapi/async.verify.customer/server.rpt | 2 +- .../openapi/asyncapi/streams/asyncapi/create.pet/client.rpt | 2 +- .../openapi/asyncapi/streams/asyncapi/create.pet/server.rpt | 2 +- .../asyncapi/streams/openapi/async.verify.customer/client.rpt | 2 +- .../asyncapi/streams/openapi/async.verify.customer/server.rpt | 2 +- .../openapi/asyncapi/streams/openapi/create.pet/client.rpt | 2 +- .../openapi/asyncapi/streams/openapi/create.pet/server.rpt | 2 +- .../specs/binding/openapi/asyncapi/config/SchemaTest.java | 2 +- .../specs/binding/openapi/asyncapi/streams/AsyncapiIT.java | 2 +- .../specs/binding/openapi/asyncapi/streams/OpenapiIT.java | 2 +- .../zilla/specs/binding/openapi/OpenapiFunctions.java | 2 +- .../io/aklivity/zilla/specs/binding/openapi/OpenapiSpecs.java | 2 +- specs/binding-openapi.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/openapi.idl | 2 +- .../specs/binding/openapi/config/client.multiple.specs.yaml | 2 +- .../aklivity/zilla/specs/binding/openapi/config/client.yaml | 2 +- .../zilla/specs/binding/openapi/config/server-prod.yaml | 2 +- .../zilla/specs/binding/openapi/config/server-secure.yaml | 2 +- .../specs/binding/openapi/config/server.multiple.specs.yaml | 2 +- .../aklivity/zilla/specs/binding/openapi/config/server.yaml | 2 +- .../openapi/streams/http/create.pet.and.item/client.rpt | 2 +- .../openapi/streams/http/create.pet.and.item/server.rpt | 2 +- .../binding/openapi/streams/http/create.pet.prod/client.rpt | 2 +- .../binding/openapi/streams/http/create.pet.prod/server.rpt | 2 +- .../specs/binding/openapi/streams/http/create.pet/client.rpt | 2 +- .../specs/binding/openapi/streams/http/create.pet/server.rpt | 2 +- .../streams/http/reject.non.composite.origin/client.rpt | 2 +- .../streams/http/reject.non.composite.origin/server.rpt | 2 +- .../openapi/streams/openapi/create.pet.and.item/client.rpt | 2 +- .../openapi/streams/openapi/create.pet.and.item/server.rpt | 2 +- .../openapi/streams/openapi/create.pet.prod/client.rpt | 2 +- .../openapi/streams/openapi/create.pet.prod/server.rpt | 2 +- .../binding/openapi/streams/openapi/create.pet/client.rpt | 2 +- .../binding/openapi/streams/openapi/create.pet/server.rpt | 2 +- .../zilla/specs/binding/openapi/config/SchemaTest.java | 2 +- .../specs/binding/openapi/internal/OpenapiFunctionsTest.java | 2 +- .../aklivity/zilla/specs/binding/openapi/streams/HttpIT.java | 2 +- .../zilla/specs/binding/openapi/streams/OpenapiIT.java | 2 +- .../zilla/specs/binding/proxy/internal/ProxyFunctions.java | 2 +- specs/binding-proxy.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/proxy.idl | 2 +- .../aklivity/zilla/specs/binding/proxy/config/client.tcp.yaml | 2 +- .../io/aklivity/zilla/specs/binding/proxy/config/client.yaml | 2 +- .../zilla/specs/binding/proxy/config/server.sock.stream.yaml | 2 +- .../zilla/specs/binding/proxy/config/server.tcp4.alpn.yaml | 2 +- .../specs/binding/proxy/config/server.tcp4.ssl.version.yaml | 2 +- .../zilla/specs/binding/proxy/config/server.tcp4.yaml | 2 +- .../zilla/specs/binding/proxy/config/server.tcp6.yaml | 2 +- .../io/aklivity/zilla/specs/binding/proxy/config/server.yaml | 2 +- .../application/connected.local.client.sent.abort/client.rpt | 2 +- .../application/connected.local.client.sent.abort/server.rpt | 2 +- .../connected.local.client.sent.begin.ext/client.rpt | 2 +- .../connected.local.client.sent.begin.ext/server.rpt | 2 +- .../connected.local.client.sent.challenge/client.rpt | 2 +- .../connected.local.client.sent.challenge/server.rpt | 2 +- .../application/connected.local.client.sent.close/client.rpt | 2 +- .../application/connected.local.client.sent.close/server.rpt | 2 +- .../application/connected.local.client.sent.data/client.rpt | 2 +- .../application/connected.local.client.sent.data/server.rpt | 2 +- .../application/connected.local.client.sent.flush/client.rpt | 2 +- .../application/connected.local.client.sent.flush/server.rpt | 2 +- .../application/connected.local.client.sent.reset/client.rpt | 2 +- .../application/connected.local.client.sent.reset/server.rpt | 2 +- .../streams/application/connected.local.discard/client.rpt | 2 +- .../streams/application/connected.local.discard/server.rpt | 2 +- .../application/connected.local.server.sent.abort/client.rpt | 2 +- .../application/connected.local.server.sent.abort/server.rpt | 2 +- .../connected.local.server.sent.challenge/client.rpt | 2 +- .../connected.local.server.sent.challenge/server.rpt | 2 +- .../application/connected.local.server.sent.close/client.rpt | 2 +- .../application/connected.local.server.sent.close/server.rpt | 2 +- .../application/connected.local.server.sent.data/client.rpt | 2 +- .../application/connected.local.server.sent.data/server.rpt | 2 +- .../application/connected.local.server.sent.flush/client.rpt | 2 +- .../application/connected.local.server.sent.flush/server.rpt | 2 +- .../application/connected.local.server.sent.reset/client.rpt | 2 +- .../application/connected.local.server.sent.reset/server.rpt | 2 +- .../proxy/streams/application/connected.local/client.rpt | 2 +- .../proxy/streams/application/connected.local/server.rpt | 2 +- .../streams/application/connected.sock.datagram/client.rpt | 2 +- .../streams/application/connected.sock.datagram/server.rpt | 2 +- .../streams/application/connected.sock.stream/client.rpt | 2 +- .../streams/application/connected.sock.stream/server.rpt | 2 +- .../proxy/streams/application/connected.tcp4.alpn/client.rpt | 2 +- .../proxy/streams/application/connected.tcp4.alpn/server.rpt | 2 +- .../streams/application/connected.tcp4.authority/client.rpt | 2 +- .../streams/application/connected.tcp4.authority/server.rpt | 2 +- .../streams/application/connected.tcp4.crc32c/client.rpt | 2 +- .../streams/application/connected.tcp4.crc32c/server.rpt | 2 +- .../application/connected.tcp4.experimental/client.rpt | 2 +- .../application/connected.tcp4.experimental/server.rpt | 2 +- .../streams/application/connected.tcp4.identity/client.rpt | 2 +- .../streams/application/connected.tcp4.identity/server.rpt | 2 +- .../streams/application/connected.tcp4.namespace/client.rpt | 2 +- .../streams/application/connected.tcp4.namespace/server.rpt | 2 +- .../proxy/streams/application/connected.tcp4.noop/client.rpt | 2 +- .../proxy/streams/application/connected.tcp4.noop/server.rpt | 2 +- .../connected.tcp4.ssl.client.cert.session/client.rpt | 2 +- .../connected.tcp4.ssl.client.cert.session/server.rpt | 2 +- .../application/connected.tcp4.ssl.client.cert/client.rpt | 2 +- .../application/connected.tcp4.ssl.client.cert/server.rpt | 2 +- .../application/connected.tcp4.ssl.experimental/client.rpt | 2 +- .../application/connected.tcp4.ssl.experimental/server.rpt | 2 +- .../proxy/streams/application/connected.tcp4.ssl/client.rpt | 2 +- .../proxy/streams/application/connected.tcp4.ssl/server.rpt | 2 +- .../streams/application/connected.tcp4.unresolved/client.rpt | 2 +- .../streams/application/connected.tcp4.unresolved/server.rpt | 2 +- .../proxy/streams/application/connected.tcp4/client.rpt | 2 +- .../proxy/streams/application/connected.tcp4/server.rpt | 2 +- .../streams/application/connected.tcp6.unresolved/client.rpt | 2 +- .../streams/application/connected.tcp6.unresolved/server.rpt | 2 +- .../proxy/streams/application/connected.tcp6/client.rpt | 2 +- .../proxy/streams/application/connected.tcp6/server.rpt | 2 +- .../proxy/streams/application/connected.udp4/client.rpt | 2 +- .../proxy/streams/application/connected.udp4/server.rpt | 2 +- .../proxy/streams/application/connected.udp6/client.rpt | 2 +- .../proxy/streams/application/connected.udp6/server.rpt | 2 +- .../network.v2/connected.local.client.sent.abort/client.rpt | 2 +- .../network.v2/connected.local.client.sent.abort/server.rpt | 2 +- .../connected.local.client.sent.begin.ext/client.rpt | 2 +- .../connected.local.client.sent.begin.ext/server.rpt | 2 +- .../connected.local.client.sent.challenge/client.rpt | 2 +- .../connected.local.client.sent.challenge/server.rpt | 2 +- .../network.v2/connected.local.client.sent.close/client.rpt | 2 +- .../network.v2/connected.local.client.sent.close/server.rpt | 2 +- .../network.v2/connected.local.client.sent.data/client.rpt | 2 +- .../network.v2/connected.local.client.sent.data/server.rpt | 2 +- .../network.v2/connected.local.client.sent.flush/client.rpt | 2 +- .../network.v2/connected.local.client.sent.flush/server.rpt | 2 +- .../network.v2/connected.local.client.sent.reset/client.rpt | 2 +- .../network.v2/connected.local.client.sent.reset/server.rpt | 2 +- .../streams/network.v2/connected.local.discard/client.rpt | 2 +- .../streams/network.v2/connected.local.discard/server.rpt | 2 +- .../network.v2/connected.local.server.sent.abort/client.rpt | 2 +- .../network.v2/connected.local.server.sent.abort/server.rpt | 2 +- .../connected.local.server.sent.challenge/client.rpt | 2 +- .../connected.local.server.sent.challenge/server.rpt | 2 +- .../network.v2/connected.local.server.sent.close/client.rpt | 2 +- .../network.v2/connected.local.server.sent.close/server.rpt | 2 +- .../network.v2/connected.local.server.sent.data/client.rpt | 2 +- .../network.v2/connected.local.server.sent.data/server.rpt | 2 +- .../network.v2/connected.local.server.sent.flush/client.rpt | 2 +- .../network.v2/connected.local.server.sent.flush/server.rpt | 2 +- .../network.v2/connected.local.server.sent.reset/client.rpt | 2 +- .../network.v2/connected.local.server.sent.reset/server.rpt | 2 +- .../proxy/streams/network.v2/connected.local/client.rpt | 2 +- .../proxy/streams/network.v2/connected.local/server.rpt | 2 +- .../streams/network.v2/connected.sock.datagram/client.rpt | 2 +- .../streams/network.v2/connected.sock.datagram/server.rpt | 2 +- .../proxy/streams/network.v2/connected.sock.stream/client.rpt | 2 +- .../proxy/streams/network.v2/connected.sock.stream/server.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4.alpn/client.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4.alpn/server.rpt | 2 +- .../streams/network.v2/connected.tcp4.authority/client.rpt | 2 +- .../streams/network.v2/connected.tcp4.authority/server.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4.crc32c/client.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4.crc32c/server.rpt | 2 +- .../streams/network.v2/connected.tcp4.experimental/client.rpt | 2 +- .../streams/network.v2/connected.tcp4.experimental/server.rpt | 2 +- .../streams/network.v2/connected.tcp4.identity/client.rpt | 2 +- .../streams/network.v2/connected.tcp4.identity/server.rpt | 2 +- .../streams/network.v2/connected.tcp4.namespace/client.rpt | 2 +- .../streams/network.v2/connected.tcp4.namespace/server.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4.noop/client.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4.noop/server.rpt | 2 +- .../connected.tcp4.ssl.client.cert.session/client.rpt | 2 +- .../connected.tcp4.ssl.client.cert.session/server.rpt | 2 +- .../network.v2/connected.tcp4.ssl.client.cert/client.rpt | 2 +- .../network.v2/connected.tcp4.ssl.client.cert/server.rpt | 2 +- .../network.v2/connected.tcp4.ssl.experimental/client.rpt | 2 +- .../network.v2/connected.tcp4.ssl.experimental/server.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4.ssl/client.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4.ssl/server.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4/client.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp4/server.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp6/client.rpt | 2 +- .../proxy/streams/network.v2/connected.tcp6/server.rpt | 2 +- .../proxy/streams/network.v2/connected.udp4/client.rpt | 2 +- .../proxy/streams/network.v2/connected.udp4/server.rpt | 2 +- .../proxy/streams/network.v2/connected.udp6/client.rpt | 2 +- .../proxy/streams/network.v2/connected.udp6/server.rpt | 2 +- .../network.v2/rejected.address.family.mismatch/client.rpt | 2 +- .../network.v2/rejected.address.family.mismatch/server.rpt | 2 +- .../streams/network.v2/rejected.command.mismatch/client.rpt | 2 +- .../streams/network.v2/rejected.command.mismatch/server.rpt | 2 +- .../streams/network.v2/rejected.header.mismatch/client.rpt | 2 +- .../streams/network.v2/rejected.header.mismatch/server.rpt | 2 +- .../network.v2/rejected.header.version.mismatch/client.rpt | 2 +- .../network.v2/rejected.header.version.mismatch/server.rpt | 2 +- .../network.v2/rejected.sock.stream.underflow/client.rpt | 2 +- .../network.v2/rejected.sock.stream.underflow/server.rpt | 2 +- .../network.v2/rejected.tcp4.crc32c.mismatch/client.rpt | 2 +- .../network.v2/rejected.tcp4.crc32c.mismatch/server.rpt | 2 +- .../network.v2/rejected.tcp4.crc32c.overflow/client.rpt | 2 +- .../network.v2/rejected.tcp4.crc32c.overflow/server.rpt | 2 +- .../network.v2/rejected.tcp4.crc32c.underflow/client.rpt | 2 +- .../network.v2/rejected.tcp4.crc32c.underflow/server.rpt | 2 +- .../streams/network.v2/rejected.tcp4.ssl.underflow/client.rpt | 2 +- .../streams/network.v2/rejected.tcp4.ssl.underflow/server.rpt | 2 +- .../streams/network.v2/rejected.tcp4.underflow/client.rpt | 2 +- .../streams/network.v2/rejected.tcp4.underflow/server.rpt | 2 +- .../streams/network.v2/rejected.tcp6.underflow/client.rpt | 2 +- .../streams/network.v2/rejected.tcp6.underflow/server.rpt | 2 +- .../aklivity/zilla/specs/binding/proxy/config/SchemaTest.java | 2 +- .../specs/binding/proxy/internal/ProxyFunctionsTest.java | 2 +- .../zilla/specs/binding/proxy/streams/ApplicationIT.java | 2 +- .../aklivity/zilla/specs/binding/proxy/streams/NetworkIT.java | 2 +- .../binding-sse-kafka.spec/src/main/moditect/module-info.java | 2 +- .../sse/kafka/config/proxy.with.topic.and.event.id.yaml | 2 +- .../kafka/config/proxy.with.topic.and.filters.dynamic.yaml | 2 +- .../sse/kafka/config/proxy.with.topic.and.filters.yaml | 2 +- .../binding/sse/kafka/config/proxy.with.topic.dynamic.yaml | 2 +- .../specs/binding/sse/kafka/config/proxy.with.topic.yaml | 2 +- .../sse/kafka/streams/kafka/client.sent.abort/client.rpt | 2 +- .../sse/kafka/streams/kafka/client.sent.abort/server.rpt | 2 +- .../sse/kafka/streams/kafka/client.sent.reset/client.rpt | 2 +- .../sse/kafka/streams/kafka/client.sent.reset/server.rpt | 2 +- .../streams/kafka/handshake.reconnect.with.etag/client.rpt | 2 +- .../streams/kafka/handshake.reconnect.with.etag/server.rpt | 2 +- .../sse/kafka/streams/kafka/handshake.reconnect/client.rpt | 2 +- .../sse/kafka/streams/kafka/handshake.reconnect/server.rpt | 2 +- .../sse/kafka/streams/kafka/handshake.with.filters/client.rpt | 2 +- .../sse/kafka/streams/kafka/handshake.with.filters/server.rpt | 2 +- .../binding/sse/kafka/streams/kafka/handshake/client.rpt | 2 +- .../binding/sse/kafka/streams/kafka/handshake/server.rpt | 2 +- .../kafka/streams/kafka/server.sent.100k.message/client.rpt | 2 +- .../kafka/streams/kafka/server.sent.100k.message/server.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.abort/client.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.abort/server.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.flush/client.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.flush/server.rpt | 2 +- .../streams/kafka/server.sent.messages.with.etag/client.rpt | 2 +- .../streams/kafka/server.sent.messages.with.etag/server.rpt | 2 +- .../kafka/server.sent.messages.with.null.key/client.rpt | 2 +- .../kafka/server.sent.messages.with.null.key/server.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.messages/client.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.messages/server.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.null/client.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.null/server.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.reset/client.rpt | 2 +- .../sse/kafka/streams/kafka/server.sent.reset/server.rpt | 2 +- .../sse/kafka/streams/sse/client.sent.abort/client.rpt | 2 +- .../sse/kafka/streams/sse/client.sent.abort/server.rpt | 2 +- .../sse/kafka/streams/sse/client.sent.message/client.rpt | 2 +- .../sse/kafka/streams/sse/client.sent.message/server.rpt | 2 +- .../sse/kafka/streams/sse/client.sent.reset/client.rpt | 2 +- .../sse/kafka/streams/sse/client.sent.reset/server.rpt | 2 +- .../streams/sse/handshake.reconnect.with.etag/client.rpt | 2 +- .../streams/sse/handshake.reconnect.with.etag/server.rpt | 2 +- .../sse/handshake.reconnect.with.key.and.etag/client.rpt | 2 +- .../sse/handshake.reconnect.with.key.and.etag/server.rpt | 2 +- .../sse/kafka/streams/sse/handshake.reconnect/client.rpt | 2 +- .../sse/kafka/streams/sse/handshake.reconnect/server.rpt | 2 +- .../sse/kafka/streams/sse/handshake.rejected/client.rpt | 2 +- .../sse/kafka/streams/sse/handshake.rejected/server.rpt | 2 +- .../streams/sse/handshake.with.filters.dynamic/client.rpt | 2 +- .../streams/sse/handshake.with.filters.dynamic/server.rpt | 2 +- .../specs/binding/sse/kafka/streams/sse/handshake/client.rpt | 2 +- .../specs/binding/sse/kafka/streams/sse/handshake/server.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.100k.message/client.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.100k.message/server.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.abort/client.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.abort/server.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.flush/client.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.flush/server.rpt | 2 +- .../streams/sse/server.sent.messages.with.etag/client.rpt | 2 +- .../streams/sse/server.sent.messages.with.etag/server.rpt | 2 +- .../sse/server.sent.messages.with.key.and.etag/client.rpt | 2 +- .../sse/server.sent.messages.with.key.and.etag/server.rpt | 2 +- .../streams/sse/server.sent.messages.with.null.key/client.rpt | 2 +- .../streams/sse/server.sent.messages.with.null.key/server.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.messages/client.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.messages/server.rpt | 2 +- .../binding/sse/kafka/streams/sse/server.sent.null/client.rpt | 2 +- .../binding/sse/kafka/streams/sse/server.sent.null/server.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.reset/client.rpt | 2 +- .../sse/kafka/streams/sse/server.sent.reset/server.rpt | 2 +- .../zilla/specs/binding/sse/kafka/config/SchemaTest.java | 2 +- .../zilla/specs/binding/sse/kafka/streams/KafkaIT.java | 2 +- .../aklivity/zilla/specs/binding/sse/kafka/streams/SseIT.java | 2 +- .../zilla/specs/binding/sse/internal/SseFunctions.java | 2 +- specs/binding-sse.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/sse.idl | 2 +- .../aklivity/zilla/specs/binding/sse/config/client.when.yaml | 2 +- .../zilla/specs/binding/sse/config/server.validator.yaml | 2 +- .../aklivity/zilla/specs/binding/sse/config/server.when.yaml | 2 +- .../binding/sse/streams/application/advise/flush/client.rpt | 2 +- .../binding/sse/streams/application/advise/flush/server.rpt | 2 +- .../binding/sse/streams/application/bom/empty/client.rpt | 2 +- .../binding/sse/streams/application/bom/empty/server.rpt | 2 +- .../binding/sse/streams/application/bom/non.empty/client.rpt | 2 +- .../binding/sse/streams/application/bom/non.empty/server.rpt | 2 +- .../application/challenge/respond.to.challenge/client.rpt | 2 +- .../application/challenge/respond.to.challenge/server.rpt | 2 +- .../binding/sse/streams/application/data/empty/client.rpt | 2 +- .../binding/sse/streams/application/data/empty/server.rpt | 2 +- .../sse/streams/application/data/fragmented.100k/client.rpt | 2 +- .../sse/streams/application/data/fragmented.100k/server.rpt | 2 +- .../sse/streams/application/data/fragmented.10k/client.rpt | 2 +- .../sse/streams/application/data/fragmented.10k/server.rpt | 2 +- .../streams/application/data/initial.whitespace/client.rpt | 2 +- .../streams/application/data/initial.whitespace/server.rpt | 2 +- .../sse/streams/application/data/invalid.utf8/client.rpt | 2 +- .../sse/streams/application/data/invalid.utf8/server.rpt | 2 +- .../binding/sse/streams/application/data/invalid/client.rpt | 2 +- .../binding/sse/streams/application/data/invalid/server.rpt | 2 +- .../sse/streams/application/data/multi.line/client.rpt | 2 +- .../sse/streams/application/data/multi.line/server.rpt | 2 +- .../binding/sse/streams/application/data/multiple/client.rpt | 2 +- .../binding/sse/streams/application/data/multiple/server.rpt | 2 +- .../binding/sse/streams/application/data/name.only/client.rpt | 2 +- .../binding/sse/streams/application/data/name.only/server.rpt | 2 +- .../binding/sse/streams/application/data/non.empty/client.rpt | 2 +- .../binding/sse/streams/application/data/non.empty/server.rpt | 2 +- .../binding/sse/streams/application/data/valid/client.rpt | 2 +- .../binding/sse/streams/application/data/valid/server.rpt | 2 +- .../carriage.return.line.feed.fragmented/client.rpt | 2 +- .../carriage.return.line.feed.fragmented/server.rpt | 2 +- .../end.of.line/carriage.return.line.feed/client.rpt | 2 +- .../end.of.line/carriage.return.line.feed/server.rpt | 2 +- .../application/end.of.line/carriage.return/client.rpt | 2 +- .../application/end.of.line/carriage.return/server.rpt | 2 +- .../sse/streams/application/end.of.line/line.feed/client.rpt | 2 +- .../sse/streams/application/end.of.line/line.feed/server.rpt | 2 +- .../sse/streams/application/error/client.abort/client.rpt | 2 +- .../sse/streams/application/error/client.abort/server.rpt | 2 +- .../sse/streams/application/error/client.reset/client.rpt | 2 +- .../sse/streams/application/error/client.reset/server.rpt | 2 +- .../sse/streams/application/error/server.abort/client.rpt | 2 +- .../sse/streams/application/error/server.abort/server.rpt | 2 +- .../sse/streams/application/error/server.reset/client.rpt | 2 +- .../sse/streams/application/error/server.reset/server.rpt | 2 +- .../handshake/connection.closed.deferred/client.rpt | 2 +- .../handshake/connection.closed.deferred/server.rpt | 2 +- .../application/handshake/connection.closed/client.rpt | 2 +- .../application/handshake/connection.closed/server.rpt | 2 +- .../application/handshake/connection.failed/client.rpt | 2 +- .../application/handshake/connection.failed/server.rpt | 2 +- .../application/handshake/connection.succeeded/client.rpt | 2 +- .../application/handshake/connection.succeeded/server.rpt | 2 +- .../application/handshake/last.event.id.empty/client.rpt | 2 +- .../application/handshake/last.event.id.empty/server.rpt | 2 +- .../streams/application/handshake/last.event.id/client.rpt | 2 +- .../streams/application/handshake/last.event.id/server.rpt | 2 +- .../specs/binding/sse/streams/application/id/empty/client.rpt | 2 +- .../specs/binding/sse/streams/application/id/empty/server.rpt | 2 +- .../sse/streams/application/id/initial.whitespace/client.rpt | 2 +- .../sse/streams/application/id/initial.whitespace/server.rpt | 2 +- .../sse/streams/application/id/invalid.utf8/client.rpt | 2 +- .../sse/streams/application/id/invalid.utf8/server.rpt | 2 +- .../binding/sse/streams/application/id/non.empty/client.rpt | 2 +- .../binding/sse/streams/application/id/non.empty/server.rpt | 2 +- .../application/reconnect/initial.last.event.id/client.rpt | 2 +- .../application/reconnect/initial.last.event.id/server.rpt | 2 +- .../application/reconnect/last.event.id.data.null/client.rpt | 2 +- .../application/reconnect/last.event.id.data.null/server.rpt | 2 +- .../application/reconnect/last.event.id.data/client.rpt | 2 +- .../application/reconnect/last.event.id.data/server.rpt | 2 +- .../reconnect/last.event.id.end.fragmented/client.rpt | 2 +- .../reconnect/last.event.id.end.fragmented/server.rpt | 2 +- .../application/reconnect/last.event.id.end/client.rpt | 2 +- .../application/reconnect/last.event.id.end/server.rpt | 2 +- .../binding/sse/streams/application/type/empty/client.rpt | 2 +- .../binding/sse/streams/application/type/empty/server.rpt | 2 +- .../sse/streams/application/type/fragmented/client.rpt | 2 +- .../sse/streams/application/type/fragmented/server.rpt | 2 +- .../streams/application/type/initial.whitespace/client.rpt | 2 +- .../streams/application/type/initial.whitespace/server.rpt | 2 +- .../sse/streams/application/type/invalid.utf8/client.rpt | 2 +- .../sse/streams/application/type/invalid.utf8/server.rpt | 2 +- .../binding/sse/streams/application/type/name.only/client.rpt | 2 +- .../binding/sse/streams/application/type/name.only/server.rpt | 2 +- .../streams/application/type/non.empty.interleaved/client.rpt | 2 +- .../streams/application/type/non.empty.interleaved/server.rpt | 2 +- .../streams/application/type/non.empty.trailing/client.rpt | 2 +- .../streams/application/type/non.empty.trailing/server.rpt | 2 +- .../binding/sse/streams/application/type/non.empty/client.rpt | 2 +- .../binding/sse/streams/application/type/non.empty/server.rpt | 2 +- .../binding/sse/streams/network/advise/flush/request.rpt | 2 +- .../binding/sse/streams/network/advise/flush/response.rpt | 2 +- .../specs/binding/sse/streams/network/bom/empty/request.rpt | 2 +- .../specs/binding/sse/streams/network/bom/empty/response.rpt | 2 +- .../binding/sse/streams/network/bom/non.empty/request.rpt | 2 +- .../binding/sse/streams/network/bom/non.empty/response.rpt | 2 +- .../network/challenge/respond.to.challenge/request.rpt | 2 +- .../network/challenge/respond.to.challenge/response.rpt | 2 +- .../binding/sse/streams/network/comment/empty/request.rpt | 2 +- .../binding/sse/streams/network/comment/empty/response.rpt | 2 +- .../sse/streams/network/comment/multi.line/request.rpt | 2 +- .../sse/streams/network/comment/multi.line/response.rpt | 2 +- .../binding/sse/streams/network/comment/non.empty/request.rpt | 2 +- .../sse/streams/network/comment/non.empty/response.rpt | 2 +- .../binding/sse/streams/network/custom/empty/request.rpt | 2 +- .../binding/sse/streams/network/custom/empty/response.rpt | 2 +- .../sse/streams/network/custom/initial.whitespace/request.rpt | 2 +- .../streams/network/custom/initial.whitespace/response.rpt | 2 +- .../sse/streams/network/custom/invalid.utf8/request.rpt | 2 +- .../sse/streams/network/custom/invalid.utf8/response.rpt | 2 +- .../binding/sse/streams/network/custom/name.only/request.rpt | 2 +- .../binding/sse/streams/network/custom/name.only/response.rpt | 2 +- .../binding/sse/streams/network/custom/non.empty/request.rpt | 2 +- .../binding/sse/streams/network/custom/non.empty/response.rpt | 2 +- .../specs/binding/sse/streams/network/data/empty/request.rpt | 2 +- .../specs/binding/sse/streams/network/data/empty/response.rpt | 2 +- .../sse/streams/network/data/fragmented.100k/request.rpt | 2 +- .../sse/streams/network/data/fragmented.100k/response.rpt | 2 +- .../sse/streams/network/data/fragmented.10k/request.rpt | 2 +- .../sse/streams/network/data/fragmented.10k/response.rpt | 2 +- .../sse/streams/network/data/initial.whitespace/request.rpt | 2 +- .../sse/streams/network/data/initial.whitespace/response.rpt | 2 +- .../binding/sse/streams/network/data/invalid.utf8/request.rpt | 2 +- .../sse/streams/network/data/invalid.utf8/response.rpt | 2 +- .../binding/sse/streams/network/data/invalid/request.rpt | 2 +- .../binding/sse/streams/network/data/invalid/response.rpt | 2 +- .../binding/sse/streams/network/data/multi.line/request.rpt | 2 +- .../binding/sse/streams/network/data/multi.line/response.rpt | 2 +- .../binding/sse/streams/network/data/multiple/request.rpt | 2 +- .../binding/sse/streams/network/data/multiple/response.rpt | 2 +- .../binding/sse/streams/network/data/name.only/request.rpt | 2 +- .../binding/sse/streams/network/data/name.only/response.rpt | 2 +- .../binding/sse/streams/network/data/non.empty/request.rpt | 2 +- .../binding/sse/streams/network/data/non.empty/response.rpt | 2 +- .../specs/binding/sse/streams/network/data/valid/request.rpt | 2 +- .../specs/binding/sse/streams/network/data/valid/response.rpt | 2 +- .../carriage.return.line.feed.fragmented/request.rpt | 2 +- .../carriage.return.line.feed.fragmented/response.rpt | 2 +- .../network/end.of.line/carriage.return.line.feed/request.rpt | 2 +- .../end.of.line/carriage.return.line.feed/response.rpt | 2 +- .../streams/network/end.of.line/carriage.return/request.rpt | 2 +- .../streams/network/end.of.line/carriage.return/response.rpt | 2 +- .../sse/streams/network/end.of.line/line.feed/request.rpt | 2 +- .../sse/streams/network/end.of.line/line.feed/response.rpt | 2 +- .../sse/streams/network/error/client.abort/request.rpt | 2 +- .../sse/streams/network/error/client.abort/response.rpt | 2 +- .../sse/streams/network/error/client.reset/request.rpt | 2 +- .../sse/streams/network/error/client.reset/response.rpt | 2 +- .../sse/streams/network/error/server.abort/request.rpt | 2 +- .../sse/streams/network/error/server.abort/response.rpt | 2 +- .../sse/streams/network/error/server.reset/request.rpt | 2 +- .../sse/streams/network/error/server.reset/response.rpt | 2 +- .../network/handshake/connection.closed.deferred/request.rpt | 2 +- .../network/handshake/connection.closed.deferred/response.rpt | 2 +- .../streams/network/handshake/connection.closed/request.rpt | 2 +- .../streams/network/handshake/connection.closed/response.rpt | 2 +- .../connection.succeeded.with.request.parameter/request.rpt | 2 +- .../connection.succeeded.with.request.parameter/response.rpt | 2 +- .../network/handshake/connection.succeeded/request.rpt | 2 +- .../network/handshake/connection.succeeded/response.rpt | 2 +- .../sse/streams/network/handshake/initial.comment/request.rpt | 2 +- .../streams/network/handshake/initial.comment/response.rpt | 2 +- .../handshake/request.header.last.event.id.empty/request.rpt | 2 +- .../handshake/request.header.last.event.id.empty/response.rpt | 2 +- .../request.rpt | 2 +- .../response.rpt | 2 +- .../request.header.last.event.id.overflow/request.rpt | 2 +- .../request.header.last.event.id.overflow/response.rpt | 2 +- .../handshake/request.header.last.event.id/request.rpt | 2 +- .../handshake/request.header.last.event.id/response.rpt | 2 +- .../network/handshake/request.method.unsupported/request.rpt | 2 +- .../network/handshake/request.method.unsupported/response.rpt | 2 +- .../request.parameter.last.event.id.empty/request.rpt | 2 +- .../request.parameter.last.event.id.empty/response.rpt | 2 +- .../request.parameter.last.event.id.overflow/request.rpt | 2 +- .../request.parameter.last.event.id.overflow/response.rpt | 2 +- .../request.parameter.last.event.id.url.encoded/request.rpt | 2 +- .../request.parameter.last.event.id.url.encoded/response.rpt | 2 +- .../handshake/request.parameter.last.event.id/request.rpt | 2 +- .../handshake/request.parameter.last.event.id/response.rpt | 2 +- .../response.header.content.type.missing/request.rpt | 2 +- .../response.header.content.type.missing/response.rpt | 2 +- .../response.header.content.type.unsupported/request.rpt | 2 +- .../response.header.content.type.unsupported/response.rpt | 2 +- .../specs/binding/sse/streams/network/id/empty/request.rpt | 2 +- .../specs/binding/sse/streams/network/id/empty/response.rpt | 2 +- .../sse/streams/network/id/initial.whitespace/request.rpt | 2 +- .../sse/streams/network/id/initial.whitespace/response.rpt | 2 +- .../binding/sse/streams/network/id/invalid.utf8/request.rpt | 2 +- .../binding/sse/streams/network/id/invalid.utf8/response.rpt | 2 +- .../binding/sse/streams/network/id/name.only/request.rpt | 2 +- .../binding/sse/streams/network/id/name.only/response.rpt | 2 +- .../binding/sse/streams/network/id/non.empty/request.rpt | 2 +- .../binding/sse/streams/network/id/non.empty/response.rpt | 2 +- .../network/id/reject.header.length.exceeding.255/request.rpt | 2 +- .../id/reject.header.length.exceeding.255/response.rpt | 2 +- .../id/reject.query.param.length.exceeding.255/request.rpt | 2 +- .../id/reject.query.param.length.exceeding.255/response.rpt | 2 +- .../request.header.and.parameter.last.event.id/request.rpt | 2 +- .../request.header.and.parameter.last.event.id/response.rpt | 2 +- .../request.header.last.event.id.and.data.null/request.rpt | 2 +- .../request.header.last.event.id.and.data.null/response.rpt | 2 +- .../request.header.last.event.id.and.data/request.rpt | 2 +- .../request.header.last.event.id.and.data/response.rpt | 2 +- .../request.header.last.event.id.fragmented/request.rpt | 2 +- .../request.header.last.event.id.fragmented/response.rpt | 2 +- .../reconnect/request.header.last.event.id/request.rpt | 2 +- .../reconnect/request.header.last.event.id/response.rpt | 2 +- .../network/reconnect/response.status.code.200/request.rpt | 2 +- .../network/reconnect/response.status.code.200/response.rpt | 2 +- .../network/reconnect/response.status.code.500/request.rpt | 2 +- .../network/reconnect/response.status.code.500/response.rpt | 2 +- .../sse/streams/network/retry/initial.whitespace/request.rpt | 2 +- .../sse/streams/network/retry/initial.whitespace/response.rpt | 2 +- .../sse/streams/network/retry/invalid.utf8/request.rpt | 2 +- .../sse/streams/network/retry/invalid.utf8/response.rpt | 2 +- .../binding/sse/streams/network/retry/name.only/request.rpt | 2 +- .../binding/sse/streams/network/retry/name.only/response.rpt | 2 +- .../binding/sse/streams/network/retry/non.numeric/request.rpt | 2 +- .../sse/streams/network/retry/non.numeric/response.rpt | 2 +- .../binding/sse/streams/network/retry/numeric/request.rpt | 2 +- .../binding/sse/streams/network/retry/numeric/response.rpt | 2 +- .../binding/sse/streams/network/timestamp/empty/request.rpt | 2 +- .../binding/sse/streams/network/timestamp/empty/response.rpt | 2 +- .../sse/streams/network/timestamp/fragmented.10k/request.rpt | 2 +- .../sse/streams/network/timestamp/fragmented.10k/response.rpt | 2 +- .../streams/network/timestamp/non.empty.with.type/request.rpt | 2 +- .../network/timestamp/non.empty.with.type/response.rpt | 2 +- .../sse/streams/network/timestamp/non.empty/request.rpt | 2 +- .../sse/streams/network/timestamp/non.empty/response.rpt | 2 +- .../specs/binding/sse/streams/network/type/empty/request.rpt | 2 +- .../specs/binding/sse/streams/network/type/empty/response.rpt | 2 +- .../binding/sse/streams/network/type/fragmented/request.rpt | 2 +- .../binding/sse/streams/network/type/fragmented/response.rpt | 2 +- .../sse/streams/network/type/initial.whitespace/request.rpt | 2 +- .../sse/streams/network/type/initial.whitespace/response.rpt | 2 +- .../binding/sse/streams/network/type/invalid.utf8/request.rpt | 2 +- .../sse/streams/network/type/invalid.utf8/response.rpt | 2 +- .../binding/sse/streams/network/type/name.only/request.rpt | 2 +- .../binding/sse/streams/network/type/name.only/response.rpt | 2 +- .../streams/network/type/non.empty.interleaved/request.rpt | 2 +- .../streams/network/type/non.empty.interleaved/response.rpt | 2 +- .../sse/streams/network/type/non.empty.trailing/request.rpt | 2 +- .../sse/streams/network/type/non.empty.trailing/response.rpt | 2 +- .../binding/sse/streams/network/type/non.empty/request.rpt | 2 +- .../binding/sse/streams/network/type/non.empty/response.rpt | 2 +- .../aklivity/zilla/specs/binding/sse/config/SchemaTest.java | 2 +- .../zilla/specs/binding/sse/internal/SseFunctionsTest.java | 2 +- .../specs/binding/sse/streams/application/AdvisoryIT.java | 2 +- .../binding/sse/streams/application/ByteOrderMarkIT.java | 2 +- .../zilla/specs/binding/sse/streams/application/DataIT.java | 2 +- .../specs/binding/sse/streams/application/EndOfLineIT.java | 2 +- .../zilla/specs/binding/sse/streams/application/ErrorIT.java | 2 +- .../specs/binding/sse/streams/application/HandshakeIT.java | 2 +- .../zilla/specs/binding/sse/streams/application/IdIT.java | 2 +- .../specs/binding/sse/streams/application/ReconnectIT.java | 2 +- .../zilla/specs/binding/sse/streams/application/TypeIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/AdvisoryIT.java | 2 +- .../specs/binding/sse/streams/network/ByteOrderMarkIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/ChallengeIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/CommentIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/CustomIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/DataIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/EndOfLineIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/ErrorIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/HandshakeIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/IdIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/ReconnectIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/RetryIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/TimestampIT.java | 2 +- .../zilla/specs/binding/sse/streams/network/TypeIT.java | 2 +- specs/binding-tcp.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/tcp.idl | 2 +- .../zilla/specs/binding/tcp/config/client.authority.yaml | 2 +- .../aklivity/zilla/specs/binding/tcp/config/client.event.yaml | 2 +- .../specs/binding/tcp/config/client.host.and.subnet.ipv6.yaml | 2 +- .../specs/binding/tcp/config/client.host.and.subnet.yaml | 2 +- .../aklivity/zilla/specs/binding/tcp/config/client.host.yaml | 2 +- .../io/aklivity/zilla/specs/binding/tcp/config/client.ip.yaml | 2 +- .../aklivity/zilla/specs/binding/tcp/config/client.ipv6.yaml | 2 +- .../aklivity/zilla/specs/binding/tcp/config/client.ports.yaml | 2 +- .../zilla/specs/binding/tcp/config/client.subnet.ipv6.yaml | 2 +- .../zilla/specs/binding/tcp/config/client.subnet.yaml | 2 +- .../io/aklivity/zilla/specs/binding/tcp/config/client.yaml | 2 +- .../aklivity/zilla/specs/binding/tcp/config/server.ipv6.yaml | 2 +- .../aklivity/zilla/specs/binding/tcp/config/server.ports.yaml | 2 +- .../io/aklivity/zilla/specs/binding/tcp/config/server.yaml | 2 +- .../client.and.server.sent.data.multiple.frames/client.rpt | 2 +- .../client.and.server.sent.data.multiple.frames/server.rpt | 2 +- .../client.and.server.sent.data.with.padding/client.rpt | 2 +- .../client.and.server.sent.data.with.padding/server.rpt | 2 +- .../tcp/streams/application/rfc793/client.close/client.rpt | 2 +- .../tcp/streams/application/rfc793/client.close/server.rpt | 2 +- .../rfc793/client.received.abort.sent.end/client.rpt | 2 +- .../rfc793/client.received.abort.sent.end/server.rpt | 2 +- .../rfc793/client.received.reset.and.abort/client.rpt | 2 +- .../rfc793/client.received.reset.and.abort/server.rpt | 2 +- .../application/rfc793/client.sent.abort.and.reset/client.rpt | 2 +- .../application/rfc793/client.sent.abort.and.reset/server.rpt | 2 +- .../streams/application/rfc793/client.sent.abort/client.rpt | 2 +- .../streams/application/rfc793/client.sent.abort/server.rpt | 2 +- .../rfc793/client.sent.data.multiple.frames/client.rpt | 2 +- .../rfc793/client.sent.data.multiple.frames/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../rfc793/client.sent.data.multiple.streams/client.rpt | 2 +- .../rfc793/client.sent.data.multiple.streams/server.rpt | 2 +- .../client.sent.data.received.abort.and.reset/client.rpt | 2 +- .../client.sent.data.received.abort.and.reset/server.rpt | 2 +- .../rfc793/client.sent.data.received.reset/client.rpt | 2 +- .../rfc793/client.sent.data.received.reset/server.rpt | 2 +- .../application/rfc793/client.sent.data.then.end/client.rpt | 2 +- .../application/rfc793/client.sent.data.then.end/server.rpt | 2 +- .../streams/application/rfc793/client.sent.data/client.rpt | 2 +- .../streams/application/rfc793/client.sent.data/server.rpt | 2 +- .../rfc793/client.sent.end.then.received.data/client.rpt | 2 +- .../rfc793/client.sent.end.then.received.data/server.rpt | 2 +- .../application/rfc793/client.sent.reset.and.end/client.rpt | 2 +- .../application/rfc793/client.sent.reset.and.end/server.rpt | 2 +- .../streams/application/rfc793/client.sent.reset/client.rpt | 2 +- .../streams/application/rfc793/client.sent.reset/server.rpt | 2 +- .../application/rfc793/concurrent.connections/client.rpt | 2 +- .../application/rfc793/concurrent.connections/server.rpt | 2 +- .../application/rfc793/connection.established.ipv6/client.rpt | 2 +- .../application/rfc793/connection.established.ipv6/server.rpt | 2 +- .../application/rfc793/connection.established/client.rpt | 2 +- .../application/rfc793/connection.established/server.rpt | 2 +- .../streams/application/rfc793/connection.failed/client.rpt | 2 +- .../streams/application/rfc793/connection.failed/server.rpt | 2 +- .../tcp/streams/application/rfc793/max.connections/client.rpt | 2 +- .../tcp/streams/application/rfc793/max.connections/server.rpt | 2 +- .../tcp/streams/application/rfc793/server.close/client.rpt | 2 +- .../tcp/streams/application/rfc793/server.close/server.rpt | 2 +- .../rfc793/server.received.abort.sent.end/client.rpt | 2 +- .../rfc793/server.received.abort.sent.end/server.rpt | 2 +- .../rfc793/server.received.reset.and.abort/client.rpt | 2 +- .../rfc793/server.received.reset.and.abort/server.rpt | 2 +- .../application/rfc793/server.sent.abort.and.reset/client.rpt | 2 +- .../application/rfc793/server.sent.abort.and.reset/server.rpt | 2 +- .../streams/application/rfc793/server.sent.abort/client.rpt | 2 +- .../streams/application/rfc793/server.sent.abort/server.rpt | 2 +- .../rfc793/server.sent.data.multiple.frames/client.rpt | 2 +- .../rfc793/server.sent.data.multiple.frames/server.rpt | 2 +- .../client.rpt | 2 +- .../server.rpt | 2 +- .../rfc793/server.sent.data.multiple.streams/client.rpt | 2 +- .../rfc793/server.sent.data.multiple.streams/server.rpt | 2 +- .../server.sent.data.received.reset.and.abort/client.rpt | 2 +- .../server.sent.data.received.reset.and.abort/server.rpt | 2 +- .../rfc793/server.sent.data.received.reset/client.rpt | 2 +- .../rfc793/server.sent.data.received.reset/server.rpt | 2 +- .../application/rfc793/server.sent.data.then.end/client.rpt | 2 +- .../application/rfc793/server.sent.data.then.end/server.rpt | 2 +- .../streams/application/rfc793/server.sent.data/client.rpt | 2 +- .../streams/application/rfc793/server.sent.data/server.rpt | 2 +- .../rfc793/server.sent.end.then.received.data/client.rpt | 2 +- .../rfc793/server.sent.end.then.received.data/server.rpt | 2 +- .../application/rfc793/server.sent.reset.and.end/client.rpt | 2 +- .../application/rfc793/server.sent.reset.and.end/server.rpt | 2 +- .../streams/application/rfc793/server.sent.reset/client.rpt | 2 +- .../streams/application/rfc793/server.sent.reset/server.rpt | 2 +- .../routing/client.connect.with.host.extension/client.rpt | 2 +- .../routing/client.connect.with.host.extension/server.rpt | 2 +- .../routing/client.connect.with.ipv4.extension/client.rpt | 2 +- .../routing/client.connect.with.ipv4.extension/server.rpt | 2 +- .../routing/client.connect.with.ipv6.extension/client.rpt | 2 +- .../routing/client.connect.with.ipv6.extension/server.rpt | 2 +- .../routing/client.connect.with.port.extension/client.rpt | 2 +- .../routing/client.connect.with.port.extension/server.rpt | 2 +- .../routing/client.rejected.port.not.routed/client.rpt | 2 +- .../routing/client.rejected.port.not.routed/server.rpt | 2 +- .../routing/client.reset.with.no.subnet.match/client.rpt | 2 +- .../routing/client.reset.with.no.subnet.match/server.rpt | 2 +- .../client.and.server.sent.data.multiple.frames/client.rpt | 2 +- .../client.and.server.sent.data.multiple.frames/server.rpt | 2 +- .../client.and.server.sent.data.with.padding/client.rpt | 2 +- .../client.and.server.sent.data.with.padding/server.rpt | 2 +- .../tcp/streams/network/rfc793/client.close/client.rpt | 2 +- .../tcp/streams/network/rfc793/client.close/server.rpt | 2 +- .../rfc793/client.sent.data.multiple.frames/client.rpt | 2 +- .../rfc793/client.sent.data.multiple.frames/server.rpt | 2 +- .../rfc793/client.sent.data.multiple.streams/client.rpt | 2 +- .../rfc793/client.sent.data.multiple.streams/server.rpt | 2 +- .../tcp/streams/network/rfc793/client.sent.data/client.rpt | 2 +- .../tcp/streams/network/rfc793/client.sent.data/server.rpt | 2 +- .../streams/network/rfc793/concurrent.connections/client.rpt | 2 +- .../streams/network/rfc793/concurrent.connections/server.rpt | 2 +- .../streams/network/rfc793/connection.established/client.rpt | 2 +- .../streams/network/rfc793/connection.established/server.rpt | 2 +- .../tcp/streams/network/rfc793/server.close/client.rpt | 2 +- .../tcp/streams/network/rfc793/server.close/server.rpt | 2 +- .../rfc793/server.sent.data.multiple.frames/client.rpt | 2 +- .../rfc793/server.sent.data.multiple.frames/server.rpt | 2 +- .../rfc793/server.sent.data.multiple.streams/client.rpt | 2 +- .../rfc793/server.sent.data.multiple.streams/server.rpt | 2 +- .../tcp/streams/network/rfc793/server.sent.data/client.rpt | 2 +- .../tcp/streams/network/rfc793/server.sent.data/server.rpt | 2 +- .../routing/client.connect.with.host.extension/client.rpt | 2 +- .../routing/client.connect.with.host.extension/server.rpt | 2 +- .../routing/client.connect.with.ipv4.extension/client.rpt | 2 +- .../routing/client.connect.with.ipv4.extension/server.rpt | 2 +- .../routing/client.connect.with.ipv6.extension/client.rpt | 2 +- .../routing/client.connect.with.ipv6.extension/server.rpt | 2 +- .../routing/client.connect.with.port.extension/client.rpt | 2 +- .../routing/client.connect.with.port.extension/server.rpt | 2 +- .../network/routing/server.close.port.not.routed/client.rpt | 2 +- .../network/routing/server.close.port.not.routed/server.rpt | 2 +- .../aklivity/zilla/specs/binding/tcp/config/SchemaTest.java | 2 +- .../zilla/specs/binding/tcp/streams/ApplicationIT.java | 2 +- .../zilla/specs/binding/tcp/streams/ApplicationRoutingIT.java | 2 +- .../aklivity/zilla/specs/binding/tcp/streams/NetworkIT.java | 2 +- .../zilla/specs/binding/tcp/streams/NetworkRoutingIT.java | 2 +- .../zilla/specs/binding/tls/internal/TlsFunctions.java | 2 +- specs/binding-tls.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/tls.idl | 2 +- .../zilla/specs/binding/tls/config/bridge.tls1.2.yaml | 2 +- .../zilla/specs/binding/tls/config/bridge.tls1.3.yaml | 2 +- .../zilla/specs/binding/tls/config/client.alpn.default.yaml | 2 +- .../aklivity/zilla/specs/binding/tls/config/client.alpn.yaml | 2 +- .../zilla/specs/binding/tls/config/client.cacerts.yaml | 2 +- .../aklivity/zilla/specs/binding/tls/config/client.event.yaml | 2 +- .../zilla/specs/binding/tls/config/client.mutual.signer.yaml | 2 +- .../zilla/specs/binding/tls/config/client.mutual.yaml | 2 +- .../specs/binding/tls/config/client.options.default.yaml | 2 +- .../aklivity/zilla/specs/binding/tls/config/client.ports.yaml | 2 +- .../aklivity/zilla/specs/binding/tls/config/client.sni.yaml | 2 +- .../io/aklivity/zilla/specs/binding/tls/config/client.yaml | 2 +- .../aklivity/zilla/specs/binding/tls/config/proxy.ports.yaml | 2 +- .../io/aklivity/zilla/specs/binding/tls/config/proxy.sni.yaml | 2 +- .../zilla/specs/binding/tls/config/server.alpn.default.yaml | 2 +- .../aklivity/zilla/specs/binding/tls/config/server.alpn.yaml | 2 +- .../binding/tls/config/server.event.handshake.failed.yaml | 2 +- .../specs/binding/tls/config/server.event.tls.failed.yaml | 2 +- .../zilla/specs/binding/tls/config/server.keys.not.found.yaml | 2 +- .../specs/binding/tls/config/server.mutual.requested.yaml | 2 +- .../zilla/specs/binding/tls/config/server.mutual.yaml | 2 +- .../aklivity/zilla/specs/binding/tls/config/server.ports.yaml | 2 +- .../zilla/specs/binding/tls/config/server.signer.yaml | 2 +- .../aklivity/zilla/specs/binding/tls/config/server.sni.yaml | 2 +- .../io/aklivity/zilla/specs/binding/tls/config/server.yaml | 2 +- .../tls/streams/application/client.auth.mismatched/client.rpt | 2 +- .../tls/streams/application/client.auth.mismatched/server.rpt | 2 +- .../binding/tls/streams/application/client.auth/client.rpt | 2 +- .../binding/tls/streams/application/client.auth/server.rpt | 2 +- .../streams/application/client.handshake.timeout/client.rpt | 2 +- .../streams/application/client.handshake.timeout/server.rpt | 2 +- .../tls/streams/application/client.sent.flush/client.rpt | 2 +- .../tls/streams/application/client.sent.flush/server.rpt | 2 +- .../client.sent.read.abort.before.handshake/client.rpt | 2 +- .../client.sent.read.abort.before.handshake/server.rpt | 2 +- .../tls/streams/application/client.sent.read.abort/client.rpt | 2 +- .../tls/streams/application/client.sent.read.abort/server.rpt | 2 +- .../client.sent.write.abort.before.handshake/client.rpt | 2 +- .../client.sent.write.abort.before.handshake/server.rpt | 2 +- .../streams/application/client.sent.write.abort/client.rpt | 2 +- .../streams/application/client.sent.write.abort/server.rpt | 2 +- .../client.sent.write.close.before.handshake/client.rpt | 2 +- .../client.sent.write.close.before.handshake/server.rpt | 2 +- .../client.sent.write.close.read.closed/client.rpt | 2 +- .../client.sent.write.close.read.closed/server.rpt | 2 +- .../streams/application/client.sent.write.close/client.rpt | 2 +- .../streams/application/client.sent.write.close/server.rpt | 2 +- .../connection.established.no.hostname.no.alpn/client.rpt | 2 +- .../connection.established.no.hostname.no.alpn/server.rpt | 2 +- .../application/connection.established.with.alpn/client.rpt | 2 +- .../application/connection.established.with.alpn/server.rpt | 2 +- .../connection.established.with.extension.data/client.rpt | 2 +- .../connection.established.with.extension.data/server.rpt | 2 +- .../application/connection.established.with.port/client.rpt | 2 +- .../application/connection.established.with.port/server.rpt | 2 +- .../tls/streams/application/connection.established/client.rpt | 2 +- .../tls/streams/application/connection.established/server.rpt | 2 +- .../streams/application/echo.payload.length.1000k/client.rpt | 2 +- .../streams/application/echo.payload.length.1000k/server.rpt | 2 +- .../streams/application/echo.payload.length.100k/client.rpt | 2 +- .../streams/application/echo.payload.length.100k/server.rpt | 2 +- .../streams/application/echo.payload.length.10k/client.rpt | 2 +- .../streams/application/echo.payload.length.10k/server.rpt | 2 +- .../tls/streams/application/server.mutual.auth/client.rpt | 2 +- .../tls/streams/application/server.mutual.auth/server.rpt | 2 +- .../tls/streams/application/server.sent.flush/client.rpt | 2 +- .../tls/streams/application/server.sent.flush/server.rpt | 2 +- .../server.sent.read.abort.before.handshake/client.rpt | 2 +- .../server.sent.read.abort.before.handshake/server.rpt | 2 +- .../tls/streams/application/server.sent.read.abort/client.rpt | 2 +- .../tls/streams/application/server.sent.read.abort/server.rpt | 2 +- .../server.sent.write.abort.before.handshake/client.rpt | 2 +- .../server.sent.write.abort.before.handshake/server.rpt | 2 +- .../streams/application/server.sent.write.abort/client.rpt | 2 +- .../streams/application/server.sent.write.abort/server.rpt | 2 +- .../server.sent.write.close.before.handshake/client.rpt | 2 +- .../server.sent.write.close.before.handshake/server.rpt | 2 +- .../streams/application/server.sent.write.close/client.rpt | 2 +- .../streams/application/server.sent.write.close/server.rpt | 2 +- .../specs/binding/tls/streams/bridge/handshake/client.rpt | 2 +- .../specs/binding/tls/streams/bridge/handshake/server.rpt | 2 +- .../tls/streams/network/client.auth.mismatched/client.rpt | 2 +- .../tls/streams/network/client.auth.mismatched/server.rpt | 2 +- .../specs/binding/tls/streams/network/client.auth/client.rpt | 2 +- .../specs/binding/tls/streams/network/client.auth/server.rpt | 2 +- .../tls/streams/network/client.handshake.timeout/client.rpt | 2 +- .../tls/streams/network/client.handshake.timeout/server.rpt | 2 +- .../tls/streams/network/client.hello.malformed/client.rpt | 2 +- .../tls/streams/network/client.hello.malformed/server.rpt | 2 +- .../binding/tls/streams/network/client.sent.flush/client.rpt | 2 +- .../binding/tls/streams/network/client.sent.flush/server.rpt | 2 +- .../client.sent.read.abort.before.handshake/client.rpt | 2 +- .../client.sent.read.abort.before.handshake/server.rpt | 2 +- .../tls/streams/network/client.sent.read.abort/client.rpt | 2 +- .../tls/streams/network/client.sent.read.abort/server.rpt | 2 +- .../client.sent.write.abort.before.handshake/client.rpt | 2 +- .../client.sent.write.abort.before.handshake/server.rpt | 2 +- .../tls/streams/network/client.sent.write.abort/client.rpt | 2 +- .../tls/streams/network/client.sent.write.abort/server.rpt | 2 +- .../client.sent.write.close.before.handshake/client.rpt | 2 +- .../client.sent.write.close.before.handshake/server.rpt | 2 +- .../network/client.sent.write.close.read.closed/client.rpt | 2 +- .../network/client.sent.write.close.read.closed/server.rpt | 2 +- .../tls/streams/network/client.sent.write.close/client.rpt | 2 +- .../tls/streams/network/client.sent.write.close/server.rpt | 2 +- .../connection.established.no.hostname.no.alpn/client.rpt | 2 +- .../connection.established.no.hostname.no.alpn/server.rpt | 2 +- .../network/connection.established.with.alpn/client.rpt | 2 +- .../network/connection.established.with.alpn/server.rpt | 2 +- .../connection.established.with.extension.data/client.rpt | 2 +- .../connection.established.with.extension.data/server.rpt | 2 +- .../tls/streams/network/connection.established/client.rpt | 2 +- .../tls/streams/network/connection.established/server.rpt | 2 +- .../connection.not.established.with.wrong.alpn/client.rpt | 2 +- .../connection.not.established.with.wrong.alpn/server.rpt | 2 +- .../tls/streams/network/echo.payload.length.1000k/client.rpt | 2 +- .../tls/streams/network/echo.payload.length.1000k/server.rpt | 2 +- .../tls/streams/network/echo.payload.length.100k/client.rpt | 2 +- .../tls/streams/network/echo.payload.length.100k/server.rpt | 2 +- .../tls/streams/network/echo.payload.length.10k/client.rpt | 2 +- .../tls/streams/network/echo.payload.length.10k/server.rpt | 2 +- .../tls/streams/network/server.handshake.timeout/client.rpt | 2 +- .../tls/streams/network/server.handshake.timeout/server.rpt | 2 +- .../binding/tls/streams/network/server.mutual.auth/client.rpt | 2 +- .../binding/tls/streams/network/server.mutual.auth/server.rpt | 2 +- .../tls/streams/network/server.port.not.routed/client.rpt | 2 +- .../tls/streams/network/server.port.not.routed/server.rpt | 2 +- .../binding/tls/streams/network/server.sent.flush/client.rpt | 2 +- .../binding/tls/streams/network/server.sent.flush/server.rpt | 2 +- .../server.sent.read.abort.before.handshake/client.rpt | 2 +- .../server.sent.read.abort.before.handshake/server.rpt | 2 +- .../tls/streams/network/server.sent.read.abort/client.rpt | 2 +- .../tls/streams/network/server.sent.read.abort/server.rpt | 2 +- .../server.sent.write.abort.before.handshake/client.rpt | 2 +- .../server.sent.write.abort.before.handshake/server.rpt | 2 +- .../tls/streams/network/server.sent.write.abort/client.rpt | 2 +- .../tls/streams/network/server.sent.write.abort/server.rpt | 2 +- .../server.sent.write.close.before.handshake/client.rpt | 2 +- .../server.sent.write.close.before.handshake/server.rpt | 2 +- .../tls/streams/network/server.sent.write.close/client.rpt | 2 +- .../tls/streams/network/server.sent.write.close/server.rpt | 2 +- .../tls/streams/proxy/client/client.hello.with.sni/client.rpt | 2 +- .../tls/streams/proxy/client/client.hello.with.sni/server.rpt | 2 +- .../proxy/client/reject.client.hello.with.sni/client.rpt | 2 +- .../proxy/client/reject.client.hello.with.sni/server.rpt | 2 +- .../streams/proxy/client/reject.port.not.routed/client.rpt | 2 +- .../streams/proxy/client/reject.port.not.routed/server.rpt | 2 +- .../tls/streams/proxy/server/client.hello.with.sni/client.rpt | 2 +- .../tls/streams/proxy/server/client.hello.with.sni/server.rpt | 2 +- specs/binding-tls.spec/src/test/democa/regen.sh | 2 +- .../aklivity/zilla/specs/binding/tls/config/SchemaTest.java | 2 +- .../zilla/specs/binding/tls/internal/TlsFunctionsTest.java | 2 +- .../zilla/specs/binding/tls/stream/ApplicationIT.java | 2 +- .../io/aklivity/zilla/specs/binding/tls/stream/BridgeIT.java | 2 +- .../io/aklivity/zilla/specs/binding/tls/stream/NetworkIT.java | 2 +- .../io/aklivity/zilla/specs/binding/tls/stream/ProxyIT.java | 2 +- .../aklivity/zilla/specs/binding/ws/internal/WsFunctions.java | 2 +- specs/binding-ws.spec/src/main/moditect/module-info.java | 2 +- .../binding-ws.spec/src/main/resources/META-INF/zilla/ws.idl | 2 +- .../aklivity/zilla/specs/binding/ws/config/client.when.yaml | 2 +- .../io/aklivity/zilla/specs/binding/ws/config/client.yaml | 2 +- .../aklivity/zilla/specs/binding/ws/config/server.when.yaml | 2 +- .../io/aklivity/zilla/specs/binding/ws/config/server.yaml | 2 +- .../application/advise/client.sent.challenge/client.rpt | 2 +- .../application/advise/client.sent.challenge/server.rpt | 2 +- .../streams/application/advise/client.sent.flush/client.rpt | 2 +- .../streams/application/advise/client.sent.flush/server.rpt | 2 +- .../application/advise/server.sent.challenge/client.rpt | 2 +- .../application/advise/server.sent.challenge/server.rpt | 2 +- .../streams/application/advise/server.sent.flush/client.rpt | 2 +- .../streams/application/advise/server.sent.flush/server.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../client.send.ping.payload.length.0/handshake.request.rpt | 2 +- .../client.send.ping.payload.length.0/handshake.response.rpt | 2 +- .../client.send.ping.payload.length.125/handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../client.send.pong.payload.length.0/handshake.request.rpt | 2 +- .../client.send.pong.payload.length.0/handshake.response.rpt | 2 +- .../client.send.pong.payload.length.125/handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../client.send.pong.payload.length.126/handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../control/server.send.ping/handshake.request.rpt | 2 +- .../control/server.send.ping/handshake.response.rpt | 2 +- .../flowcontrol/echo.payload.with.padding/client.rpt | 2 +- .../flowcontrol/echo.payload.with.padding/server.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../connection.established.extension/handshake.request.rpt | 2 +- .../connection.established.extension/handshake.response.rpt | 2 +- .../opening/connection.established/handshake.request.rpt | 2 +- .../opening/connection.established/handshake.response.rpt | 2 +- .../streams/network/advise/client.sent.challenge/client.rpt | 2 +- .../streams/network/advise/client.sent.challenge/server.rpt | 2 +- .../ws/streams/network/advise/client.sent.flush/client.rpt | 2 +- .../ws/streams/network/advise/client.sent.flush/server.rpt | 2 +- .../streams/network/advise/server.sent.challenge/client.rpt | 2 +- .../streams/network/advise/server.sent.challenge/server.rpt | 2 +- .../ws/streams/network/advise/server.sent.flush/client.rpt | 2 +- .../ws/streams/network/advise/server.sent.flush/server.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x0b/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x0b/handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x0c/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x0c/handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x0d/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x0d/handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x0e/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x0e/handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x0f/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x0f/handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x0b/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x0b/handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x0c/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x0c/handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x0d/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x0d/handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x0e/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x0e/handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x0f/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x0f/handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x03/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x03/handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x04/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x04/handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x05/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x05/handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x06/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x06/handshake.response.and.frame.rpt | 2 +- .../client.send.opcode.0x07/handshake.request.and.frame.rpt | 2 +- .../client.send.opcode.0x07/handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x03/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x03/handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x04/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x04/handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x05/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x05/handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x06/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x06/handshake.response.and.frame.rpt | 2 +- .../server.send.opcode.0x07/handshake.request.and.frame.rpt | 2 +- .../server.send.opcode.0x07/handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../network/flowcontrol/echo.payload.with.padding/client.rpt | 2 +- .../network/flowcontrol/echo.payload.with.padding/server.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frames.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frames.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../server.send.masked.binary/handshake.request.and.frame.rpt | 2 +- .../handshake.response.and.frame.rpt | 2 +- .../server.send.masked.text/handshake.request.and.frame.rpt | 2 +- .../server.send.masked.text/handshake.response.and.frame.rpt | 2 +- .../opening/connection.established/handshake.request.rpt | 2 +- .../opening/connection.established/handshake.response.rpt | 2 +- .../multiple.connections.established/handshake.requests.rpt | 2 +- .../multiple.connections.established/handshake.responses.rpt | 2 +- .../request.header.connection.missing/handshake.request.rpt | 2 +- .../request.header.connection.missing/handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../opening/request.header.cookie/handshake.request.rpt | 2 +- .../opening/request.header.cookie/handshake.response.rpt | 2 +- .../opening/request.header.host.missing/handshake.request.rpt | 2 +- .../request.header.host.missing/handshake.response.rpt | 2 +- .../opening/request.header.origin/handshake.request.rpt | 2 +- .../opening/request.header.origin/handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../request.header.upgrade.missing/handshake.request.rpt | 2 +- .../request.header.upgrade.missing/handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../opening/request.headers.random.case/handshake.request.rpt | 2 +- .../request.headers.random.case/handshake.response.rpt | 2 +- .../opening/request.method.not.get/handshake.request.rpt | 2 +- .../opening/request.method.not.get/handshake.response.rpt | 2 +- .../request.version.not.http.1.1/handshake.request.rpt | 2 +- .../request.version.not.http.1.1/handshake.response.rpt | 2 +- .../response.header.connection.missing/handshake.request.rpt | 2 +- .../response.header.connection.missing/handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../response.header.upgrade.missing/handshake.request.rpt | 2 +- .../response.header.upgrade.missing/handshake.response.rpt | 2 +- .../handshake.request.rpt | 2 +- .../handshake.response.rpt | 2 +- .../response.headers.random.case/handshake.request.rpt | 2 +- .../response.headers.random.case/handshake.response.rpt | 2 +- .../io/aklivity/zilla/specs/binding/ws/config/SchemaTest.java | 2 +- .../zilla/specs/binding/ws/internal/WsFunctionsTest.java | 2 +- .../specs/binding/ws/streams/application/AdvisoryIT.java | 2 +- .../specs/binding/ws/streams/application/BaseFramingIT.java | 2 +- .../binding/ws/streams/application/ClosingHandshakeIT.java | 2 +- .../zilla/specs/binding/ws/streams/application/ControlIT.java | 2 +- .../specs/binding/ws/streams/application/FlowControlIT.java | 2 +- .../specs/binding/ws/streams/application/FragmentationIT.java | 2 +- .../binding/ws/streams/application/OpeningHandshakeIT.java | 2 +- .../zilla/specs/binding/ws/streams/network/AdvisoryIT.java | 2 +- .../zilla/specs/binding/ws/streams/network/BaseFramingIT.java | 2 +- .../specs/binding/ws/streams/network/ClosingHandshakeIT.java | 2 +- .../zilla/specs/binding/ws/streams/network/ControlIT.java | 2 +- .../zilla/specs/binding/ws/streams/network/DataFramingIT.java | 2 +- .../specs/binding/ws/streams/network/ExtensibilityIT.java | 2 +- .../zilla/specs/binding/ws/streams/network/FlowControlIT.java | 2 +- .../specs/binding/ws/streams/network/FragmentationIT.java | 2 +- .../zilla/specs/binding/ws/streams/network/MaskingIT.java | 2 +- .../specs/binding/ws/streams/network/OpeningHandshakeIT.java | 2 +- .../catalog-apicurio.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/apicurio.idl | 2 +- .../zilla/specs/catalog/apicurio/config/catalog-alias.yaml | 2 +- .../aklivity/zilla/specs/catalog/apicurio/config/catalog.yaml | 2 +- .../config/resolve/artifact/global/id/cache/zilla.yaml | 2 +- .../config/resolve/artifact/global/id/retry/zilla.yaml | 2 +- .../apicurio/config/resolve/artifact/global/id/zilla.yaml | 2 +- .../resolve/artifact/id/subject/version/cache/zilla.yaml | 2 +- .../resolve/artifact/id/subject/version/failed/zilla.yaml | 2 +- .../resolve/artifact/id/subject/version/latest/zilla.yaml | 2 +- .../resolve/artifact/id/subject/version/retry/zilla.yaml | 2 +- .../config/resolve/artifact/id/subject/version/zilla.yaml | 2 +- .../apicurio/streams/resolve.artifact.latest.version.rpt | 2 +- .../resolve.artifact.via.artifactid.version.failed.rpt | 2 +- .../streams/resolve.artifact.via.artifactid.version.retry.rpt | 2 +- .../streams/resolve.artifact.via.artifactid.version.rpt | 2 +- .../apicurio/streams/resolve.artifact.via.global.id.retry.rpt | 2 +- .../apicurio/streams/resolve.artifact.via.global.id.rpt | 2 +- .../zilla/specs/catalog/apicurio/config/SchemaTest.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/filesystem.idl | 2 +- .../zilla/specs/catalog/filesystem/config/catalog.yaml | 2 +- .../aklivity/zilla/specs/catalog/filesystem/config/event.yaml | 2 +- .../zilla/specs/catalog/filesystem/config/SchemaTest.java | 2 +- specs/catalog-inline.spec/src/main/moditect/module-info.java | 2 +- .../aklivity/zilla/specs/catalog/inline/config/catalog.yaml | 2 +- .../zilla/specs/catalog/inline/config/SchemaTest.java | 2 +- .../catalog-karapace.spec/src/main/moditect/module-info.java | 2 +- .../zilla/specs/catalog/karapace/config/catalog-alias.yaml | 2 +- .../aklivity/zilla/specs/catalog/karapace/config/catalog.yaml | 2 +- .../karapace/config/resolve/schema/id/cache/zilla.yaml | 2 +- .../karapace/config/resolve/schema/id/retry/zilla.yaml | 2 +- .../catalog/karapace/config/resolve/schema/id/zilla.yaml | 2 +- .../karapace/config/resolve/subject/version/cache/zilla.yaml | 2 +- .../karapace/config/resolve/subject/version/retry/zilla.yaml | 2 +- .../karapace/config/resolve/subject/version/zilla.yaml | 2 +- .../karapace/config/unretrievable/schema/id/zilla.yaml | 2 +- .../config/unretrievable/schema/subject/version/zilla.yaml | 2 +- .../zilla/specs/catalog/karapace/config/SchemaTest.java | 2 +- .../src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/schema_registry.idl | 2 +- .../zilla/specs/catalog/schema/registry/config/catalog.yaml | 2 +- .../specs/catalog/schema/registry/config/register/zilla.yaml | 2 +- .../schema/registry/config/resolve/schema/id/cache/zilla.yaml | 2 +- .../schema/registry/config/resolve/schema/id/retry/zilla.yaml | 2 +- .../schema/registry/config/resolve/schema/id/zilla.yaml | 2 +- .../registry/config/resolve/subject/version/cache/zilla.yaml | 2 +- .../registry/config/resolve/subject/version/retry/zilla.yaml | 2 +- .../schema/registry/config/resolve/subject/version/zilla.yaml | 2 +- .../catalog/schema/registry/config/unregister/zilla.yaml | 2 +- .../schema/registry/config/unretrievable/schema/id/zilla.yaml | 2 +- .../config/unretrievable/schema/subject/version/zilla.yaml | 2 +- .../specs/catalog/schema/registry/streams/register.schema.rpt | 2 +- .../registry/streams/resolve.schema.via.schema.id.failed.rpt | 2 +- .../streams/resolve.schema.via.schema.id.on.retry.rpt | 2 +- .../schema/registry/streams/resolve.schema.via.schema.id.rpt | 2 +- .../streams/resolve.schema.via.subject.version.failed.rpt | 2 +- .../streams/resolve.schema.via.subject.version.retry.rpt | 2 +- .../registry/streams/resolve.schema.via.subject.version.rpt | 2 +- .../catalog/schema/registry/streams/unregister.schema.rpt | 2 +- .../specs/catalog/schema/registry/config/SchemaTest.java | 2 +- .../aklivity/zilla/specs/engine/config/ConfigSchemaRule.java | 2 +- .../aklivity/zilla/specs/engine/internal/CoreFunctions.java | 2 +- specs/engine.spec/src/main/moditect/module-info.java | 2 +- specs/engine.spec/src/main/resources/META-INF/zilla/core.idl | 2 +- .../io/aklivity/zilla/specs/engine/config/engine.events.yaml | 2 +- .../zilla/specs/engine/config/server.binding.with.entry.yaml | 2 +- .../specs/engine/config/server.binding.with.no.exit.yaml | 2 +- .../specs/engine/config/server.binding.with.no.kind.yaml | 2 +- .../specs/engine/config/server.binding.with.no.type.yaml | 2 +- .../engine/config/server.binding.with.routes.and.no.exit.yaml | 2 +- .../io/aklivity/zilla/specs/engine/config/server.event.yaml | 2 +- .../scripts/io/aklivity/zilla/specs/engine/config/server.yaml | 2 +- .../engine/streams/application/client.sent.data/client.rpt | 2 +- .../engine/streams/application/client.sent.data/server.rpt | 2 +- .../streams/application/client.sent.read.abort/client.rpt | 2 +- .../streams/application/client.sent.read.abort/server.rpt | 2 +- .../application/client.sent.read.advise.challenge/client.rpt | 2 +- .../application/client.sent.read.advise.challenge/server.rpt | 2 +- .../streams/application/client.sent.write.abort/client.rpt | 2 +- .../streams/application/client.sent.write.abort/server.rpt | 2 +- .../application/client.sent.write.advise.flush/client.rpt | 2 +- .../application/client.sent.write.advise.flush/server.rpt | 2 +- .../engine/streams/application/client.write.close/client.rpt | 2 +- .../engine/streams/application/client.write.close/server.rpt | 2 +- .../zilla/specs/engine/streams/application/event/client.rpt | 2 +- .../zilla/specs/engine/streams/application/event/server.rpt | 2 +- .../specs/engine/streams/application/handshake/client.rpt | 2 +- .../specs/engine/streams/application/handshake/server.rpt | 2 +- .../application/reconfigure.create.via.file/client.rpt | 2 +- .../application/reconfigure.create.via.file/server.rpt | 2 +- .../application/reconfigure.create.via.http/client.rpt | 2 +- .../application/reconfigure.create.via.http/server.rpt | 2 +- .../application/reconfigure.delete.via.file/client.rpt | 2 +- .../application/reconfigure.delete.via.file/server.rpt | 2 +- .../application/reconfigure.delete.via.http/client.rpt | 2 +- .../application/reconfigure.delete.via.http/server.rpt | 2 +- .../reconfigure.modify.complex.chain.via.file/client.rpt | 2 +- .../reconfigure.modify.complex.chain.via.file/server.rpt | 2 +- .../reconfigure.modify.no.etag.via.http/client.rpt | 2 +- .../reconfigure.modify.no.etag.via.http/server.rpt | 2 +- .../application/reconfigure.modify.via.file/client.rpt | 2 +- .../application/reconfigure.modify.via.file/server.rpt | 2 +- .../application/reconfigure.modify.via.http/client.rpt | 2 +- .../application/reconfigure.modify.via.http/server.rpt | 2 +- .../reconfigure.not.modify.parse.failed.via.file/client.rpt | 2 +- .../reconfigure.not.modify.parse.failed.via.file/server.rpt | 2 +- .../application/reconfigure.server.error.via.http/client.rpt | 2 +- .../application/reconfigure.server.error.via.http/server.rpt | 2 +- .../engine/streams/application/server.sent.data/client.rpt | 2 +- .../engine/streams/application/server.sent.data/server.rpt | 2 +- .../streams/application/server.sent.read.abort/client.rpt | 2 +- .../streams/application/server.sent.read.abort/server.rpt | 2 +- .../application/server.sent.read.advise.challenge/client.rpt | 2 +- .../application/server.sent.read.advise.challenge/server.rpt | 2 +- .../streams/application/server.sent.write.abort/client.rpt | 2 +- .../streams/application/server.sent.write.abort/server.rpt | 2 +- .../application/server.sent.write.advise.flush/client.rpt | 2 +- .../application/server.sent.write.advise.flush/server.rpt | 2 +- .../engine/streams/application/server.write.close/client.rpt | 2 +- .../engine/streams/application/server.write.close/server.rpt | 2 +- .../specs/engine/streams/network/client.sent.data/client.rpt | 2 +- .../specs/engine/streams/network/client.sent.data/server.rpt | 2 +- .../engine/streams/network/client.sent.read.abort/client.rpt | 2 +- .../engine/streams/network/client.sent.read.abort/server.rpt | 2 +- .../network/client.sent.read.advise.challenge/client.rpt | 2 +- .../network/client.sent.read.advise.challenge/server.rpt | 2 +- .../engine/streams/network/client.sent.write.abort/client.rpt | 2 +- .../engine/streams/network/client.sent.write.abort/server.rpt | 2 +- .../streams/network/client.sent.write.advise.flush/client.rpt | 2 +- .../streams/network/client.sent.write.advise.flush/server.rpt | 2 +- .../engine/streams/network/client.write.close/client.rpt | 2 +- .../engine/streams/network/client.write.close/server.rpt | 2 +- .../zilla/specs/engine/streams/network/handshake/client.rpt | 2 +- .../zilla/specs/engine/streams/network/handshake/server.rpt | 2 +- .../streams/network/reconfigure.create.via.file/client.rpt | 3 +-- .../streams/network/reconfigure.create.via.file/server.rpt | 3 +-- .../streams/network/reconfigure.create.via.http/client.rpt | 2 +- .../streams/network/reconfigure.create.via.http/server.rpt | 2 +- .../streams/network/reconfigure.delete.via.file/client.rpt | 2 +- .../streams/network/reconfigure.delete.via.file/server.rpt | 2 +- .../streams/network/reconfigure.delete.via.http/client.rpt | 2 +- .../streams/network/reconfigure.delete.via.http/server.rpt | 2 +- .../network/reconfigure.init.server.error.via.http/client.rpt | 2 +- .../network/reconfigure.init.server.error.via.http/server.rpt | 2 +- .../reconfigure.modify.complex.chain.via.file/client.rpt | 2 +- .../reconfigure.modify.complex.chain.via.file/server.rpt | 2 +- .../network/reconfigure.modify.no.etag.via.http/client.rpt | 2 +- .../network/reconfigure.modify.no.etag.via.http/server.rpt | 2 +- .../streams/network/reconfigure.modify.via.file/client.rpt | 2 +- .../streams/network/reconfigure.modify.via.file/server.rpt | 2 +- .../streams/network/reconfigure.modify.via.http/client.rpt | 2 +- .../streams/network/reconfigure.modify.via.http/server.rpt | 2 +- .../reconfigure.not.modify.parse.failed.via.file/client.rpt | 2 +- .../reconfigure.not.modify.parse.failed.via.file/server.rpt | 2 +- .../network/reconfigure.server.error.via.http/client.rpt | 2 +- .../network/reconfigure.server.error.via.http/server.rpt | 2 +- .../specs/engine/streams/network/server.sent.data/client.rpt | 2 +- .../specs/engine/streams/network/server.sent.data/server.rpt | 2 +- .../engine/streams/network/server.sent.read.abort/client.rpt | 2 +- .../engine/streams/network/server.sent.read.abort/server.rpt | 2 +- .../network/server.sent.read.advise.challenge/client.rpt | 2 +- .../network/server.sent.read.advise.challenge/server.rpt | 2 +- .../engine/streams/network/server.sent.write.abort/client.rpt | 2 +- .../engine/streams/network/server.sent.write.abort/server.rpt | 2 +- .../streams/network/server.sent.write.advise.flush/client.rpt | 2 +- .../streams/network/server.sent.write.advise.flush/server.rpt | 2 +- .../engine/streams/network/server.write.close/client.rpt | 2 +- .../engine/streams/network/server.write.close/server.rpt | 2 +- .../io/aklivity/zilla/specs/engine/config/SchemaTest.java | 2 +- .../zilla/specs/engine/internal/CoreFunctionsTest.java | 2 +- .../io/aklivity/zilla/specs/engine/streams/ApplicationIT.java | 2 +- .../io/aklivity/zilla/specs/engine/streams/NetworkIT.java | 2 +- specs/exporter-otlp.spec/src/main/moditect/module-info.java | 2 +- .../zilla/specs/exporter/otlp/application/event/client.rpt | 2 +- .../zilla/specs/exporter/otlp/application/event/server.rpt | 2 +- .../otlp/application/metrics.with.service.name/client.rpt | 2 +- .../otlp/application/metrics.with.service.name/server.rpt | 2 +- .../zilla/specs/exporter/otlp/application/metrics/client.rpt | 2 +- .../zilla/specs/exporter/otlp/application/metrics/server.rpt | 2 +- .../io/aklivity/zilla/specs/exporter/otlp/config/event.yaml | 2 +- .../specs/exporter/otlp/config/metrics.with.service.name.yaml | 2 +- .../io/aklivity/zilla/specs/exporter/otlp/config/metrics.yaml | 2 +- .../io/aklivity/zilla/specs/exporter/otlp/ApplicationIT.java | 2 +- .../src/main/moditect/module-info.java | 2 +- specs/exporter-stdout.spec/src/main/moditect/module-info.java | 2 +- .../zilla/specs/exporter/stdout/config/server.event.yaml | 2 +- specs/filesystem-http.spec/src/main/moditect/module-info.java | 2 +- .../http/application/read.notfound.success/client.rpt | 2 +- .../http/application/read.notfound.success/server.rpt | 2 +- .../filesystem/http/application/read.notfound/client.rpt | 2 +- .../filesystem/http/application/read.notfound/server.rpt | 2 +- .../http/application/read.success.etag.modified/client.rpt | 2 +- .../http/application/read.success.etag.modified/server.rpt | 2 +- .../application/read.success.etag.not.modified/client.rpt | 2 +- .../application/read.success.etag.not.modified/server.rpt | 2 +- .../specs/filesystem/http/application/read.success/client.rpt | 2 +- .../specs/filesystem/http/application/read.success/server.rpt | 2 +- .../specs/filesystem/http/application/watch.read/client.rpt | 2 +- .../specs/filesystem/http/application/watch.read/server.rpt | 2 +- .../zilla/specs/filesystem/http/application/watch/client.rpt | 2 +- .../zilla/specs/filesystem/http/application/watch/server.rpt | 2 +- .../aklivity/zilla/specs/filesystem/http/ApplicationIT.java | 2 +- .../java/io/aklivity/zilla/specs/guard/jwt/keys/JwtKeys.java | 2 +- specs/guard-jwt.spec/src/main/moditect/module-info.java | 2 +- .../guard-jwt.spec/src/main/resources/META-INF/zilla/jwt.idl | 2 +- .../io/aklivity/zilla/specs/guard/jwt/config/event.yaml | 2 +- .../zilla/specs/guard/jwt/config/guard-keys-dynamic.yaml | 2 +- .../zilla/specs/guard/jwt/config/guard-keys-implicit.yaml | 2 +- .../io/aklivity/zilla/specs/guard/jwt/config/guard.yaml | 2 +- .../io/aklivity/zilla/specs/guard/jwt/config/keys/issuer.rpt | 2 +- .../io/aklivity/zilla/specs/guard/jwt/config/SchemaTest.java | 2 +- .../io/aklivity/zilla/specs/guard/jwt/keys/JwtKeysTest.java | 2 +- specs/metrics-grpc.spec/src/main/moditect/module-info.java | 2 +- specs/metrics-http.spec/src/main/moditect/module-info.java | 2 +- specs/metrics-stream.spec/src/main/moditect/module-info.java | 2 +- specs/model-avro.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/avro_model.idl | 2 +- .../io/aklivity/zilla/specs/model/avro/config/event.yaml | 2 +- .../io/aklivity/zilla/specs/model/avro/config/model.yaml | 2 +- .../streams/application/client.sent.avro.invalid/client.rpt | 2 +- .../streams/application/client.sent.avro.invalid/server.rpt | 2 +- .../avro/streams/network/client.sent.avro.invalid/client.rpt | 2 +- .../avro/streams/network/client.sent.avro.invalid/server.rpt | 2 +- .../io/aklivity/zilla/specs/model/avro/config/SchemaTest.java | 2 +- specs/model-core.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/core_model.idl | 2 +- .../aklivity/zilla/specs/model/core/config/double.model.yaml | 2 +- .../io/aklivity/zilla/specs/model/core/config/event.yaml | 2 +- .../aklivity/zilla/specs/model/core/config/float.model.yaml | 2 +- .../aklivity/zilla/specs/model/core/config/int32.model.yaml | 2 +- .../aklivity/zilla/specs/model/core/config/int64.model.yaml | 2 +- .../aklivity/zilla/specs/model/core/config/string.model.yaml | 2 +- .../application/client.sent.string.invalid.utf8/client.rpt | 2 +- .../application/client.sent.string.invalid.utf8/server.rpt | 2 +- .../network/client.sent.string.invalid.utf8/client.rpt | 2 +- .../network/client.sent.string.invalid.utf8/server.rpt | 2 +- .../zilla/specs/model/core/config/DoubleSchemaTest.java | 2 +- .../zilla/specs/model/core/config/FloatSchemaTest.java | 2 +- .../zilla/specs/model/core/config/Int32SchemaTest.java | 2 +- .../zilla/specs/model/core/config/Int64SchemaTest.java | 2 +- .../zilla/specs/model/core/config/StringSchemaTest.java | 2 +- specs/model-json.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/json_model.idl | 2 +- .../io/aklivity/zilla/specs/model/json/config/event.yaml | 2 +- .../io/aklivity/zilla/specs/model/json/config/model.yaml | 2 +- .../streams/application/client.sent.json.invalid/client.rpt | 2 +- .../streams/application/client.sent.json.invalid/server.rpt | 2 +- .../json/streams/network/client.sent.json.invalid/client.rpt | 2 +- .../json/streams/network/client.sent.json.invalid/server.rpt | 2 +- .../io/aklivity/zilla/specs/model/json/config/SchemaTest.java | 2 +- specs/model-protobuf.spec/src/main/moditect/module-info.java | 2 +- .../src/main/resources/META-INF/zilla/protobuf_model.idl | 2 +- .../io/aklivity/zilla/specs/model/protobuf/config/event.yaml | 2 +- .../io/aklivity/zilla/specs/model/protobuf/config/model.yaml | 2 +- .../application/client.sent.protobuf.invalid/client.rpt | 2 +- .../application/client.sent.protobuf.invalid/server.rpt | 2 +- .../streams/network/client.sent.protobuf.invalid/client.rpt | 2 +- .../streams/network/client.sent.protobuf.invalid/server.rpt | 2 +- .../zilla/specs/model/protobuf/config/SchemaTest.java | 2 +- .../vault-filesystem.spec/src/main/moditect/module-info.java | 2 +- .../aklivity/zilla/specs/vault/filesystem/config/vault.yaml | 2 +- .../zilla/specs/vault/filesystem/config/SchemaTest.java | 2 +- 8849 files changed, 8851 insertions(+), 8921 deletions(-) diff --git a/build/flyweight-maven-plugin/src/main/antlr4/io/aklivity/zilla/build/maven/plugins/flyweight/internal/parser/Flyweight.g4 b/build/flyweight-maven-plugin/src/main/antlr4/io/aklivity/zilla/build/maven/plugins/flyweight/internal/parser/Flyweight.g4 index 611b51672e..810137ad69 100644 --- a/build/flyweight-maven-plugin/src/main/antlr4/io/aklivity/zilla/build/maven/plugins/flyweight/internal/parser/Flyweight.g4 +++ b/build/flyweight-maven-plugin/src/main/antlr4/io/aklivity/zilla/build/maven/plugins/flyweight/internal/parser/Flyweight.g4 @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance @@ -13,7 +13,6 @@ * License for the specific language governing permissions and limitations * under the License. */ - /* * Copyright 2021-2022 Aklivity Inc. * diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/AbstractMojo.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/AbstractMojo.java index 980b19d404..782f74b63b 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/AbstractMojo.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/AbstractMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/GenerateMojo.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/GenerateMojo.java index 2092b13832..1f5489e370 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/GenerateMojo.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/GenerateMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/Generator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/Generator.java index b2f4397936..bb73c3c971 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/Generator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/Generator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/Parser.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/Parser.java index d0efd9dac2..263dbf31ce 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/Parser.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/Parser.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/TestGenerateMojo.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/TestGenerateMojo.java index 953a5922b6..ea779256af 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/TestGenerateMojo.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/TestGenerateMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ValidateMojo.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ValidateMojo.java index 8f80ef3adc..1a157793a0 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ValidateMojo.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ValidateMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstAbstractMemberNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstAbstractMemberNode.java index f0f77af895..076e81e7b5 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstAbstractMemberNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstAbstractMemberNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstByteOrder.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstByteOrder.java index a600f0eca2..93c44c664d 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstByteOrder.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstByteOrder.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstEnumNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstEnumNode.java index f6a5a538bc..4adc45b9d3 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstEnumNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstEnumNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstListMemberNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstListMemberNode.java index 4ea50bf59a..8356aa56a0 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstListMemberNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstListMemberNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstListNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstListNode.java index adddaef1b4..1e963dec92 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstListNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstListNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstMapNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstMapNode.java index 3935df3273..a9c887a655 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstMapNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstMapNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstNamedNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstNamedNode.java index 8805aa9a3b..884265f8f8 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstNamedNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstNamedNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstNode.java index cf68ac3ca0..d00f86daa0 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstScopeNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstScopeNode.java index 316c81ec0a..ce0132060e 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstScopeNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstScopeNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstSpecificationNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstSpecificationNode.java index 5721295247..fbf5eac47e 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstSpecificationNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstSpecificationNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstStructMemberNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstStructMemberNode.java index 1372f66a46..c6d8878820 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstStructMemberNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstStructMemberNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstStructNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstStructNode.java index cf9cd4b00f..e6b4d9eac8 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstStructNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstStructNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstType.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstType.java index c24838bddc..20c5a15b71 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstType.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstType.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstTypedefNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstTypedefNode.java index c1b2bdfdb9..181a92e72f 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstTypedefNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstTypedefNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstUnionCaseNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstUnionCaseNode.java index c30509f51a..c88a3039e3 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstUnionCaseNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstUnionCaseNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstUnionNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstUnionNode.java index 0827e0b3e6..f499fe7e0d 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstUnionNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstUnionNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstValueNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstValueNode.java index f5a3ac819d..54b42c9fc5 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstValueNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstValueNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstVariantCaseNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstVariantCaseNode.java index a6215da47b..f27cd5bd2e 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstVariantCaseNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstVariantCaseNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstVariantNode.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstVariantNode.java index c1cfe45f09..b75e025aaa 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstVariantNode.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/AstVariantNode.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/parse/AstParser.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/parse/AstParser.java index c3d54c365f..9bafb6d2c2 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/parse/AstParser.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/parse/AstParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/EnumVisitor.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/EnumVisitor.java index b8e2f373e3..82257c8b74 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/EnumVisitor.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/EnumVisitor.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/ListVisitor.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/ListVisitor.java index 72d97139a5..bb450ab7de 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/ListVisitor.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/ListVisitor.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/ScopeVisitor.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/ScopeVisitor.java index 97e2ef824e..75685e8d8a 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/ScopeVisitor.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/ScopeVisitor.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/StructVisitor.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/StructVisitor.java index be160785fa..87e05e8d95 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/StructVisitor.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/StructVisitor.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/UnionVisitor.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/UnionVisitor.java index 0bb082f762..7a50da70e7 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/UnionVisitor.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/UnionVisitor.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/VariantVisitor.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/VariantVisitor.java index 7eb736585d..9729f508c9 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/VariantVisitor.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/ast/visit/VariantVisitor.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array16FWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array16FWGenerator.java index 50a7cb76a8..ae9044708d 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array16FWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array16FWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array32FWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array32FWGenerator.java index 8d7dce2f78..5130fb7b69 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array32FWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array32FWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array8FWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array8FWGenerator.java index ad60e926e8..448c4f6841 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array8FWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Array8FWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ArrayFWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ArrayFWGenerator.java index 4ad5c28ec5..bfa2523b9e 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ArrayFWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ArrayFWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ArrayFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ArrayFlyweightGenerator.java index d3fdfb500c..8644a7d1c0 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ArrayFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ArrayFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets16FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets16FlyweightGenerator.java index b5d1cd587f..15f3099765 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets16FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets16FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets32FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets32FlyweightGenerator.java index 8f484bbf1f..ba5245360b 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets32FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets32FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets8FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets8FlyweightGenerator.java index 96c347eb90..48e9e116c1 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets8FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctets8FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctetsFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctetsFlyweightGenerator.java index 41d01b68a2..1a55c6ea76 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctetsFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/BoundedOctetsFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ClassSpecGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ClassSpecGenerator.java index bc36084f59..fee86ce13f 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ClassSpecGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ClassSpecGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ClassSpecMixinGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ClassSpecMixinGenerator.java index 3ed7bbf452..987f09892f 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ClassSpecMixinGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ClassSpecMixinGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/EnumFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/EnumFlyweightGenerator.java index 650d343f4c..5f88f42c4a 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/EnumFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/EnumFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/EnumTypeGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/EnumTypeGenerator.java index ca4a1b2ca7..5ea73b6af2 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/EnumTypeGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/EnumTypeGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/FlyweightGenerator.java index 06ab12ddc9..930d2b5407 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List0FWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List0FWGenerator.java index 1edec711cc..5565b4a594 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List0FWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List0FWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List32FWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List32FWGenerator.java index 4fa60e3c51..baf8569401 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List32FWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List32FWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List8FWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List8FWGenerator.java index 2f0794fe9a..75d45f9c11 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List8FWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/List8FWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ListFWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ListFWGenerator.java index 6a03f54c5e..4463f590e9 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ListFWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ListFWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ListFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ListFlyweightGenerator.java index c460e6a369..615d832176 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ListFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ListFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map16FWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map16FWGenerator.java index b710422b84..0eb94a1634 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map16FWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map16FWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map32FWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map32FWGenerator.java index 243ada4e1d..6049edb277 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map32FWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map32FWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map8FWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map8FWGenerator.java index 9991ff516f..448b23e95f 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map8FWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Map8FWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MapFWGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MapFWGenerator.java index 5ae2cd5ce9..afdca0d269 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MapFWGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MapFWGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MapFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MapFlyweightGenerator.java index eefdeb237a..cb69e2a46d 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MapFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MapFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MethodSpecGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MethodSpecGenerator.java index d0705d405f..1f383c634b 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MethodSpecGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/MethodSpecGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/OctetsFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/OctetsFlyweightGenerator.java index 6c2c236aa7..c6287b699a 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/OctetsFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/OctetsFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/PackagedTypeSpec.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/PackagedTypeSpec.java index 5db3dd5311..05e7b771c3 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/PackagedTypeSpec.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/PackagedTypeSpec.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ParameterizedTypeSpecGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ParameterizedTypeSpecGenerator.java index ed385b79c5..f65fe59d5d 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ParameterizedTypeSpecGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/ParameterizedTypeSpecGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String16FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String16FlyweightGenerator.java index d4eb7bce8b..a67878a548 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String16FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String16FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String32FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String32FlyweightGenerator.java index 5c6e9a9abe..1875aa4e7d 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String32FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String32FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String8FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String8FlyweightGenerator.java index 3479c085d3..bdd3c0fb7d 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String8FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/String8FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/StringFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/StringFlyweightGenerator.java index 2369cee50c..36f4517abf 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/StringFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/StringFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/StructFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/StructFlyweightGenerator.java index f4af457e9d..a80ff5d20a 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/StructFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/StructFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeNames.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeNames.java index 1371a02cdb..2c1a10068a 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeNames.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeNames.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeResolver.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeResolver.java index ab00fd1497..79abe473e9 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeResolver.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeSpecGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeSpecGenerator.java index 32908b0ea8..fe0bdbf9bb 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeSpecGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/TypeSpecGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/UnionFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/UnionFlyweightGenerator.java index 855ab1541a..88154a3d34 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/UnionFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/UnionFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/VarStringFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/VarStringFlyweightGenerator.java index 69a80191a5..79b808aa44 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/VarStringFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/VarStringFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/VariantFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/VariantFlyweightGenerator.java index 96620643d1..279b45bb6a 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/VariantFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/VariantFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varint32FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varint32FlyweightGenerator.java index 7ae5cce717..de4d9542ba 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varint32FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varint32FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varint64FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varint64FlyweightGenerator.java index 22adfb49c6..2b2e2ea7db 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varint64FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varint64FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varuint32FlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varuint32FlyweightGenerator.java index b5f7ea0166..37e9b20479 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varuint32FlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varuint32FlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varuint32nFlyweightGenerator.java b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varuint32nFlyweightGenerator.java index f476d11f36..2399479a09 100644 --- a/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varuint32nFlyweightGenerator.java +++ b/build/flyweight-maven-plugin/src/main/java/io/aklivity/zilla/build/maven/plugins/flyweight/internal/generate/Varuint32nFlyweightGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/moditect/module-info.java b/build/flyweight-maven-plugin/src/main/moditect/module-info.java index 93f8ced0b9..27b0964577 100644 --- a/build/flyweight-maven-plugin/src/main/moditect/module-info.java +++ b/build/flyweight-maven-plugin/src/main/moditect/module-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 Aklivity Inc. + * Copyright 2021-2024 Aklivity Inc. * * Aklivity licenses this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance diff --git a/build/flyweight-maven-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml b/build/flyweight-maven-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml index 9e801a3ebc..d9380ed740 100644 --- a/build/flyweight-maven-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml +++ b/build/flyweight-maven-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml @@ -1,6 +1,6 @@