You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by rs...@apache.org on 2026/08/04 16:47:54 UTC
(avro) 01/01: Merge branch 'main' into pr/2250
This is an automated email from the ASF dual-hosted git repository.
RyanSkraba pushed a commit to branch pr/2250
in repository https://gitbox.apache.org/repos/asf/avro.git
commit 2cee342d2038655ce90e248e88cd04d795bc0958
Merge: 8fa32e7f37 28285c9e81
Author: Ryan Skraba <ry...@skraba.com>
AuthorDate: Tue Aug 4 18:47:16 2026 +0200
Merge branch 'main' into pr/2250
.asf.yaml | 20 +-
.devcontainer/devcontainer.json | 69 +-
.editorconfig | 17 +
.github/PULL_REQUEST_TEMPLATE.md | 2 +-
.github/dependabot.yml | 7 -
.github/labeler.yml | 58 +-
.github/workflows/codeql-csharp-analysis.yml | 17 +-
.github/workflows/codeql-java-analysis.yml | 31 +-
.github/workflows/codeql-js-analysis.yml | 12 +-
.github/workflows/codeql-py-analysis.yml | 12 +-
.github/workflows/deploy-docs.yml | 322 ++
.github/workflows/java-publish-snapshot.yml | 33 +-
.github/workflows/labeler.yml | 6 +-
.github/workflows/maven4.yml | 28 +-
.github/workflows/rat.yml | 27 +-
.github/workflows/spotless.yml | 25 +-
.../workflows/test-docker.yml | 35 +-
.github/workflows/test-lang-c++.yml | 21 +-
.github/workflows/test-lang-c.yml | 71 +-
.github/workflows/test-lang-csharp.yml | 53 +-
.github/workflows/test-lang-java.yml | 160 +-
.github/workflows/test-lang-js.yml | 54 +-
.github/workflows/test-lang-perl.yml | 97 +-
.github/workflows/test-lang-php.yml | 72 +-
.github/workflows/test-lang-py.yml | 95 +-
.github/workflows/test-lang-ruby.yml | 65 +-
.github/workflows/test-lang-rust-audit.yml | 56 -
.github/workflows/test-lang-rust-ci.yml | 238 -
.github/workflows/test-lang-rust-clippy.yml | 50 -
.gitmodules | 3 -
.mvn/extensions.xml | 2 +-
BUILD.md | 27 +-
DIST_README.txt | 2 +-
LICENSE.txt | 180 -
NOTICE.txt | 49 +-
README.md | 34 +-
build.sh | 62 +-
composer.json | 63 +-
doc/.gitignore | 1 -
doc/README.md | 57 +-
doc/assets/icons/logo.png | Bin 4777 -> 0 bytes
doc/assets/images/logo-black-text.png | Bin 0 -> 2429 bytes
doc/assets/images/logo-text.svg | 38 +
doc/assets/images/logo-white-text.png | Bin 0 -> 2416 bytes
doc/assets/images/logo.png | Bin 0 -> 1451 bytes
doc/assets/images/logo.svg | 27 +
doc/assets/scss/PTMono-Regular.ttf | Bin 0 -> 169480 bytes
doc/assets/scss/_styles_project.scss | 39 +
doc/config.toml | 50 +-
doc/content/en/_index.html | 2 +-
doc/content/en/_index.md | 40 +
doc/content/en/avro.rdf | 67 +
.../news/new-committer-christophe-le-saec.md} | 22 +-
.../new-committer-oscar-westra-van-holthe-kind.md | 41 +
.../news/new-pmc-michael-a-smith.md} | 15 +-
doc/content/en/blog/news/new-project-logo.md | 50 +
.../en/blog/releases/avro-1.11.2-released.md | 98 +
.../en/blog/releases/avro-1.11.3-released.md | 79 +
.../en/blog/releases/avro-1.11.4-released.md | 49 +
.../en/blog/releases/avro-1.11.5-released.md | 48 +
.../en/blog/releases/avro-1.12.0-released.md | 538 +++
.../en/blog/releases/avro-1.12.1-released.md | 90 +
.../en/docs/++version++/Editor Support/_index.md | 175 +
.../Editor Support/eclipseAvroclipse.png | Bin 0 -> 6419 bytes
.../jetbrainsAvroAndParquetViewer.svg | 6 +
.../jetbrainsAvroIdlSchemaSupport.svg | 21 +
.../Editor Support/jetbrainsBigDataFileViewer.svg | 13 +
.../Editor Support/visualStudioAvroIdl.png | Bin 0 -> 29293 bytes
.../Editor Support/visualStudioAvroTools.png | Bin 0 -> 7092 bytes
.../Editor Support/visualStudioAvroViewer.png | Bin 0 -> 113909 bytes
.../++version++/Getting started (Java)/_index.md | 30 +-
.../++version++/Getting started (Python)/_index.md | 6 +-
.../en/docs/++version++/IDL Language/_index.md | 235 +-
.../en/docs/++version++/MapReduce guide/_index.md | 2 +
.../en/docs/++version++/SASL profile/_index.md | 2 +
.../en/docs/++version++/Specification/_index.md | 125 +-
doc/content/en/docs/++version++/_index.md | 4 +-
.../_index.md => docs/++version++/api-py.md} | 10 +-
.../_index.md => docs/++version++/api-rust.md} | 10 +-
.../Getting started (Java)/_index.md | 10 +-
.../Getting started (Python)/_index.md | 17 +-
.../{++version++ => 1.11.1}/IDL Language/_index.md | 20 +-
.../MapReduce guide/_index.md | 10 +-
.../{++version++ => 1.11.1}/SASL profile/_index.md | 4 +-
.../Specification/_index.md | 33 +-
.../en/docs/{++version++ => 1.11.1}/_index.md | 6 +-
.../Security/_index.md => docs/1.11.1/api-c++.md} | 10 +-
.../Security/_index.md => docs/1.11.1/api-c.md} | 10 +-
.../_index.md => docs/1.11.1/api-csharp.md} | 10 +-
.../Security/_index.md => docs/1.11.1/api-java.md} | 10 +-
.../icons => content/en/docs/1.11.1}/logo.svg | 0
.../Getting started (Java)/_index.md | 10 +-
.../Getting started (Python)/_index.md | 6 +-
.../{++version++ => 1.11.2}/IDL Language/_index.md | 12 +-
.../MapReduce guide/_index.md | 10 +-
.../{++version++ => 1.11.2}/SASL profile/_index.md | 4 +-
.../Specification/_index.md | 0
.../en/docs/{++version++ => 1.11.2}/_index.md | 6 +-
.../Security/_index.md => docs/1.11.2/api-c++.md} | 10 +-
.../Security/_index.md => docs/1.11.2/api-c.md} | 10 +-
.../_index.md => docs/1.11.2/api-csharp.md} | 10 +-
.../Security/_index.md => docs/1.11.2/api-java.md} | 10 +-
.../en/docs/{++version++ => 1.11.2}/logo.svg | 0
.../Getting started (Java)/_index.md | 10 +-
.../Getting started (Python)/_index.md | 6 +-
.../{++version++ => 1.11.3}/IDL Language/_index.md | 12 +-
.../MapReduce guide/_index.md | 10 +-
.../{++version++ => 1.11.3}/SASL profile/_index.md | 4 +-
.../Specification/_index.md | 9 +-
.../en/docs/{++version++ => 1.11.3}/_index.md | 6 +-
.../Security/_index.md => docs/1.11.3/api-c++.md} | 10 +-
.../Security/_index.md => docs/1.11.3/api-c.md} | 10 +-
.../_index.md => docs/1.11.3/api-csharp.md} | 10 +-
.../Security/_index.md => docs/1.11.3/api-java.md} | 10 +-
.../Security/_index.md => docs/1.11.3/api-py.md} | 10 +-
.../icons => content/en/docs/1.11.3}/logo.svg | 0
.../Getting started (Java)/_index.md | 10 +-
.../Getting started (Python)/_index.md | 6 +-
.../{++version++ => 1.11.4}/IDL Language/_index.md | 12 +-
.../MapReduce guide/_index.md | 10 +-
.../{++version++ => 1.11.4}/SASL profile/_index.md | 4 +-
.../Specification/_index.md | 9 +-
.../en/docs/{++version++ => 1.11.4}/_index.md | 6 +-
.../Security/_index.md => docs/1.11.4/api-c++.md} | 10 +-
.../Security/_index.md => docs/1.11.4/api-c.md} | 10 +-
.../_index.md => docs/1.11.4/api-csharp.md} | 10 +-
.../Security/_index.md => docs/1.11.4/api-java.md} | 10 +-
.../Security/_index.md => docs/1.11.4/api-py.md} | 10 +-
.../icons => content/en/docs/1.11.4}/logo.svg | 0
.../Getting started (Java)/_index.md | 26 +-
.../Getting started (Python)/_index.md | 10 +-
.../{++version++ => 1.12.0}/IDL Language/_index.md | 178 +-
.../MapReduce guide/_index.md | 10 +-
.../{++version++ => 1.12.0}/SASL profile/_index.md | 0
.../Specification/_index.md | 99 +-
.../en/docs/{++version++ => 1.12.0}/_index.md | 6 +-
.../Security/_index.md => docs/1.12.0/api-c++.md} | 10 +-
.../Security/_index.md => docs/1.12.0/api-c.md} | 10 +-
.../_index.md => docs/1.12.0/api-csharp.md} | 10 +-
.../Security/_index.md => docs/1.12.0/api-java.md} | 10 +-
.../Security/_index.md => docs/1.12.0/api-py.md} | 10 +-
.../en/docs/1.12.0/trevni/css/maven-base.css | 168 +
.../en/docs/1.12.0/trevni/css/maven-theme.css | 161 +
doc/content/en/docs/1.12.0/trevni/css/print.css | 26 +
doc/content/en/docs/1.12.0/trevni/css/site.css | 1 +
.../en/docs/1.12.0/trevni/dependencies.html | 503 +++
.../docs/1.12.0/trevni/dependency-convergence.html | 339 ++
.../en/docs/1.12.0/trevni/dependency-info.html | 118 +
.../docs/1.12.0/trevni/dependency-management.html | 613 +++
.../1.12.0/trevni/distribution-management.html | 94 +
doc/content/en/docs/1.12.0/trevni/images/close.gif | Bin 0 -> 279 bytes
.../en/docs/1.12.0/trevni/images/collapsed.gif | Bin 0 -> 53 bytes
.../en/docs/1.12.0/trevni/images/expanded.gif | Bin 0 -> 52 bytes
.../en/docs/1.12.0/trevni/images/external.png | Bin 0 -> 230 bytes
.../docs/1.12.0/trevni/images/icon_error_sml.gif | Bin 0 -> 1010 bytes
.../en/docs/1.12.0/trevni/images/icon_info_sml.gif | Bin 0 -> 606 bytes
.../docs/1.12.0/trevni/images/icon_success_sml.gif | Bin 0 -> 990 bytes
.../docs/1.12.0/trevni/images/icon_warning_sml.gif | Bin 0 -> 576 bytes
.../trevni/images/logos/build-by-maven-black.png | Bin 0 -> 2294 bytes
.../trevni/images/logos/build-by-maven-white.png | Bin 0 -> 2260 bytes
.../1.12.0/trevni/images/logos/maven-feather.png | Bin 0 -> 3330 bytes
.../en/docs/1.12.0/trevni/images/newwindow.png | Bin 0 -> 220 bytes
doc/content/en/docs/1.12.0/trevni/index.html | 107 +
.../en/docs/1.12.0/trevni/issue-management.html | 96 +
.../content/en/docs/1.12.0/trevni/licenses.html | 199 +-
.../en/docs/1.12.0/trevni/mailing-lists.html | 117 +
doc/content/en/docs/1.12.0/trevni/modules.html | 105 +
.../en/docs/1.12.0/trevni/plugin-management.html | 244 ++
doc/content/en/docs/1.12.0/trevni/plugins.html | 158 +
.../en/docs/1.12.0/trevni/project-info.html | 139 +
doc/content/en/docs/1.12.0/trevni/scm.html | 106 +
doc/content/en/docs/1.12.0/trevni/summary.html | 133 +
doc/content/en/docs/_index.md | 4 +-
.../Contributors onboarding guide/_index.md | 4 +-
doc/content/en/project/Credits/_index.md | 48 +-
doc/content/en/project/How to contribute/_index.md | 4 +-
doc/content/en/project/Privacy policy/_index.md | 4 +-
doc/content/en/project/Security/_index.md | 43 +-
doc/examples/example.py | 28 +-
doc/examples/java-example/pom.xml | 23 +-
doc/examples/mr-example/pom.xml | 6 +-
lang/rust/wasm-demo/src/lib.rs => doc/go.mod | 10 +
doc/go.sum | 6 +
doc/layouts/partials/navbar-asf-links.html | 16 +-
doc/layouts/partials/navbar-docs-selector.html | 16 +-
doc/layouts/partials/navbar.html | 7 +-
doc/layouts/project/list.html | 6 +-
doc/layouts/shortcodes/project_logo.html | 22 +
doc/package-lock.json | 922 ++++
doc/package.json | 6 +-
doc/themes/docsy | 1 -
lang/c++/CMakeLists.txt | 326 +-
lang/c++/LICENSE | 30 -
lang/c++/MainPage.dox | 7 +-
lang/c++/README | 8 +-
lang/c++/api/LogicalType.hh | 65 -
lang/c++/build.sh | 26 +-
lang/c++/cmake/avro-cpp-config.cmake.in | 67 +
.../c++/cmake/avro-cpp.pc.in | 23 +-
lang/c++/examples/cpx.hh | 17 +-
lang/c++/examples/custom.cc | 14 +-
lang/c++/examples/datafile.cc | 17 +-
lang/c++/examples/generated.cc | 10 +-
lang/c++/examples/generic.cc | 16 +-
lang/c++/examples/imaginary.hh | 18 +-
lang/c++/examples/resolving.cc | 16 +-
lang/c++/examples/schemaload.cc | 7 +-
lang/c++/examples/validating.cc | 20 +-
lang/c++/impl/BinaryDecoder.cc | 12 +-
lang/c++/impl/Compiler.cc | 216 +-
lang/c++/impl/CustomAttributes.cc | 41 +-
lang/c++/impl/DataFile.cc | 460 +-
lang/c++/impl/FileStream.cc | 30 +-
lang/c++/impl/Generic.cc | 6 +-
lang/c++/impl/GenericDatum.cc | 2 +-
lang/c++/impl/LogicalType.cc | 58 +-
lang/c++/impl/Node.cc | 114 +-
lang/c++/impl/NodeImpl.cc | 157 +-
lang/c++/impl/Resolver.cc | 42 +-
lang/c++/impl/Schema.cc | 2 +-
lang/c++/impl/Stream.cc | 8 +-
lang/c++/impl/ValidSchema.cc | 7 +-
lang/c++/impl/Validator.cc | 17 +-
lang/c++/impl/Zigzag.cc | 8 +-
lang/c++/impl/ZstdCompressWrapper.cc | 62 +
.../Exception.hh => impl/ZstdCompressWrapper.hh} | 30 +-
lang/c++/impl/ZstdDecompressWrapper.cc | 78 +
.../Exception.hh => impl/ZstdDecompressWrapper.hh} | 30 +-
lang/c++/impl/avrogencpp.cc | 423 +-
lang/c++/impl/json/JsonDom.cc | 27 +-
lang/c++/impl/json/JsonDom.hh | 31 +-
lang/c++/impl/json/JsonIO.cc | 106 +-
lang/c++/impl/json/JsonIO.hh | 52 +-
lang/c++/impl/parsing/JsonCodec.cc | 12 +-
lang/c++/impl/parsing/ResolvingDecoder.cc | 109 +-
lang/c++/impl/parsing/Symbol.cc | 6 +-
lang/c++/impl/parsing/Symbol.hh | 68 +-
lang/c++/impl/parsing/ValidatingCodec.cc | 4 +-
lang/c++/{api => include/avro}/AvroParse.hh | 0
lang/c++/{api => include/avro}/AvroSerialize.hh | 0
lang/c++/{api => include/avro}/AvroTraits.hh | 0
lang/c++/{api => include/avro}/Compiler.hh | 9 +-
lang/c++/{api => include/avro}/Config.hh | 40 +-
lang/c++/{api => include/avro}/CustomAttributes.hh | 21 +-
lang/c++/{api => include/avro}/DataFile.hh | 89 +-
lang/c++/{api => include/avro}/Decoder.hh | 0
lang/c++/{api => include/avro}/Encoder.hh | 0
lang/c++/{api => include/avro}/Exception.hh | 8 +-
lang/c++/{api => include/avro}/Generic.hh | 12 +-
lang/c++/{api => include/avro}/GenericDatum.hh | 61 +-
lang/c++/{api => include/avro}/Layout.hh | 8 +-
lang/c++/include/avro/LogicalType.hh | 120 +
lang/c++/{api => include/avro}/Node.hh | 47 +-
lang/c++/{api => include/avro}/NodeConcepts.hh | 4 +-
lang/c++/{api => include/avro}/NodeImpl.hh | 95 +-
lang/c++/{api => include/avro}/Parser.hh | 5 +-
lang/c++/{api => include/avro}/Reader.hh | 16 +-
lang/c++/{api => include/avro}/Resolver.hh | 7 +-
lang/c++/{api => include/avro}/ResolverSchema.hh | 1 -
lang/c++/{api => include/avro}/ResolvingReader.hh | 5 +-
lang/c++/{api => include/avro}/Schema.hh | 2 +-
lang/c++/{api => include/avro}/SchemaResolution.hh | 0
lang/c++/{api => include/avro}/Serializer.hh | 6 +-
lang/c++/{api => include/avro}/Specific.hh | 5 +-
lang/c++/{api => include/avro}/Stream.hh | 13 +-
lang/c++/{api => include/avro}/Types.hh | 9 +
lang/c++/{api => include/avro}/ValidSchema.hh | 0
lang/c++/{api => include/avro}/Validator.hh | 41 +-
lang/c++/{api => include/avro}/Writer.hh | 6 +-
lang/c++/{api => include/avro}/Zigzag.hh | 6 +-
lang/c++/{api => include/avro}/buffer/Buffer.hh | 11 +-
.../{api => include/avro}/buffer/BufferPrint.hh | 2 +-
.../{api => include/avro}/buffer/BufferReader.hh | 8 +-
.../{api => include/avro}/buffer/BufferStream.hh | 4 +-
.../avro}/buffer/BufferStreambuf.hh | 10 +-
.../avro}/buffer/detail/BufferDetail.hh | 37 +-
.../avro}/buffer/detail/BufferDetailIterator.hh | 18 -
lang/c++/jsonschemas/big_union | 101 +
lang/c++/jsonschemas/bigrecord | 3 +-
.../jsonschemas/cpp_reserved_words_union_typedef | 13 +
lang/c++/jsonschemas/union_empty_record | 25 +
lang/c++/jsonschemas/union_redundant_types | 22 +
lang/c++/m4/README | 3 -
lang/c++/m4/m4_ax_boost_asio.m4 | 108 -
lang/c++/m4/m4_ax_boost_base.m4 | 219 -
lang/c++/m4/m4_ax_boost_filesystem.m4 | 115 -
lang/c++/m4/m4_ax_boost_regex.m4 | 105 -
lang/c++/m4/m4_ax_boost_system.m4 | 117 -
lang/c++/m4/m4_ax_boost_thread.m4 | 146 -
lang/c++/parser/AvroLex.ll | 203 -
lang/c++/parser/AvroYacc.yy | 200 -
lang/c++/test/AvrogencppTestReservedWords.cc | 1 +
lang/c++/test/AvrogencppTests.cc | 258 +-
lang/c++/test/CodecTests.cc | 778 +++-
lang/c++/test/CommonsSchemasTests.cc | 94 +
lang/c++/test/CompilerTests.cc | 63 +
lang/c++/test/DataFileTests.cc | 604 ++-
lang/c++/test/JsonTests.cc | 17 +-
lang/c++/test/SchemaTests.cc | 729 +++-
lang/c++/test/StreamTests.cc | 13 +-
lang/c++/test/buffertest.cc | 122 +-
lang/c++/test/unittest.cc | 75 +-
lang/c/CMakeLists.txt | 10 +-
lang/c/build.sh | 5 +
lang/c/docs/index.txt | 4 +-
lang/c/examples/quickstop.c | 2 +-
lang/c/src/avro/basics.h | 4 +-
lang/c/src/avro/refcount.h | 5 +-
lang/c/src/codec.c | 3 +
lang/c/src/consume-binary.c | 3 +
lang/c/src/datafile.c | 12 +
lang/c/src/datum.c | 13 +-
lang/c/src/datum_equal.c | 10 +-
lang/c/src/datum_size.c | 3 +-
lang/c/src/datum_skip.c | 3 +
lang/c/src/datum_validate.c | 4 +-
lang/c/src/datum_value.c | 14 +-
lang/c/src/encoding.h | 2 +
lang/c/src/encoding_binary.c | 16 +-
lang/c/src/generic.c | 2 +-
lang/c/src/memoize.c | 6 +-
lang/c/src/schema.c | 23 +-
lang/c/src/st.c | 34 +-
lang/c/src/st.h | 22 +-
lang/c/src/value-json.c | 11 +-
lang/c/tests/CMakeLists.txt | 2 +
lang/c/tests/test_avro_4246.c | 223 +
lang/c/tests/test_avro_data.c | 8 +-
lang/c/tests/test_avro_type_collision.c | 64 +
lang/c/version.sh | 4 +-
lang/csharp/README.md | 32 +-
lang/csharp/build.sh | 7 +-
lang/csharp/common.props | 8 +-
lang/csharp/src/apache/benchmark/Program.cs | 4 +-
lang/csharp/src/apache/ipc/Avro.ipc.csproj | 2 +-
lang/csharp/src/apache/ipc/HttpListenerServer.cs | 2 +-
lang/csharp/src/apache/ipc/Responder.cs | 16 +-
.../src/apache/ipc/Specific/SpecificRequestor.cs | 6 +-
lang/csharp/src/apache/main/AvroDecimal.cs | 17 +-
lang/csharp/src/apache/main/CodeGen/CodeGen.cs | 51 +-
lang/csharp/src/apache/main/File/DeflateCodec.cs | 32 +-
.../src/apache/main/Generic/GenericReader.cs | 29 +-
.../apache/main/Generic/PreresolvingDatumReader.cs | 40 +-
.../apache/main/IO/BinaryDecoder.netstandard2.0.cs | 4 +-
.../main/IO/BinaryDecoder.notnetstandard2.0.cs | 4 +-
lang/csharp/src/apache/main/IO/BinaryEncoder.cs | 18 +-
lang/csharp/src/apache/main/IO/JsonDecoder.cs | 72 +-
lang/csharp/src/apache/main/Protocol/Message.cs | 1 +
lang/csharp/src/apache/main/Schema/Field.cs | 10 +
.../csharp/src/apache/main/Schema/LogicalSchema.cs | 18 +-
lang/csharp/src/apache/main/Schema/Schema.cs | 17 +-
lang/csharp/src/apache/main/Schema/SchemaName.cs | 89 +
.../src/apache/main/Specific/SpecificReader.cs | 24 +-
.../src/apache/main/Specific/SpecificWriter.cs | 2 +-
.../src/apache/main/Util/LogicalTypeFactory.cs | 20 +-
.../src/apache/main/Util/UnknownLogicalType.cs | 145 +
lang/csharp/src/apache/test/AvroDecimalTest.cs | 74 +-
.../src/apache/test/AvroGen/AvroGenHelper.cs | 13 +-
.../src/apache/test/AvroGen/AvroGenSchemaTests.cs | 10 +-
lang/csharp/src/apache/test/CodGen/CodeGenTest.cs | 55 +
lang/csharp/src/apache/test/File/FileTests.cs | 35 +-
lang/csharp/src/apache/test/IO/JsonCodecTests.cs | 113 +-
lang/csharp/src/apache/test/NuGetPackageTests.cs | 156 +
.../src/apache/test/Protocol/ProtocolTest.cs | 17 +
lang/csharp/src/apache/test/Schema/SchemaTests.cs | 113 +-
.../apache/test/Util/UnknownLogicalTypeTests.cs | 188 +
lang/csharp/versions.props | 37 +-
lang/java/android/pom.xml | 2 +-
.../java/archetypes/avro-service-archetype/pom.xml | 2 +-
.../avro-service-archetype/src/main/pom/pom.xml | 7 +
.../projects/basic/archetype.properties | 0
.../projects/basic/goal.txt | 0
lang/java/archetypes/pom.xml | 2 +-
lang/java/avro/pom.xml | 229 +-
lang/java/avro/src/it/pom.xml | 179 +
lang/java/avro/src/it/settings.xml | 51 +
.../avro/CanonicalSchemaFormatterFactory.java} | 17 +-
.../src/main/java/org/apache/avro/Conversion.java | 43 +-
.../src/main/java/org/apache/avro/Conversions.java | 152 +-
.../org/apache/avro/FormattedSchemaParser.java | 77 +
.../main/java/org/apache/avro/JsonProperties.java | 15 +-
.../java/org/apache/avro/JsonSchemaFormatter.java} | 15 +-
.../apache/avro/JsonSchemaFormatterFactory.java} | 20 +-
.../java/org/apache/avro/JsonSchemaParser.java | 88 +
.../main/java/org/apache/avro/LogicalTypes.java | 130 +-
.../main/java/org/apache/avro/NameValidator.java | 104 +
.../main/java/org/apache/avro/ParseContext.java | 351 ++
.../src/main/java/org/apache/avro/Protocol.java | 185 +-
.../src/main/java/org/apache/avro/Resolver.java | 2 +-
.../avro/src/main/java/org/apache/avro/Schema.java | 743 ++--
.../main/java/org/apache/avro/SchemaBuilder.java | 4 +-
.../java/org/apache/avro/SchemaCompatibility.java | 4 +-
.../main/java/org/apache/avro/SchemaFormatter.java | 131 +
.../org/apache/avro/SchemaFormatterFactory.java | 106 +
.../main/java/org/apache/avro/SchemaParser.java | 345 ++
.../java/org/apache/avro/SystemLimitException.java | 392 ++
.../org/apache/avro/UnresolvedUnionException.java | 9 +-
.../src/main/java/org/apache/avro/data/Json.java | 10 +-
.../java/org/apache/avro/data/TimeConversions.java | 78 +
.../main/java/org/apache/avro/file/BZip2Codec.java | 6 +-
.../java/org/apache/avro/file/CodecFactory.java | 4 +-
.../org/apache/avro/file/DataFileConstants.java | 1 -
.../java/org/apache/avro/file/DataFileReader.java | 34 +-
.../org/apache/avro/file/DataFileReader12.java | 10 +-
.../java/org/apache/avro/file/DataFileStream.java | 72 +-
.../java/org/apache/avro/file/DataFileWriter.java | 112 +-
.../java/org/apache/avro/file/DeflateCodec.java | 10 +-
.../main/java/org/apache/avro/file/FileReader.java | 4 +-
.../apache/avro/file/SeekableByteArrayInput.java | 9 +-
.../java/org/apache/avro/file/SnappyCodec.java | 10 +-
.../main/java/org/apache/avro/file/XZCodec.java | 10 +-
.../java/org/apache/avro/file/ZstandardCodec.java | 6 +-
.../java/org/apache/avro/generic/GenericData.java | 247 +-
.../apache/avro/generic/GenericDatumReader.java | 207 +-
.../apache/avro/generic/GenericDatumWriter.java | 6 +-
.../org/apache/avro/generic/PrimitivesArrays.java | 665 +++
.../main/java/org/apache/avro/io/BinaryData.java | 34 +-
.../java/org/apache/avro/io/BinaryDecoder.java | 219 +-
.../java/org/apache/avro/io/BinaryEncoder.java | 46 +-
.../org/apache/avro/io/BlockingBinaryEncoder.java | 9 +-
.../avro/io/BlockingDirectBinaryEncoder.java | 141 +
.../org/apache/avro/io/BufferedBinaryEncoder.java | 13 +-
.../main/java/org/apache/avro/io/DatumWriter.java | 16 +
.../src/main/java/org/apache/avro/io/Decoder.java | 76 +-
.../java/org/apache/avro/io/DecoderFactory.java | 16 +-
.../org/apache/avro/io/DirectBinaryDecoder.java | 23 +-
.../org/apache/avro/io/DirectBinaryEncoder.java | 12 +-
.../src/main/java/org/apache/avro/io/Encoder.java | 58 +-
.../java/org/apache/avro/io/EncoderFactory.java | 92 +-
.../java/org/apache/avro/io/FastReaderBuilder.java | 91 +-
.../main/java/org/apache/avro/io/JsonDecoder.java | 81 +-
.../main/java/org/apache/avro/io/JsonEncoder.java | 69 +-
.../java/org/apache/avro/io/ResolvingDecoder.java | 17 +-
.../java/org/apache/avro/io/ValidatingDecoder.java | 7 +-
.../java/org/apache/avro/io/ValidatingEncoder.java | 8 +-
.../java/org/apache/avro/io/parsing/Parser.java | 2 +-
.../avro/io/parsing/ResolvingGrammarGenerator.java | 41 +-
.../java/org/apache/avro/io/parsing/Symbol.java | 25 +-
.../io/parsing/ValidatingGrammarGenerator.java | 2 +-
.../apache/avro/message/BinaryMessageDecoder.java | 2 +-
.../org/apache/avro/message/RawMessageDecoder.java | 4 +-
.../org/apache/avro/message/RawMessageEncoder.java | 3 +-
.../apache/avro/path/TracingAvroTypeException.java | 4 +-
.../java/org/apache/avro/reflect/AvroEncode.java | 4 +-
.../apache/avro/reflect/FieldAccessReflect.java | 10 +-
.../org/apache/avro/reflect/FieldAccessUnsafe.java | 366 --
.../java/org/apache/avro/reflect/ReflectData.java | 103 +-
.../apache/avro/reflect/ReflectDatumReader.java | 14 +
.../apache/avro/reflect/ReflectDatumWriter.java | 12 +-
.../org/apache/avro/reflect/ReflectionUtil.java | 38 +-
.../apache/avro/specific/ExternalizableInput.java | 5 -
.../org/apache/avro/specific/SpecificData.java | 167 +-
.../apache/avro/specific/SpecificDatumReader.java | 43 +-
.../apache/avro/util/ByteBufferInputStream.java | 16 +-
.../apache/avro/util/ClassSecurityValidator.java | 254 ++
.../main/java/org/apache/avro/util/ClassUtils.java | 12 +-
.../main/java/org/apache/avro/util/MapUtil.java | 7 +-
.../avro/util/NonCopyingByteArrayOutputStream.java | 90 +-
.../main/java/org/apache/avro/util/RandomData.java | 69 +-
.../java/org/apache/avro/util/SchemaResolver.java | 275 ++
.../java/org/apache/avro/util/SchemaVisitor.java | 69 +
.../main/java/org/apache/avro/util}/Schemas.java | 135 +-
.../main/java/org/apache/avro/util/TimePeriod.java | 393 ++
.../src/main/java/org/apache/avro/util/Utf8.java | 124 +-
.../java/org/apache/avro/util/UtfTextUtils.java | 247 ++
.../org/apache/avro/util/WeakIdentityHashMap.java | 4 +-
.../apache/avro/util/internal/JacksonUtils.java | 44 +-
.../org.apache.avro.SchemaFormatterFactory} | 6 +-
...ummyLogicalTypeFactory.java => CustomType.java} | 28 +-
...alTypeFactory.java => CustomTypeConverter.java} | 28 +-
...tory.java => CustomTypeLogicalTypeFactory.java} | 6 +-
.../java/org/apache/avro/DummySchemaParser.java | 53 +
.../java/org/apache/avro/FooBarSpecificRecord.java | 2 +-
.../java/org/apache/avro/GenerateBlockingData.java | 2 +-
.../java/org/apache/avro/ParseContextTest.java | 129 +
.../java/org/apache/avro/SchemaFormatterTest.java | 88 +
.../org/apache/avro/SchemaNameValidatorTest.java | 59 +
.../org/apache/avro/TestBigDecimalConversion.java | 85 +
.../src/test/java/org/apache/avro/TestCompare.java | 37 +-
.../test/java/org/apache/avro/TestDataFile.java | 123 +-
.../java/org/apache/avro/TestDataFileConcat.java | 75 +-
.../org/apache/avro/TestDataFileCorruption.java | 5 +-
.../java/org/apache/avro/TestDataFileReader.java | 110 +-
.../src/test/java/org/apache/avro/TestFixed.java | 17 +-
.../test/java/org/apache/avro/TestLogicalType.java | 45 +-
.../test/java/org/apache/avro/TestProtocol.java | 88 +
.../TestReadingWritingDataInEvolvedSchemas.java | 344 +-
.../src/test/java/org/apache/avro/TestSchema.java | 305 +-
.../java/org/apache/avro/TestSchemaBuilder.java | 25 +-
.../java/org/apache/avro/TestSchemaCommons.java | 17 +-
.../org/apache/avro/TestSchemaCompatibility.java | 28 +-
.../avro/TestSchemaCompatibilityEnumDefaults.java | 13 +-
.../TestSchemaCompatibilityFixedSizeMismatch.java | 52 +-
.../TestSchemaCompatibilityMissingEnumSymbols.java | 45 +-
.../TestSchemaCompatibilityMissingUnionBranch.java | 129 +-
.../avro/TestSchemaCompatibilityNameMismatch.java | 51 +-
...ompatibilityReaderFieldMissingDefaultValue.java | 43 +-
.../avro/TestSchemaCompatibilityTypeMismatch.java | 124 +-
.../org/apache/avro/TestSchemaNormalization.java | 6 +-
.../java/org/apache/avro/TestSchemaParser.java | 141 +
.../org/apache/avro/TestSchemaValidateDefault.java | 152 +
.../java/org/apache/avro/TestSchemaValidation.java | 2 +-
.../java/org/apache/avro/TestSchemaWarnings.java | 14 +-
.../org/apache/avro/TestSystemLimitException.java | 208 +
.../test/java/org/apache/avro/TestUnionError.java | 87 +
.../org/apache/avro/TestUnionSelfReference.java | 25 +-
.../java/org/apache/avro/TestUuidConversions.java | 72 +
.../src/test/java/org/apache/avro/TypeEnum.java | 2 +-
.../org/apache/avro/data/TestTimeConversions.java | 19 +
.../java/org/apache/avro/file/TestAllCodecs.java | 58 +-
.../avro/file/TestIOExceptionDuringWrite.java | 3 +-
.../avro/file/TestSeekableByteArrayInput.java | 47 +-
.../apache/avro/file/TestSeekableInputStream.java | 57 +
.../GenericDataArrayTest.java} | 34 +-
.../org/apache/avro/generic/GenericDataTest.java | 262 ++
.../apache/avro/generic/PrimitivesArraysTest.java | 307 ++
.../org/apache/avro/generic/TestGenericData.java | 121 +-
.../avro/generic/TestGenericDatumReader.java | 569 +++
.../avro/generic/TestGenericDatumWriter.java | 20 +-
.../avro/generic/TestGenericLogicalTypes.java | 144 +-
.../avro/io/FastReaderBuilderJavaClassTest.java | 116 +
.../java/org/apache/avro/io/TestBinaryData.java | 56 +-
.../java/org/apache/avro/io/TestBinaryDecoder.java | 640 ++-
.../apache/avro/io/TestBinaryEncoderFidelity.java | 42 +
.../avro/io/TestBlockingDirectBinaryEncoder.java | 147 +
.../java/org/apache/avro/io/TestBlockingIO.java | 65 +-
.../java/org/apache/avro/io/TestBlockingIO2.java | 38 +-
.../test/java/org/apache/avro/io/TestEncoders.java | 110 +-
.../avro/io/TestFastReaderBuilderClassLoading.java | 120 +
.../java/org/apache/avro/io/TestJsonDecoder.java | 43 +-
.../java/org/apache/avro/io/TestResolvingIO.java | 60 +-
.../apache/avro/io/TestResolvingIOResolving.java | 62 +-
.../java/org/apache/avro/io/TestValidatingIO.java | 115 +-
.../org/apache/avro/io/parsing/SymbolTest.java | 3 +-
.../io/parsing/TestResolvingGrammarGenerator.java | 68 +-
.../io/parsing/TestResolvingGrammarGenerator2.java | 3 +-
.../TestGenerateInteropSingleObjectEncoding.java | 5 +-
.../message/TestInteropSingleObjectEncoding.java | 5 +-
.../org/apache/avro/reflect/TestAvroEncode.java | 181 +
.../java/org/apache/avro/reflect/TestReflect.java | 175 +-
.../org/apache/avro/reflect/TestReflectData.java | 15 +-
.../avro/reflect/TestReflectDatumReader.java | 18 +
.../avro/reflect/TestReflectLogicalTypes.java | 111 +-
.../apache/avro/reflect/TestReflectionUtil.java | 79 -
.../avro/specific/TestRecordWithLogicalTypes.java | 53 +-
.../avro/specific/TestRecordWithMapsAndArrays.java | 875 ++++
.../specific/TestRecordWithoutLogicalTypes.java | 4 +-
.../org/apache/avro/specific/TestSpecificData.java | 19 +
.../avro/specific/TestSpecificRecordWithUnion.java | 36 +-
.../avro/specific/TestSpecificToFromByteArray.java | 5 +-
.../org/apache/avro/specific/TestUnionRecord.java | 2 +-
.../test/java/org/apache/avro/specific/int$.java | 229 +
.../util/NonCopyingByteArrayOutputStreamTest.java | 93 +
.../avro/util/TestClassSecurityValidator.java | 138 +
.../java/org/apache/avro/util/TestRandomData.java | 225 +
.../org/apache/avro/util/TestSchemaResolver.java | 82 +
.../java/org/apache/avro/util/TestSchemas.java | 210 +
.../test/java/org/apache/avro/util/TestUtf8.java | 79 +-
.../java/org/apache/avro/util/TimePeriodTest.java | 306 ++
.../org/apache/avro/util/UtfTextUtilsTest.java | 132 +
.../apache/avro/util/WeakIdentityHashMapTest.java | 89 +
.../avro/util/internal/TestJacksonUtils.java | 5 +
.../META-INF/services/org.apache.avro.Conversion} | 17 +-
.../services/org.apache.avro.FormattedSchemaParser | 18 +-
...org.apache.avro.LogicalTypes$LogicalTypeFactory | 2 +-
.../test/resources/TestRecordWithLogicalTypes.avsc | 8 +-
.../resources/TestRecordWithMapsAndArrays.avsc | 47 +
.../resources/multipleFile/ApplicationEvent.avsc | 44 +
.../test/resources/multipleFile/DocumentInfo.avsc | 19 +
.../test/resources/multipleFile/MyResponse.avsc | 14 +
.../avro/src/test/resources/multipleFile/README.md | 8 +
lang/java/build.sh | 7 +-
lang/java/compiler/pom.xml | 70 +-
.../apache/avro/compiler/idl/SchemaResolver.java | 25 +-
.../org/apache/avro/compiler/schema/Schemas.java | 6 +-
.../apache/avro/compiler/specific/SchemaTask.java | 15 +-
.../avro/compiler/specific/SpecificCompiler.java | 399 +-
.../javacc/org/apache/avro/compiler/idl/idl.jj | 10 +-
.../specific/templates/java/classic/enum.vm | 4 +-
.../specific/templates/java/classic/fixed.vm | 4 +-
.../specific/templates/java/classic/protocol.vm | 8 +-
.../specific/templates/java/classic/record.vm | 106 +-
lang/java/compiler/src/test/idl/input/bar.avpr | 3 +-
lang/java/compiler/src/test/idl/input/union.avdl | 16 +
lang/java/compiler/src/test/idl/output/import.avpr | 10 +-
.../compiler/src/test/idl/output/nestedimport.avpr | 11 +-
lang/java/compiler/src/test/idl/output/union.avpr | 38 +
.../apache/avro/compiler/schema/TestSchemas.java | 62 +-
.../compiler/specific/TestSpecificCompiler.java | 291 +-
.../apache/avro/specific/TestGeneratedCode.java | 31 +-
.../org/apache/avro/specific/TestSpecificData.java | 29 +-
.../src/test/resources/full_record_v2.avsc | 3 +-
.../regression_error_field_in_record.avsc | 22 +
.../compiler/src/test/resources/simple_record.avsc | 5 +-
lang/java/grpc/pom.xml | 5 +-
lang/java/grpc/src/test/avro/TestService.avdl | 2 +-
lang/java/idl/pom.xml | 178 +
.../src/main/java/org/apache/avro/idl/IdlFile.java | 166 +
.../main/java/org/apache/avro/idl/IdlReader.java | 1073 +++++
.../org/apache/avro/idl/IdlSchemaFormatter.java} | 37 +-
.../avro/idl/IdlSchemaFormatterFactory.java} | 14 +-
.../java/org/apache/avro/idl/IdlSchemaParser.java | 53 +
.../main/java/org/apache/avro/idl/IdlUtils.java | 545 +++
.../idl/src/main/resources/META-INF}/LICENSE | 0
.../org.apache.avro.FormattedSchemaParser} | 5 +-
.../org.apache.avro.SchemaFormatterFactory} | 5 +-
.../src/test/idl/AnnotationOnTypeReference.avdl} | 20 +-
.../src/test/idl/cycle.avdl} | 30 +-
.../test/idl/extra/duplicateNameErrorParsing.avdl | 14 +
.../idl/src/test/idl/extra/protocolSyntax.avdl | 9 +
lang/java/idl/src/test/idl/extra/schemaSyntax.avdl | 8 +
.../{compiler => idl}/src/test/idl/input/bar.avpr | 0
.../idl/src/test/idl/input/baseball.avdl} | 14 +-
lang/java/idl/src/test/idl/input/baz.avsc | 3 +
lang/java/idl/src/test/idl/input/comments.avdl | 64 +
.../src/test/idl/input/cycle.avdl} | 30 +-
.../java/idl/src/test/idl/input}/echo.avdl | 20 +-
lang/java/idl/src/test/idl/input/foo.avsc | 3 +
.../src/test/idl/input/forward_ref.avdl} | 21 +-
.../java/idl/src/test/idl/input/import.avdl | 35 +-
.../java/idl/src/test/idl/input/interop.avdl | 53 +-
.../src/test/idl/input/leading_underscore.avdl} | 15 +-
lang/java/idl/src/test/idl/input/mr_events.avdl | 74 +
.../java/idl/src/test/idl/input/namespaces.avdl | 47 +-
.../java/idl/src/test/idl/input/nestedimport.avdl | 28 +-
lang/java/idl/src/test/idl/input/player.avsc | 8 +
lang/java/idl/src/test/idl/input/position.avsc | 3 +
.../idl/src/test/idl/input/reservedwords.avdl} | 18 +-
.../src/test/idl/input/schema_syntax_schema.avdl} | 41 +-
lang/java/idl/src/test/idl/input/simple.avdl | 90 +
.../java/idl/src/test/idl/input/status_schema.avdl | 5 +
.../idl/src/test/idl/input/unicode.avdl} | 18 +-
lang/java/idl/src/test/idl/input/union.avdl | 16 +
.../idl/src/test/idl/input/uuid.avdl} | 33 +-
.../java/idl/src/test/idl/logicalTypes.avdl | 31 +-
.../src/test/idl/output/baseball.avpr} | 46 +-
lang/java/idl/src/test/idl/output/comments.avpr | 67 +
lang/java/idl/src/test/idl/output/cycle.avpr | 55 +
lang/java/idl/src/test/idl/output/echo.avpr | 37 +
lang/java/idl/src/test/idl/output/forward_ref.avpr | 16 +
.../src/test/idl/output/import.avpr | 0
lang/java/idl/src/test/idl/output/interop.avpr | 94 +
.../src/test/idl/output/leading_underscore.avpr | 17 +
lang/java/idl/src/test/idl/output/mr_events.avpr | 125 +
lang/java/idl/src/test/idl/output/namespaces.avpr | 51 +
.../src/test/idl/output/nestedimport.avpr | 0
.../src/test/idl/output/reservedwords.avpr} | 42 +-
.../idl/src/test/idl/output/schema_syntax.avsc | 36 +
lang/java/idl/src/test/idl/output/simple.avpr | 152 +
lang/java/idl/src/test/idl/output/status.avsc | 9 +
lang/java/idl/src/test/idl/output/unicode.avpr | 17 +
lang/java/idl/src/test/idl/output/union.avpr | 38 +
lang/java/idl/src/test/idl/output/uuid.avpr | 29 +
.../test/idl/putOnClassPath/OnTheClasspath.avdl} | 17 +-
.../test/idl/putOnClassPath/OnTheClasspath.avpr | 11 +
.../test/idl/putOnClassPath/OnTheClasspath.avsc | 6 +
.../idl/putOnClassPath/folder/relativePath.avdl} | 15 +-
.../src/test/idl/putOnClassPath/nestedtypes.avdl} | 16 +-
.../avro/idl/IdlSchemaFormatterFactoryTest.java | 61 +
.../java/org/apache/avro/idl/IdlUtilsTest.java | 193 +
.../test/java/org/apache/avro/idl/TestCycle.java | 88 +
.../java/org/apache/avro/idl/TestIdlReader.java | 269 ++
.../java/org/apache/avro/idl/TestLogicalTypes.java | 96 +
.../idl/TestReferenceAnnotationNotAllowed.java | 42 +
.../apache/avro/util/idl_utils_test_protocol.avdl | 45 +
.../apache/avro/util/idl_utils_test_schema.avdl | 35 +
lang/java/integration-test/codegen-test/pom.xml | 4 +-
lang/java/integration-test/pom.xml | 4 +-
.../test-custom-conversions/pom.xml | 4 +-
lang/java/interop-data-test/pom.xml | 215 +
lang/java/interop-data-test/src/it/check/pom.xml | 187 +
.../java/org/apache/avro/DataFileInteropTest.java | 12 +-
.../java/interop-data-test/src/it/generate/pom.xml | 244 ++
lang/java/interop-data-test/src/it/settings.xml | 51 +
lang/java/ipc-jetty/pom.xml | 4 +-
.../org/apache/avro/ipc/jetty/StaticServlet.java | 45 -
.../org/apache/avro/ipc/jetty/StatsServer.java | 41 +-
lang/java/ipc-netty/pom.xml | 8 +-
.../ipc/netty/TestNettyServerWithCompression.java | 2 +-
lang/java/ipc/pom.xml | 6 +-
.../avro/ipc/stats/static/jquery-1.4.2.min.js | 154 -
.../avro/ipc/stats/static/jquery-3.7.1.min.js | 2 +
.../apache/avro/ipc/stats/templates/statsview.vm | 4 +-
.../src/test/java/org/apache/avro/TestCompare.java | 126 -
.../java/org/apache/avro/TestDataFileReflect.java | 97 +
.../java/org/apache/avro/TestDataFileSpecific.java | 63 +-
.../java/org/apache/avro/TestProtocolReflect.java | 5 +
.../src/test/java/org/apache/avro/TestSchema.java | 207 +-
.../compiler/specific/TestSpecificCompiler.java | 70 +-
.../ipc/src/test/java/org/apache/avro/io/Perf.java | 17 +-
lang/java/java17-test/pom.xml | 68 +
.../org/apache/avro/reflect/TestJavaRecords.java | 108 +
lang/java/mapred/pom.xml | 8 +-
.../avro/hadoop/file/HadoopCodecFactory.java | 9 +-
.../avro/hadoop/io/AvroDatumConverterFactory.java | 2 +-
.../apache/avro/hadoop/io/AvroSequenceFile.java | 6 +-
.../apache/avro/hadoop/io/AvroSerialization.java | 9 +-
.../main/java/org/apache/avro/mapred/AvroJob.java | 7 +-
.../org/apache/avro/mapred/AvroMultipleInputs.java | 5 +-
.../org/apache/avro/mapred/TaggedInputSplit.java | 5 +-
.../java/org/apache/avro/mapreduce/AvroJob.java | 9 +-
.../avro/hadoop/file/TestHadoopCodecFactory.java | 7 +
.../hadoop/io/TestAvroDatumConverterFactory.java | 15 +
.../avro/mapred/tether/TestWordCountTether.java | 1 +
.../org/apache/avro/mapred/tether/TetherTask.java | 5 +-
.../avro/mapreduce/TestAvroMultipleOutputs.java | 5 +-
.../mapreduce/TestAvroMultipleOutputsSyncable.java | 5 +-
.../org/apache/avro/mapreduce/TestWordCount.java | 3 +-
lang/java/maven-plugin/pom.xml | 15 +-
.../org/apache/avro/mojo/AbstractAvroMojo.java | 173 +-
.../mojo/{IDLProtocolMojo.java => IDLMojo.java} | 60 +-
.../java/org/apache/avro/mojo/IDLProtocolMojo.java | 96 +-
.../java/org/apache/avro/mojo/ProtocolMojo.java | 29 +-
.../main/java/org/apache/avro/mojo/SchemaMojo.java | 65 +-
.../src/test/avro/AvdlClasspathImport.avdl | 16 +-
.../maven-plugin/src/test/avro/extends/Custom.avsc | 18 +
.../avro/multipleSchemas/ApplicationEvent.avsc | 44 +
.../test/avro/multipleSchemas/DocumentInfo.avsc | 19 +
.../src/test/avro/multipleSchemas/MyResponse.avsc | 14 +
.../src/test/avro/multipleSchemas/README.md | 8 +
.../org/apache/avro/custom/CustomRecordBase.java} | 12 +-
.../java/org/apache/avro/mojo/TestIDLMojo.java | 128 +
.../org/apache/avro/mojo/TestIDLProtocolMojo.java | 82 -
.../java/org/apache/avro/mojo/TestInduceMojo.java | 3 +-
.../java/org/apache/avro/mojo/TestSchemaMojo.java | 56 +-
.../{pom.xml => pom-incremental-compilation.xml} | 6 +-
.../unit/idl/pom-injecting-velocity-tools.xml | 2 +-
.../resources/unit/idl/{pom.xml => pom-javacc.xml} | 1 +
.../src/test/resources/unit/idl/pom.xml | 3 +-
.../unit/protocol/pom-injecting-velocity-tools.xml | 2 +-
.../src/test/resources/unit/protocol/pom.xml | 2 +-
.../pom.xml => schema/pom-customExtends.xml} | 16 +-
.../pom.xml => schema/pom-multiple-schema.xml} | 10 +-
.../schema/{pom.xml => pom-nonexistent-file.xml} | 5 +-
.../{pom.xml => pom-nonexistent-second-file.xml} | 4 +-
.../src/test/resources/unit/schema/pom.xml | 2 +-
lang/java/perf/pom.xml | 25 +-
.../avro/perf/test/basic/ExtendedEnumTest.java | 5 +-
.../avro/perf/test/basic/UnchangedUnionTest.java | 5 +-
.../perf/test/generic/GenericNestedFakeTest.java | 5 +-
.../avro/perf/test/generic/GenericNestedTest.java | 5 +-
.../avro/perf/test/generic/GenericStringTest.java | 5 +-
.../apache/avro/perf/test/generic/GenericTest.java | 5 +-
.../perf/test/generic/GenericWithDefaultTest.java | 5 +-
.../test/generic/GenericWithOutOfOrderTest.java | 5 +-
.../test/generic/GenericWithPromotionTest.java | 5 +-
.../perf/test/generic/MinBytesPerElementTest.java | 287 ++
.../apache/avro/perf/test/record/RecordTest.java | 3 +-
.../perf/test/record/RecordWithDefaultTest.java | 5 +-
.../perf/test/record/RecordWithOutOfOrderTest.java | 5 +-
.../perf/test/record/RecordWithPromotionTest.java | 5 +-
.../avro/perf/test/record/ResolvingRecordTest.java | 5 +-
.../perf/test/record/ValidatingRecordTest.java | 3 +-
.../perf/test/reflect/ReflectBigRecordTest.java | 5 +-
.../perf/test/reflect/ReflectDoubleArrayTest.java | 5 +-
.../perf/test/reflect/ReflectFloatArrayTest.java | 5 +-
.../perf/test/reflect/ReflectIntArrayTest.java | 5 +-
.../reflect/ReflectLargeFloatArrayBlockedTest.java | 5 +-
.../test/reflect/ReflectLargeFloatArrayTest.java | 5 +-
.../perf/test/reflect/ReflectLongArrayTest.java | 5 +-
.../test/reflect/ReflectNestedFloatArrayTest.java | 5 +-
.../test/reflect/ReflectNestedObjectArrayTest.java | 5 +-
.../avro/perf/test/reflect/ReflectRecordTest.java | 5 +-
lang/java/pom.xml | 140 +-
lang/java/protobuf/pom.xml | 12 +-
.../org/apache/avro/protobuf/ProtoConversions.java | 44 +-
.../org/apache/avro/protobuf/ProtobufData.java | 16 +-
.../org/apache/avro/protobuf/TestProtobuf.java | 14 +
.../org/apache/avro/protobuf/multiplefiles/A.java | 12 +
.../apache/avro/protobuf/multiplefiles/Foo.java | 1539 ++++---
.../avro/protobuf/multiplefiles/FooOrBuilder.java | 89 +
.../org/apache/avro/protobuf/multiplefiles/M.java | 194 +-
.../avro/protobuf/multiplefiles/MOrBuilder.java | 1 +
.../protobuf/multiplefiles/TestMultipleFiles.java | 28 +-
.../java/org/apache/avro/protobuf/noopt/Test.java | 1857 ++++----
.../org/apache/avro/protobuf/noopt/TestProto3.java | 883 ++++
lang/java/protobuf/src/test/protobuf/test.proto | 2 +
.../protobuf/src/test/protobuf/test_proto3.proto} | 22 +-
lang/java/thrift/pom.xml | 30 +-
.../java/org/apache/avro/thrift/ThriftData.java | 6 +-
lang/java/tools/pom.xml | 18 +-
.../apache/avro/tool/BinaryFragmentToJsonTool.java | 3 +-
.../org/apache/avro/tool/CreateRandomFileTool.java | 3 +-
.../org/apache/avro/tool/DataFileReadTool.java | 28 +-
.../org/apache/avro/tool/DataFileWriteTool.java | 2 +-
.../java/org/apache/avro/tool/FromTextTool.java | 4 +-
.../org/apache/avro/tool/IdlToSchemataTool.java | 59 +-
.../main/java/org/apache/avro/tool/IdlTool.java | 65 +-
.../apache/avro/tool/JsonToBinaryFragmentTool.java | 3 +-
.../apache/avro/tool/SchemaFingerprintTool.java | 7 +-
.../apache/avro/tool/SchemaNormalizationTool.java | 3 +-
.../org/apache/avro/tool/SpecificCompilerTool.java | 62 +-
.../main/java/org/apache/avro/tool/TetherTool.java | 3 +-
.../main/java/org/apache/avro/tool/ToTextTool.java | 4 +-
.../apache/avro/tool/TrevniCreateRandomTool.java | 3 +-
.../src/main/java/org/apache/avro/tool/Util.java | 14 +-
.../jetbrainsnullsafeannotationsfieldstest.avsc | 8 +
.../jspecifynullsafeannotationsfieldstest.avsc | 8 +
.../input/optionalgettersnullablefieldstest.avsc | 3 +-
.../src/test/compiler/output-string/Position.java | 5 +-
.../avro/examples/baseball/FieldTest.java | 50 +-
.../JSpecifyNullSafeAnnotationsFieldsTest.java} | 288 +-
.../JetBrainsNullSafeAnnotationsFieldsTest.java} | 288 +-
.../avro/examples/baseball/Player.java | 42 +-
.../avro/examples/baseball/Position.java | 4 +-
.../avro/examples/baseball/Proto.java | 2 +-
.../output/AddExtraOptionalGettersTest.java | 34 +-
.../src/test/compiler/output/NoSettersTest.java | 34 +-
.../output/OptionalGettersAllFieldsTest.java | 42 +-
.../output/OptionalGettersNullableFieldsTest.java | 122 +-
.../tools/src/test/compiler/output/Player.java | 42 +-
.../tools/src/test/compiler/output/Position.java | 4 +-
.../tools/src/test/idl/schema.avdl} | 25 +-
lang/java/tools/src/test/idl/schema.avsc | 36 +
.../java/org/apache/avro/tool/TestCatTool.java | 5 +-
.../apache/avro/tool/TestCreateRandomFileTool.java | 27 +-
.../apache/avro/tool/TestDataFileRepairTool.java | 2 +-
.../apache/avro/tool/TestIdlToSchemataTool.java | 29 +-
.../java/org/apache/avro/tool/TestIdlTool.java | 45 +-
.../org/apache/avro/tool/TestRpcProtocolTool.java | 51 +-
.../apache/avro/tool/TestSpecificCompilerTool.java | 30 +
.../java/org/apache/avro/tool/TestTetherTool.java | 1 +
.../org/apache/avro/tool/TestToTrevniTool.java | 19 +-
lang/java/trevni/avro/pom.xml | 4 +-
.../org/apache/trevni/avro/AvroColumnReader.java | 3 +-
.../java/org/apache/trevni/avro/TestCases.java | 5 +-
.../org/apache/trevni/avro/TestEvolvedSchema.java | 7 +-
.../java/org/apache/trevni/avro/TestShredder.java | 36 +-
.../java/org/apache/trevni/avro/TestWordCount.java | 3 +-
.../trevni/avro/mapreduce/TestKeyWordCount.java | 3 +-
lang/java/trevni/core/pom.xml | 4 +-
.../test/java/org/apache/trevni/TestAllCodecs.java | 29 +-
.../java/org/apache/trevni/TestColumnFile.java | 129 +-
lang/java/trevni/doc/pom.xml | 2 +-
lang/java/trevni/pom.xml | 6 +-
lang/js/.gitignore | 1 +
lang/js/lib/schemas.js | 21 +-
lang/js/package-lock.json | 3790 +++++++++-------
lang/js/package.json | 20 +-
lang/js/test/test_schemas.js | 161 +
lang/perl/Changes | 28 +
lang/perl/MANIFEST | 1 -
lang/perl/Makefile.PL | 35 +-
lang/perl/bin/avro-to-json | 4 +-
lang/perl/build.sh | 7 +-
lang/perl/lib/Avro/BinaryDecoder.pm | 8 +-
lang/perl/lib/Avro/BinaryEncoder.pm | 83 +-
lang/perl/lib/Avro/DataFileReader.pm | 4 +-
lang/perl/lib/Avro/Protocol.pm | 4 +-
lang/perl/lib/Avro/Schema.pm | 34 +-
lang/perl/t/01_schema.t | 34 +-
lang/perl/t/02_bin_encode.t | 115 +-
lang/perl/t/03_bin_decode.t | 35 +-
lang/perl/t/04_datafile.t | 17 +
lang/perl/xt/interop.t | 7 +-
lang/perl/xt/schema.t | 2 +-
lang/php/.gitignore | 2 +
lang/php/.php-cs-fixer.dist.php | 103 +
lang/php/README.md | 8 +-
lang/php/build.sh | 19 +-
lang/php/examples/write_read.php | 6 +-
lang/php/lib/Avro.php | 38 +-
lang/php/lib/AvroDebug.php | 86 +-
lang/php/lib/AvroException.php | 1 -
lang/php/lib/AvroGMP.php | 117 +-
lang/php/lib/AvroIO.php | 55 +-
lang/php/lib/AvroNotImplementedException.php | 1 -
lang/php/lib/AvroUtil.php | 11 +-
lang/php/lib/DataFile/AvroDataIO.php | 110 +-
lang/php/lib/DataFile/AvroDataIOException.php | 1 -
lang/php/lib/DataFile/AvroDataIOReader.php | 265 +-
lang/php/lib/DataFile/AvroDataIOWriter.php | 242 +-
lang/php/lib/Datum/AvroIOBinaryDecoder.php | 205 +-
lang/php/lib/Datum/AvroIOBinaryEncoder.php | 135 +-
lang/php/lib/Datum/AvroIODatumReader.php | 548 +--
lang/php/lib/Datum/AvroIODatumWriter.php | 223 +-
lang/php/lib/Datum/AvroIOSchemaMatchException.php | 14 +-
lang/php/lib/Datum/AvroIOTypeException.php | 2 -
lang/php/lib/Datum/Type/AvroDuration.php | 111 +
lang/php/lib/IO/AvroFile.php | 86 +-
lang/php/lib/IO/AvroIOException.php | 1 -
lang/php/lib/IO/AvroStringIO.php | 176 +-
lang/php/lib/Protocol/AvroProtocol.php | 80 +-
lang/php/lib/Protocol/AvroProtocolMessage.php | 57 +-
...emaParseException.php => AvroAliasedSchema.php} | 11 +-
lang/php/lib/Schema/AvroArraySchema.php | 44 +-
lang/php/lib/Schema/AvroEnumSchema.php | 33 +-
lang/php/lib/Schema/AvroField.php | 229 +-
lang/php/lib/Schema/AvroFixedSchema.php | 91 +-
lang/php/lib/Schema/AvroLogicalType.php | 136 +
lang/php/lib/Schema/AvroMapSchema.php | 47 +-
lang/php/lib/Schema/AvroName.php | 120 +-
lang/php/lib/Schema/AvroNamedSchema.php | 69 +-
lang/php/lib/Schema/AvroNamedSchemata.php | 94 +-
lang/php/lib/Schema/AvroPrimitiveSchema.php | 87 +-
lang/php/lib/Schema/AvroRecordSchema.php | 138 +-
lang/php/lib/Schema/AvroSchema.php | 475 +-
lang/php/lib/Schema/AvroSchemaParseException.php | 1 -
lang/php/lib/Schema/AvroUnionSchema.php | 60 +-
lang/php/lib/autoload.php | 72 +-
lang/php/monorepo.json | 16 -
lang/php/phpstan-baseline.neon | 148 +
lang/{py/pyproject.toml => php/phpstan.neon} | 20 +-
lang/php/phpunit.xml | 55 +-
lang/php/test/DataFileTest.php | 265 +-
lang/php/test/DatumIOTest.php | 491 ++-
lang/php/test/FloatIntEncodingTest.php | 543 +--
lang/php/test/IODatumReaderTest.php | 295 +-
lang/php/test/InterOpTest.php | 41 +-
lang/php/test/LongEncodingTest.php | 259 +-
lang/php/test/NameTest.php | 62 +-
lang/php/test/ProtocolFileTest.php | 790 ++--
lang/php/test/SchemaTest.php | 1902 +++++---
lang/php/test/StringIOTest.php | 18 +-
lang/php/test/generate_interop_data.php | 15 +-
lang/php/test/test_helper.php | 10 +-
lang/py/README.md | 2 +-
lang/py/avro/__main__.py | 1 +
lang/py/avro/constants.py | 1 -
lang/py/avro/datafile.py | 13 +-
lang/py/avro/errors.py | 4 +
lang/py/avro/io.py | 20 +-
lang/py/avro/ipc.py | 67 +-
lang/py/avro/name.py | 1 +
lang/py/avro/schema.py | 211 +-
lang/py/avro/test/gen_interop_data.py | 4 +-
lang/py/avro/test/sample_http_server.py | 13 +-
lang/py/avro/test/test_io.py | 102 +-
lang/py/avro/test/test_protocol.py | 2 +-
lang/py/avro/test/test_schema.py | 306 +-
lang/py/avro/test/test_script.py | 17 +-
lang/py/avro/test/test_tether_task.py | 3 +-
lang/py/avro/test/test_tether_task_runner.py | 8 +-
lang/py/avro/test/test_tether_word_count.py | 16 +-
lang/py/avro/tether/__init__.py | 10 +
lang/py/avro/tether/tether_task.py | 22 +-
lang/py/avro/tether/tether_task_runner.py | 8 +-
lang/py/avro/tool.py | 3 +-
lang/py/avro/utils.py | 2 +
lang/py/build.sh | 70 +-
lang/{java/build.sh => py/docs/Makefile} | 50 +-
lang/py/docs/make.bat | 50 +
lang/py/docs/source/_static/.gitignore | 0
lang/py/docs/source/automodule.rst | 54 +
lang/py/docs/source/conf.py | 47 +
.../py/docs/source/index.rst | 34 +-
lang/py/docs/source/intro.rst | 29 +
lang/py/pyproject.toml | 70 +-
lang/py/setup.cfg | 83 -
lang/py/setup.py | 2 -
lang/py/tox.ini | 86 -
lang/py/uv.lock | 1009 +++++
lang/ruby/lib/avro/io.rb | 28 +-
lang/ruby/lib/avro/logical_types.rb | 35 +-
lang/ruby/lib/avro/schema.rb | 18 +-
lang/ruby/lib/avro/schema_validator.rb | 16 +-
lang/ruby/test/random_data.rb | 2 +
lang/ruby/test/test_io.rb | 5 +-
lang/ruby/test/test_logical_types.rb | 136 +-
lang/ruby/test/test_schema.rb | 33 +
lang/rust/.deactivate.sh | 22 -
lang/rust/.gitignore | 8 -
lang/rust/.pre-commit-config.yaml | 33 -
lang/rust/.requirements-precommit.txt | 1 -
lang/rust/CHANGELOG.md | 166 -
lang/rust/Cargo.lock | 1287 ------
lang/rust/Cargo.toml | 27 -
lang/rust/Makefile | 105 -
lang/rust/README.md | 42 +-
lang/rust/README.tpl | 19 -
lang/rust/avro/Cargo.toml | 92 -
lang/rust/avro/README.md | 658 ---
lang/rust/avro/benches/quickstop-null.avro | Bin 166053 -> 0 bytes
lang/rust/avro/benches/serde.rs | 335 --
lang/rust/avro/benches/serde_json.rs | 79 -
lang/rust/avro/benches/single.rs | 193 -
lang/rust/avro/examples/benchmark.rs | 154 -
lang/rust/avro/examples/generate_interop_data.rs | 111 -
lang/rust/avro/examples/test_interop_data.rs | 79 -
.../test_interop_single_object_encoding.rs | 75 -
lang/rust/avro/examples/to_value.rs | 29 -
lang/rust/avro/src/codec.rs | 279 --
lang/rust/avro/src/de.rs | 1255 ------
lang/rust/avro/src/decimal.rs | 125 -
lang/rust/avro/src/decode.rs | 784 ----
lang/rust/avro/src/duration.rs | 155 -
lang/rust/avro/src/encode.rs | 839 ----
lang/rust/avro/src/error.rs | 454 --
lang/rust/avro/src/lib.rs | 986 -----
lang/rust/avro/src/rabin.rs | 162 -
lang/rust/avro/src/reader.rs | 963 -----
lang/rust/avro/src/schema.rs | 4537 --------------------
lang/rust/avro/src/schema_compatibility.rs | 903 ----
lang/rust/avro/src/ser.rs | 1028 -----
lang/rust/avro/src/types.rs | 2641 ------------
lang/rust/avro/src/util.rs | 287 --
lang/rust/avro/src/writer.rs | 1306 ------
lang/rust/avro/tests/append_to_existing.rs | 86 -
lang/rust/avro/tests/io.rs | 319 --
lang/rust/avro/tests/schema.rs | 1386 ------
lang/rust/avro/tests/shared.rs | 147 -
.../rust/avro/tests/to_from_avro_datum_schemata.rs | 84 -
lang/rust/avro_derive/Cargo.toml | 45 -
lang/rust/avro_derive/README.md | 69 -
lang/rust/avro_derive/src/lib.rs | 524 ---
lang/rust/avro_derive/tests/derive.rs | 1563 -------
lang/rust/avro_test_helper/Cargo.toml | 39 -
lang/rust/avro_test_helper/README.md | 51 -
lang/rust/avro_test_helper/src/lib.rs | 51 -
lang/rust/avro_test_helper/src/logger.rs | 79 -
lang/rust/build.sh | 69 -
lang/rust/fuzz/.gitignore | 4 -
lang/rust/fuzz/Cargo.toml | 49 -
lang/rust/fuzz/corpus/roundtrip/infinite_iteration | Bin 132 -> 0 bytes
.../fuzz/corpus/roundtrip/negate_with_overflow | Bin 17 -> 0 bytes
lang/rust/fuzz/corpus/roundtrip/unchecked_resize | Bin 58 -> 0 bytes
lang/rust/fuzz/fuzz_targets/roundtrip.rs | 117 -
lang/rust/migration_guide.md | 107 -
lang/rust/rustfmt.toml | 19 -
lang/rust/wasm-demo/Cargo.toml | 48 -
lang/rust/wasm-demo/README.md | 28 -
lang/rust/wasm-demo/tests/demos.rs | 86 -
pom.xml | 148 +-
share/VERSION.txt | 2 +-
share/docker/Dockerfile | 142 +-
share/docker/run-tests.sh | 8 +-
share/editors/README.txt | 5 +
share/idl_grammar/org/apache/avro/idl/Idl.g4 | 257 ++
share/test/data/weather-deflate.avro | Bin 0 -> 319 bytes
share/test/data/weather-zstd.avro | Bin 0 -> 333 bytes
share/test/interop/bin/test_rpc_interop.sh | 2 +-
share/test/schemas/contexts.avdl | 2 +-
share/test/schemas/echo.avdl | 2 +-
share/test/schemas/fooBar.avsc | 21 +
share/test/schemas/http.avdl | 2 +-
share/test/schemas/nestedNullable.avdl | 2 +-
share/test/schemas/schemaevolution.avdl | 2 +-
share/test/schemas/social.avdl | 2 +-
share/test/schemas/specialtypes.avdl | 2 +-
share/test/schemas/stringables.avdl | 2 +-
1040 files changed, 52608 insertions(+), 42593 deletions(-)
diff --cc lang/py/avro/schema.py
index 2eb231402a,018f74debe..a35ab1d471
--- a/lang/py/avro/schema.py
+++ b/lang/py/avro/schema.py
@@@ -587,16 -715,9 +715,18 @@@ class EnumSchema(EqualByPropsMixin, Nam
return symbols
raise Exception
+ @property
+ def default(self) -> Union[str, None]:
+ symbol = self.get_prop("default")
+ if isinstance(symbol, str):
+ return symbol
+ if symbol is None:
+ return None
+ raise Exception
+
- doc = property(lambda self: self.get_prop("doc"))
+ @property
+ def doc(self):
+ return self.get_prop("doc")
def match(self, writer):
"""Return True if the current schema (as reader) matches the writer schema.
diff --cc lang/py/avro/test/test_io.py
index 7d634d1b28,41a0e366ba..41d7f827cf
--- a/lang/py/avro/test/test_io.py
+++ b/lang/py/avro/test/test_io.py
@@@ -638,122 -697,23 +697,133 @@@ class TestMisc(unittest.TestCase)
assert str(exc.exception) == 'The datum "5.0" provided for "foo" is not an example of the schema "long"'
def test_type_exception_record(self) -> None:
- writers_schema = avro.schema.parse(json.dumps({"type": "record", "name": "Test", "fields": [{"name": "foo", "type": "long"}]}))
+ writers_schema = avro.schema.parse(
+ json.dumps(
+ {
+ "type": "record",
+ "name": "Test",
+ "fields": [{"name": "foo", "type": "long"}],
+ }
+ )
+ )
datum_to_write = ("foo", 5.0)
- with self.assertRaisesRegex(avro.errors.AvroTypeException, r"The datum \".*\" provided for \".*\" is not an example of the schema [\s\S]*"):
+ with self.assertRaisesRegex(
+ avro.errors.AvroTypeException,
+ r"The datum \".*\" provided for \".*\" is not an example of the schema [\s\S]*",
+ ):
write_datum(datum_to_write, writers_schema)
+ def test_can_read_future_enum_symbol_with_default(self) -> None:
+ default_symbol = "unknown"
+ future_symbol = "crc32_be"
+
+ readers_schema = avro.schema.parse(
+ json.dumps(
+ {
+ "fields": [
+ {
+ "name": "checksum_algorithm",
+ "type": {
+ "name": "ChecksumAlgorithm",
+ "symbols": [default_symbol, "xxhash3_64_be"],
+ "type": "enum",
+ "default": default_symbol,
+ },
+ },
+ ],
+ "name": "Test",
+ "type": "record",
+ }
+ )
+ )
+ # Writer adds the "crc32_be" symbol.
+ writers_schema = avro.schema.parse(
+ json.dumps(
+ {
+ "fields": [
+ {
+ "name": "checksum_algorithm",
+ "type": {
+ "name": "ChecksumAlgorithm",
+ "symbols": [
+ "unknown",
+ "xxhash3_64_be",
+ future_symbol,
+ ],
+ "type": "enum",
+ "default": default_symbol,
+ },
+ }
+ ],
+ "name": "Test",
+ "type": "record",
+ }
+ )
+ )
+
+ datum_to_write = {"checksum_algorithm": future_symbol}
+
+ buffer, encoder, datum_writer = write_datum(datum_to_write, writers_schema)
+ buffer.seek(0)
+ decoder = avro.io.BinaryDecoder(buffer)
+ reader = avro.io.DatumReader(readers_schema)
+ datum_read = reader.read(decoder)
+ self.assertEqual(datum_read, {"checksum_algorithm": default_symbol})
+
+ def test_raises_error_for_future_enum_symbol_without_default(self) -> None:
+ future_symbol = "crc32_be"
+
+ readers_schema = avro.schema.parse(
+ json.dumps(
+ {
+ "fields": [
+ {
+ "name": "checksum_algorithm",
+ "type": {
+ "name": "ChecksumAlgorithm",
+ "symbols": ["xxhash3_64_be"],
+ "type": "enum",
+ },
+ },
+ ],
+ "name": "Test",
+ "type": "record",
+ }
+ )
+ )
+ # Writer adds the "crc32_be" symbol.
+ writers_schema = avro.schema.parse(
+ json.dumps(
+ {
+ "fields": [
+ {
+ "name": "checksum_algorithm",
+ "type": {
+ "name": "ChecksumAlgorithm",
+ "symbols": [
+ "xxhash3_64_be",
+ future_symbol,
+ ],
+ "type": "enum",
+ },
+ }
+ ],
+ "name": "Test",
+ "type": "record",
+ }
+ )
+ )
+
+ datum_to_write = {"checksum_algorithm": future_symbol}
+
+ buffer, encoder, datum_writer = write_datum(datum_to_write, writers_schema)
+ buffer.seek(0)
+ decoder = avro.io.BinaryDecoder(buffer)
+ reader = avro.io.DatumReader(readers_schema)
+ with self.assertRaises(avro.errors.SchemaResolutionException):
+ reader.read(decoder)
+
def load_tests(loader: unittest.TestLoader, default_tests: None, pattern: None) -> unittest.TestSuite:
"""Generate test cases across many test schema."""