-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GH-43956: [C#][Format] Add initial Decimal32/Decimal64 implementations #43959
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
) Please look at apache#38255 for details on this functionality. Support for Go and C++ was added as part of apache#38385. This pull request is to add the required support for Java. * GitHub Issue: apache#38255 Lead-authored-by: Amit Mittal <amit.mittal@iongroup.com> Co-authored-by: Amit Mittal <eramitmittal@users.noreply.github.com> Signed-off-by: David Li <li.davidm96@gmail.com>
…o latest v4 in /.github/workflows (apache#43940) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p> <blockquote> <h2>v4.1.7</h2> <h2>What's Changed</h2> <ul> <li>Update <code>@actions/artifact</code> dependency by <a href="https://github.com/bethanyj28"><code>@bethanyj28</code></a> in <a href="https://github.com/actions/download-artifact/pull/325">actions/download-artifact#325</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4.1.6...v4.1.7">https://github.com/actions/download-artifact/compare/v4.1.6...v4.1.7</a></p> <h2>v4.1.6</h2> <h2>What's Changed</h2> <ul> <li>updating <code>@ actions/artifact</code> dependency to v2.1.6 by <a href="https://github.com/eggyhead"><code>@eggyhead</code></a> in <a href="https://github.com/actions/download-artifact/pull/324">actions/download-artifact#324</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4.1.5...v4.1.6">https://github.com/actions/download-artifact/compare/v4.1.5...v4.1.6</a></p> <h2>v4.1.5</h2> <h2>What's Changed</h2> <ul> <li>Update readme with v3/v2/v1 deprecation notice by <a href="https://github.com/robherley"><code>@robherley</code></a> in <a href="https://github.com/actions/download-artifact/pull/322">actions/download-artifact#322</a></li> <li>Update dependencies <code>@ actions/core</code> to v1.10.1 and <code>@ actions/artifact</code> to v2.1.5</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4.1.4...v4.1.5">https://github.com/actions/download-artifact/compare/v4.1.4...v4.1.5</a></p> <h2>v4.1.4</h2> <h2>What's Changed</h2> <ul> <li>Update <code>@actions/artifact</code> by <a href="https://github.com/bethanyj28"><code>@bethanyj28</code></a> in <a href="https://github.com/actions/download-artifact/pull/307">actions/download-artifact#307</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4...v4.1.4">https://github.com/actions/download-artifact/compare/v4...v4.1.4</a></p> <h2>v4.1.3</h2> <h2>What's Changed</h2> <ul> <li>Update release-new-action-version.yml by <a href="https://github.com/konradpabjan"><code>@konradpabjan</code></a> in <a href="https://github.com/actions/download-artifact/pull/292">actions/download-artifact#292</a></li> <li>Update toolkit dependency with updated unzip logic by <a href="https://github.com/bethanyj28"><code>@bethanyj28</code></a> in <a href="https://github.com/actions/download-artifact/pull/299">actions/download-artifact#299</a></li> <li>Update <code>@actions/artifact</code> by <a href="https://github.com/bethanyj28"><code>@bethanyj28</code></a> in <a href="https://github.com/actions/download-artifact/pull/303">actions/download-artifact#303</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/bethanyj28"><code>@bethanyj28</code></a> made their first contribution in <a href="https://github.com/actions/download-artifact/pull/299">actions/download-artifact#299</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4...v4.1.3">https://github.com/actions/download-artifact/compare/v4...v4.1.3</a></p> <h2>v4.1.2</h2> <ul> <li>Bump <code>@actions/artifacts</code> to latest version to include <a href="https://github.com/actions/toolkit/pull/1648">updated GHES host check</a></li> </ul> <h2>v4.1.1</h2> <ul> <li>Fix transient request timeouts <a href="https://github.com/actions/download-artifact/issues/249">actions/download-artifact#249</a></li> <li>Bump <code>@ actions/artifacts</code> to latest version</li> </ul> <h2>v4.1.0</h2> <h2>What's Changed</h2> <ul> <li>Some cleanup by <a href="https://github.com/robherley"><code>@robherley</code></a> in <a href="https://github.com/actions/download-artifact/pull/247">actions/download-artifact#247</a></li> <li>Fix default for run-id by <a href="https://github.com/stchr"><code>@stchr</code></a> in <a href="https://github.com/actions/download-artifact/pull/252">actions/download-artifact#252</a></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/download-artifact/commit/65a9edc5881444af0b9093a5e628f2fe47ea3b2e"><code>65a9edc</code></a> Merge pull request <a href="https://github.com/actions/download-artifact/issues/325">#325</a> from bethanyj28/main</li> <li><a href="https://github.com/actions/download-artifact/commit/fdd1595981c1a29187d3de99c28c28a166bc38f7"><code>fdd1595</code></a> licensed</li> <li><a href="https://github.com/actions/download-artifact/commit/c13dba102f4bb92b3f679fa086db9e2973960ca7"><code>c13dba1</code></a> update <code>@actions/artifact</code> dependency</li> <li><a href="https://github.com/actions/download-artifact/commit/0daa75ebeac4617faeb127496dbd716b8bcce26e"><code>0daa75e</code></a> Merge pull request <a href="https://github.com/actions/download-artifact/issues/324">#324</a> from actions/eggyhead/use-artifact-v2.1.6</li> <li><a href="https://github.com/actions/download-artifact/commit/9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395"><code>9c19ed7</code></a> Merge branch 'main' into eggyhead/use-artifact-v2.1.6</li> <li><a href="https://github.com/actions/download-artifact/commit/3d3ea8741ef44e86f7392b41e391bde3c36219bd"><code>3d3ea87</code></a> updating license</li> <li><a href="https://github.com/actions/download-artifact/commit/89af5db8211998d3ca691103a86b0b9362a94286"><code>89af5db</code></a> updating artifact package v2.1.6</li> <li><a href="https://github.com/actions/download-artifact/commit/b4aefff88e83a2676a730654e1ce3dce61880379"><code>b4aefff</code></a> Merge pull request <a href="https://github.com/actions/download-artifact/issues/323">#323</a> from actions/eggyhead/update-artifact-v215</li> <li><a href="https://github.com/actions/download-artifact/commit/8caf195ad4b1dee92908e23f56eeb0696f1dd42d"><code>8caf195</code></a> package lock update</li> <li><a href="https://github.com/actions/download-artifact/commit/d7a2ec411d177e8ca679ac5969b70be59c322700"><code>d7a2ec4</code></a> updating package version</li> <li>Additional commits viewable in <a href="https://github.com/actions/download-artifact/compare/v3...v4.1.7">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=3&new-version=4.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@ dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@ dependabot rebase` will rebase this PR - `@ dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@ dependabot merge` will merge this PR after your CI passes on it - `@ dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@ dependabot cancel merge` will cancel a previously requested merge and block automerging - `@ dependabot reopen` will reopen this PR if it is closed - `@ dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@ dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@ dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@ dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@ dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/apache/arrow/network/alerts). </details> * GitHub Issue: apache#43952 Lead-authored-by: Jacob Wujciak-Jens <jacob@wujciak.de> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
… finding packages on setuptools (apache#43325) ### Rationale for this change Currently we include everything when building wheels, see: ``` $ pip install pyarrow Collecting pyarrow Downloading pyarrow-17.0.0-cp310-cp310-manylinux_2_28_x86_64.whl (39.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 39.9/39.9 MB 33.8 MB/s eta 0:00:00 Collecting numpy>=1.16.6 Using cached numpy-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.3 MB) Installing collected packages: numpy, pyarrow Successfully installed numpy-2.0.0 pyarrow-17.0.0 (test-env) $ ls test-env/lib/python3.10/site-packages/ benchmarks/ distutils-precedence.pth numpy-2.0.0.dist-info/ pip-22.0.2.dist-info/ pyarrow-17.0.0.dist-info/ setuptools-59.6.0.dist-info/ cmake_modules/ examples/ numpy.libs/ pkg_resources/ scripts/ _distutils_hack/ numpy/ pip/ pyarrow/ setuptools/ ``` ### What changes are included in this PR? Use `include` as seen here: https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#finding-simple-packages ### Are these changes tested? Will check via the build wheel on CI ### Are there any user-facing changes? No and yes :) We will remove unnecessary files * GitHub Issue: apache#43299 Lead-authored-by: Raúl Cumplido <raulcumplido@gmail.com> Co-authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Joris Van den Bossche <jorisvandenbossche@gmail.com>
…3938) ### Rationale for this change We want to enhance error message for URI parsing error to provide more information for the syntax error scenario. When error message is generated from `uriParseSingleUriExA`, the return value might indicate a `URI_ERROR_SYNTAX` error, and `error_pos` would be set to the position causing syntax error. ([uriparser/Uri.h](https://github.com/apache/arrow/blob/c455d6b8c4ae2cb22baceb4c27e1325b973d39e1/cpp/src/arrow/vendored/uriparser/Uri.h#L288)) In the new error message, it includes the character causing syntax error and its position, so users can have a better idea why the error happens. ### What changes are included in this PR? - Error message change in URI parsing function. ### Are these changes tested? PR includes unit tests. ### Are there any user-facing changes? Yes, but only for error message. * GitHub Issue: apache#41365 * GitHub Issue: apache#43967 Authored-by: Crystal Zhou <crystal.zhouxiaoyue@hotmail.com> Signed-off-by: Joris Van den Bossche <jorisvandenbossche@gmail.com>
…/encryptor (apache#43947) This is to get a clearer error rather than an obscure crash, see apache#43057 for an example. * GitHub Issue: apache#43946 Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
### Rationale for this change The smaller the better, according to https://docs.docker.com/build/cache/optimize/ ### What changes are included in this PR? Prune obsolete or unnecessary inclusions from `.dockerignore`. ### Are these changes tested? Yes, by CI. ### Are there any user-facing changes? No. * GitHub Issue: apache#43969 Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
…43972) ### Rationale for this change `encoding.cc` is quite large nowadays : around 4000 lines of code, which makes code navigation cumbersome. It combines the functionality of encoders and decoders, however, those use distinct infrastructures and do not share any code. Other areas of Parquet tend to separate the reading and writing facilities: for example, `column_reader.cc` vs. `column_writer.cc`. ### What changes are included in this PR? The main change is to move encoders to `encoder.cc`, decoders to `decoder.cc`, and remove `encoding.cc`. A small improvement is also to remove the inclusion of `arrow/util/spaced.h` in `encoding.h` by moving the `TypedDecoder<T>::DecodeSpaced` implementation into `decoder.cc`. Note the massive code shuffle may obscure the git history quite a bit. `git log -C` doesn't seem able to track earlier versions of the encoder and decoder code, but `git blame -C` is. ### Are these changes tested? By existing tests. ### Are there any user-facing changes? No. * GitHub Issue: apache#40154 Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
…pache#43975) ### Rationale for this change The `python` task group already includes the Python example builds. This PR does the same for the `cpp` task group. ### Are these changes tested? By CI itself. ### Are there any user-facing changes? No. Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…: non zero-copy int based types (apache#43945) ### Rationale for this change Statistics is useful for fast processing. Target types: * `UInt8` * `Int8` * `UInt16` * `Int16` * `UInt32` * `UInt64` * `Date32` * `Time32` * `Time64` * `Duration` ### What changes are included in this PR? Map `ColumnChunkMetaData` information to `arrow::ArrayStatistics`. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: apache#43944 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
### Rationale for this change This is for easy to read. FYI: Google C++ style guide doesn't require indent in preprocessor directives nor deny it: https://google.github.io/styleguide/cppguide.html#Preprocessor_Directives ```cpp // Good - directives at beginning of line if (lopsided_score) { #if DISASTER_PENDING // Correct -- Starts at beginning of line DropEverything(); # if NOTIFY // OK but not required -- Spaces after # NotifyClient(); # endif #endif BackToNormal(); } ``` ### What changes are included in this PR? * Add clang-format configurations for preprocessor directives indentation * Apply these configurations ### Are these changes tested? Yes. ### Are there any user-facing changes? No. * GitHub Issue: apache#43796 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
….18.1 in /java Manual (apache#43980) ### Rationale for this change The dependabot PR apache#43922 automated change doesn't fix some code level changes required. This PR fixes that. ### What changes are included in this PR? This PR is a supportive PR to enable the `puppycraw.tools:checkstyle` plugin upgrade. ### Are these changes tested? Using existing test cases. ### Are there any user-facing changes? No Authored-by: Vibhatha Lakmal Abeykoon <vibhatha@gmail.com> Signed-off-by: David Li <li.davidm96@gmail.com>
### Rationale for this change cpplint isn't integrated with pre-commit yet. ### What changes are included in this PR? * Add cpplint configuration * Share configuration with pre-commit and cpp/build-support/run_cpplint.py * Add pre-commit entry ### Are these changes tested? Yes. ### Are there any user-facing changes? No. * GitHub Issue: apache#43979 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
…orrectly when !HasNullCount() (apache#43726) ### Rationale for this change See issue. When `!HasNullCount`, we cannot gurantee null exists ### What changes are included in this PR? Handle HasNullCount in dataset expr ### Are these changes tested? Yes ### Are there any user-facing changes? Merely * GitHub Issue: apache#43712 Lead-authored-by: mwish <maplewish117@gmail.com> Co-authored-by: mwish <1506118561@qq.com> Co-authored-by: Antoine Pitrou <pitrou@free.fr> Signed-off-by: mwish <maplewish117@gmail.com>
…che#43993) ### Rationale for this change Minor code enhancement in array_nested.cc ### What changes are included in this PR? Use std::move for nested types ### Are these changes tested? Covered by existing ### Are there any user-facing changes? no * GitHub Issue: apache#43992 Authored-by: mwish <maplewish117@gmail.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…pache#43999) ### Rationale for this change This is needed to write `DoPut` client tests. ### What changes are included in this PR? The following features are also added: * `GAFlightMetadataWriter` * `garrow_record_batch_writer_is_closed()` * Improve `ArrowFlight::Client#do_put` API in Ruby ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: apache#43814 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…: zero-copy types (apache#43984) ### Rationale for this change Statistics is useful for fast processing. Target types: * `Int32` * `Int64` * `Float` * `Double` * `Timestamp[milli]` * `Timestamp[micro]` * `Timestamp[nano]` ### What changes are included in this PR? Map `ColumnChunkMetaData` information to `arrow::ArrayStatistics`. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: apache#43983 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…_record_batch()` (apache#44001) ### Rationale for this change We don't need to create a `GArrowTable` only for writing a `GArrowRecordBatch`. ### What changes are included in this PR? The following APIs are also added: * `gparquet_arrow_file_writer_get_schema()` * Parquet::ArrowFileWriter#write` in Ruby ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: apache#40860 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…ector (apache#43968) ### Rationale for this change See apache#43966 ### What changes are included in this PR? Check for nullabilities when comparing StructVector with RangeEqualsVisitor. ### Are these changes tested? Yes ### Are there any user-facing changes? No * GitHub Issue: apache#43966 Authored-by: youming.whl <youming.whl@antfin.com> Signed-off-by: David Li <li.davidm96@gmail.com>
…3988) ### Rationale for this change See apache#43986. ### What changes are included in this PR? Mostly trivial changes, plus removing one `Grouper` implementation that's not wired. ### Are these changes tested? No new tests needed. ### Are there any user-facing changes? None. * GitHub Issue: apache#43986 Authored-by: Ruoxi Sun <zanmato1984@gmail.com> Signed-off-by: Antoine Pitrou <antoine@python.org>
…ecoder (apache#44003) ### Rationale for this change Enhance the comment for ColumnReader/Decoder ### What changes are included in this PR? Enhance the comment for ColumnReader/Decoder ### Are these changes tested? no need ### Are there any user-facing changes? no * GitHub Issue: apache#43301 Lead-authored-by: mwish <1506118561@qq.com> Co-authored-by: mwish <maplewish117@gmail.com> Co-authored-by: Antoine Pitrou <pitrou@free.fr> Signed-off-by: mwish <maplewish117@gmail.com>
…d build (apache#43671) ### Rationale for this change Testing with the free-threaded build is required for adding support for it. (see apache#43536) ### What changes are included in this PR? - Add a Docker build with the CPython free-threaded build from deadsnakes. - Add a Crossbow job to run said Docker build with Python 3.13t ### Are there any user-facing changes? No. * GitHub Issue: apache#43536 Lead-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com> Co-authored-by: Antoine Pitrou <antoine@python.org> Co-authored-by: Sutou Kouhei <kou@cozmixng.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
…e#44020) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.7 to 4.1.8. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p> <blockquote> <h2>v4.1.8</h2> <h2>What's Changed</h2> <ul> <li>Update <code>@actions/artifact</code> version, bump dependencies by <a href="https://github.com/robherley"><code>@robherley</code></a> in <a href="https://github.com/actions/download-artifact/pull/341">actions/download-artifact#341</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4...v4.1.8">https://github.com/actions/download-artifact/compare/v4...v4.1.8</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/download-artifact/commit/fa0a91b85d4f404e444e00e005971372dc801d16"><code>fa0a91b</code></a> Merge pull request <a href="https://github.com/actions/download-artifact/issues/341">#341</a> from actions/robherley/bump-pkgs</li> <li><a href="https://github.com/actions/download-artifact/commit/b54d0883e196647f43ce531a3fc13b246cf908b6"><code>b54d088</code></a> Update <code>@actions/artifact</code> version, bump dependencies</li> <li>See full diff in <a href="https://github.com/actions/download-artifact/compare/v4.1.7...v4.1.8">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=4.1.7&new-version=4.1.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@ dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@ dependabot rebase` will rebase this PR - `@ dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@ dependabot merge` will merge this PR after your CI passes on it - `@ dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@ dependabot cancel merge` will cancel a previously requested merge and block automerging - `@ dependabot reopen` will reopen this PR if it is closed - `@ dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@ dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@ dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@ dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@ dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…apache#44014) ### Rationale for this change This PR configs the build such that warnings are considered as errors in the C module. And corresponding code changes have also been made. ### What changes are included in this PR? Adding flags to consider warnings as errors in javac and fixing the corresponding errors. ### Are these changes tested? Tested by existing test cases. ### Are there any user-facing changes? N/A * GitHub Issue: apache#44013 Authored-by: Vibhatha Lakmal Abeykoon <vibhatha@gmail.com> Signed-off-by: David Li <li.davidm96@gmail.com>
…he#44012) ### Rationale for this change This PR configs the build such that warnings are considered as errors in the C module. And corresponding code changes have also been made. ### What changes are included in this PR? Adding flags to consider warnings as errors in javac and fixing the corresponding errors. ### Are these changes tested? Tested by existing test cases. ### Are there any user-facing changes? N/A * GitHub Issue: apache#44011 Authored-by: Vibhatha Lakmal Abeykoon <vibhatha@gmail.com> Signed-off-by: David Li <li.davidm96@gmail.com>
apache#43978) ### Rationale for this change Gandiva tests are failing due to a linking issue and it is failing the Java CIs. But for most of the made PRs, we cannot verify the overall workflow given that those PRs are independent of the Gandiva component. ### What changes are included in this PR? This PR disables such failing tests temporarily such that once the Gandiva issue is fixed, re-enabling the tests. Re-enabling task will be tracked using apache#43981 ### Are these changes tested? Yes, by existing CIs and tests. ### Are there any user-facing changes? No * GitHub Issue: apache#43576 Authored-by: Vibhatha Lakmal Abeykoon <vibhatha@gmail.com> Signed-off-by: David Li <li.davidm96@gmail.com>
…#44019) ### Rationale for this change So minor ipc code enhancement when I read the code ### What changes are included in this PR? Avoid copying shared_ptr in some naive space ### Are these changes tested? Covered by existence ### Are there any user-facing changes? no * GitHub Issue: apache#44036 Authored-by: mwish <maplewish117@gmail.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…0.04 (apache#44151) ### Rationale for this change Ubuntu 20.04 will be end of standard support on April 2025. Ubuntu 22.04 and 24.04 have been already released. We should make our default .env to UBUNTU=22.04. ### What changes are included in this PR? Update .env default to Ubuntu 22.04 and a couple other minor updates to use Ubuntu 22.04 ### Are these changes tested? Yes ### Are there any user-facing changes? No * GitHub Issue: apache#40570 Lead-authored-by: "Raúl Cumplido <raulcumplido@gmail.com>" Co-authored-by: Sutou Kouhei <kou@clear-code.com> Co-authored-by: Raúl Cumplido <raulcumplido@gmail.com> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
### Rationale for this change .NET 4.6.2 is not really netstandard2.0-compatible; it works, but only by bringing in a ridiculous number of facade assemblies. The downlevel web server support for gPRC falls into this category, so bump the required version for Flight from 462 to 472. ### What changes are included in this PR? Changes the targeting of the build for the C# Arrow Flight support. ### Are these changes tested? N/A ### Are there any user-facing changes? The underlying feature is first shipping in Arrow 18 so existing users are unaffected. Authored-by: Curt Hagenlocher <curt@hagenlocher.org> Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
Bumps [xunit](https://github.com/xunit/xunit) from 2.9.1 to 2.9.2. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/xunit/xunit/commit/82543a6df6f5f13b5b70f8a9f9ccb41cd676084f"><code>82543a6</code></a> v2.9.2</li> <li><a href="https://github.com/xunit/xunit/commit/0f8f1563876f2cbbb9af27e0bb14b824372fd4a8"><code>0f8f156</code></a> <a href="https://github.com/xunit/xunit/issues/3031">#3031</a>: Changes to TheoryData break tests with arrays of objects</li> <li><a href="https://github.com/xunit/xunit/commit/502f6d10bf015ac570f8f1ca378882a9526fe0bc"><code>502f6d1</code></a> Bump up to v2.9.2-pre</li> <li>See full diff in <a href="https://github.com/xunit/xunit/compare/v2-2.9.1...v2-2.9.2">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=xunit&package-manager=nuget&previous-version=2.9.1&new-version=2.9.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@ dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@ dependabot rebase` will rebase this PR - `@ dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@ dependabot merge` will merge this PR after your CI passes on it - `@ dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@ dependabot cancel merge` will cancel a previously requested merge and block automerging - `@ dependabot reopen` will reopen this PR if it is closed - `@ dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@ dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@ dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@ dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@ dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
…arp (apache#44260) Bumps [Grpc.AspNetCore.Server](https://github.com/grpc/grpc-dotnet) from 2.64.0 to 2.66.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/grpc/grpc-dotnet/releases">Grpc.AspNetCore.Server's releases</a>.</em></p> <blockquote> <h2>Release v2.66.0</h2> <h2>What's Changed</h2> <ul> <li>Bump version on master to 2.66.0-dev by <a href="https://github.com/stanley-cheung"><code>@stanley-cheung</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2491">grpc/grpc-dotnet#2491</a></li> <li>Fix failure to create GrpcChannel under Wine compatibility layer (including Steam Proton and Apple Game Porting Toolkit) by <a href="https://github.com/mayuki"><code>@mayuki</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2496">grpc/grpc-dotnet#2496</a></li> <li>Update .NET 9 SDK and resolve warnings by <a href="https://github.com/sebastienros"><code>@sebastienros</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2502">grpc/grpc-dotnet#2502</a></li> <li>Bump braces from 3.0.2 to 3.0.3 in /testassets/InteropTestsGrpcWebWebsite/Tests by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2504">grpc/grpc-dotnet#2504</a></li> <li>Bump axios from 1.6.2 to 1.7.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2505">grpc/grpc-dotnet#2505</a></li> <li>Update puppeteer by <a href="https://github.com/JamesNK"><code>@JamesNK</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2507">grpc/grpc-dotnet#2507</a></li> <li>Remove internal_ci flag from interop test script by <a href="https://github.com/JamesNK"><code>@JamesNK</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2509">grpc/grpc-dotnet#2509</a></li> <li>Fix Google auth interop test by <a href="https://github.com/JamesNK"><code>@JamesNK</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2512">grpc/grpc-dotnet#2512</a></li> <li>[testing] improve sanity check in jwt_token_creds interop test by <a href="https://github.com/apolcyn"><code>@apolcyn</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2513">grpc/grpc-dotnet#2513</a></li> <li>Add HTTP version configuration to GrpcChannelOptions by <a href="https://github.com/JamesNK"><code>@JamesNK</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2514">grpc/grpc-dotnet#2514</a></li> <li>Bump grpc.tools version to 2.66 by <a href="https://github.com/apolcyn"><code>@apolcyn</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2523">grpc/grpc-dotnet#2523</a></li> <li>Bump webpack from 5.76.0 to 5.94.0 in /examples/Browser/Server/wwwroot by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2522">grpc/grpc-dotnet#2522</a></li> <li>Bump elliptic from 6.5.4 to 6.5.7 in /examples/Spar/Server/ClientApp by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2525">grpc/grpc-dotnet#2525</a></li> <li>Bump micromatch from 4.0.7 to 4.0.8 in /testassets/InteropTestsGrpcWebWebsite/Tests by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2524">grpc/grpc-dotnet#2524</a></li> <li>Bump v2.66.x branch to 2.66.0.pre1 by <a href="https://github.com/apolcyn"><code>@apolcyn</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2526">grpc/grpc-dotnet#2526</a></li> <li>Bump v2.66.x to v2.66.0 by <a href="https://github.com/apolcyn"><code>@apolcyn</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2539">grpc/grpc-dotnet#2539</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/grpc/grpc-dotnet/compare/v2.65.0...v2.66.0">https://github.com/grpc/grpc-dotnet/compare/v2.65.0...v2.66.0</a></p> <h2>Release v2.66.0-pre1</h2> <h2>What's Changed</h2> <ul> <li>Bump version on master to 2.66.0-dev by <a href="https://github.com/stanley-cheung"><code>@stanley-cheung</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2491">grpc/grpc-dotnet#2491</a></li> <li>Fix failure to create GrpcChannel under Wine compatibility layer (including Steam Proton and Apple Game Porting Toolkit) by <a href="https://github.com/mayuki"><code>@mayuki</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2496">grpc/grpc-dotnet#2496</a></li> <li>Update .NET 9 SDK and resolve warnings by <a href="https://github.com/sebastienros"><code>@sebastienros</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2502">grpc/grpc-dotnet#2502</a></li> <li>Bump braces from 3.0.2 to 3.0.3 in /testassets/InteropTestsGrpcWebWebsite/Tests by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2504">grpc/grpc-dotnet#2504</a></li> <li>Bump axios from 1.6.2 to 1.7.4 in /testassets/InteropTestsGrpcWebWebsite/Tests by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2505">grpc/grpc-dotnet#2505</a></li> <li>Update puppeteer by <a href="https://github.com/JamesNK"><code>@JamesNK</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2507">grpc/grpc-dotnet#2507</a></li> <li>Remove internal_ci flag from interop test script by <a href="https://github.com/JamesNK"><code>@JamesNK</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2509">grpc/grpc-dotnet#2509</a></li> <li>Fix Google auth interop test by <a href="https://github.com/JamesNK"><code>@JamesNK</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2512">grpc/grpc-dotnet#2512</a></li> <li>[testing] improve sanity check in jwt_token_creds interop test by <a href="https://github.com/apolcyn"><code>@apolcyn</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2513">grpc/grpc-dotnet#2513</a></li> <li>Add HTTP version configuration to GrpcChannelOptions by <a href="https://github.com/JamesNK"><code>@JamesNK</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2514">grpc/grpc-dotnet#2514</a></li> <li>Bump grpc.tools version to 2.66 by <a href="https://github.com/apolcyn"><code>@apolcyn</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2523">grpc/grpc-dotnet#2523</a></li> <li>Bump webpack from 5.76.0 to 5.94.0 in /examples/Browser/Server/wwwroot by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2522">grpc/grpc-dotnet#2522</a></li> <li>Bump elliptic from 6.5.4 to 6.5.7 in /examples/Spar/Server/ClientApp by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2525">grpc/grpc-dotnet#2525</a></li> <li>Bump micromatch from 4.0.7 to 4.0.8 in /testassets/InteropTestsGrpcWebWebsite/Tests by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2524">grpc/grpc-dotnet#2524</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/grpc/grpc-dotnet/compare/v2.65.0...v2.66.0-pre1">https://github.com/grpc/grpc-dotnet/compare/v2.65.0...v2.66.0-pre1</a></p> <h2>Release v2.65.0</h2> <h2>What's Changed</h2> <ul> <li>Update Native.DetectWindowsVersion() to consider Windows Server 2019 to be Window Server by <a href="https://github.com/wrall"><code>@wrall</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2468">grpc/grpc-dotnet#2468</a></li> <li>Bump master version to 2.65.0-dev by <a href="https://github.com/stanley-cheung"><code>@stanley-cheung</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2472">grpc/grpc-dotnet#2472</a></li> <li>Reduce usage of RunContinuationsAsynchronously by <a href="https://github.com/JamesNK"><code>@JamesNK</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2478">grpc/grpc-dotnet#2478</a></li> <li>Bump Grpc.Tools version to 2.65.0 by <a href="https://github.com/stanley-cheung"><code>@stanley-cheung</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2488">grpc/grpc-dotnet#2488</a></li> <li>Bump version to 2.65.0-pre1 by <a href="https://github.com/stanley-cheung"><code>@stanley-cheung</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2490">grpc/grpc-dotnet#2490</a></li> <li>Bump release version to 2.65.0 by <a href="https://github.com/stanley-cheung"><code>@stanley-cheung</code></a> in <a href="https://github.com/grpc/grpc-dotnet/pull/2495">grpc/grpc-dotnet#2495</a></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/grpc/grpc-dotnet/commit/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0"><code>64e87a6</code></a> bump version to final release (<a href="https://github.com/grpc/grpc-dotnet/issues/2539">#2539</a>)</li> <li><a href="https://github.com/grpc/grpc-dotnet/commit/42dab3e443a405077ab106b80c985b9b6eecffe8"><code>42dab3e</code></a> bump to pre1 (<a href="https://github.com/grpc/grpc-dotnet/issues/2526">#2526</a>)</li> <li><a href="https://github.com/grpc/grpc-dotnet/commit/439a3b80b562d63c84c9bf4474a774a20a408e2a"><code>439a3b8</code></a> Bump micromatch from 4.0.7 to 4.0.8 in /testassets/InteropTestsGrpcWebWebsite...</li> <li><a href="https://github.com/grpc/grpc-dotnet/commit/b3429b90615f55995b6763f4bf92b5cb9193b067"><code>b3429b9</code></a> Bump elliptic from 6.5.4 to 6.5.7 in /examples/Spar/Server/ClientApp (<a href="https://github.com/grpc/grpc-dotnet/issues/2525">#2525</a>)</li> <li><a href="https://github.com/grpc/grpc-dotnet/commit/30255261ad1c64ba43fb140944e78c049318e8ec"><code>3025526</code></a> Bump webpack from 5.76.0 to 5.94.0 in /examples/Browser/Server/wwwroot (<a href="https://github.com/grpc/grpc-dotnet/issues/2522">#2522</a>)</li> <li><a href="https://github.com/grpc/grpc-dotnet/commit/bf41c89ace4a4ce4d9868c35f06cef4d48031584"><code>bf41c89</code></a> Bump grpc.tools version to 2.66 (<a href="https://github.com/grpc/grpc-dotnet/issues/2523">#2523</a>)</li> <li><a href="https://github.com/grpc/grpc-dotnet/commit/e9cc7e15796d39f1d2656178f56a45c09147d0fe"><code>e9cc7e1</code></a> Add HTTP version configuration to GrpcChannelOptions (<a href="https://github.com/grpc/grpc-dotnet/issues/2514">#2514</a>)</li> <li><a href="https://github.com/grpc/grpc-dotnet/commit/26227c3e7a2f5d4469ae06a4999f1a4f2800d351"><code>26227c3</code></a> [testing] improve sanity check in jwt_token_creds interop test (<a href="https://github.com/grpc/grpc-dotnet/issues/2513">#2513</a>)</li> <li><a href="https://github.com/grpc/grpc-dotnet/commit/dd4adce098a94f5e7a7ede19262f85a72c9797ca"><code>dd4adce</code></a> Fix Google auth interop test (<a href="https://github.com/grpc/grpc-dotnet/issues/2512">#2512</a>)</li> <li><a href="https://github.com/grpc/grpc-dotnet/commit/c397bc7804824100c983052f4a6e7e291ddf1c06"><code>c397bc7</code></a> Remove internal_ci flag from interop test script (<a href="https://github.com/grpc/grpc-dotnet/issues/2509">#2509</a>)</li> <li>Additional commits viewable in <a href="https://github.com/grpc/grpc-dotnet/compare/v2.64.0...v2.66.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Grpc.AspNetCore.Server&package-manager=nuget&previous-version=2.64.0&new-version=2.66.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@ dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@ dependabot rebase` will rebase this PR - `@ dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@ dependabot merge` will merge this PR after your CI passes on it - `@ dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@ dependabot cancel merge` will cancel a previously requested merge and block automerging - `@ dependabot reopen` will reopen this PR if it is closed - `@ dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@ dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@ dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@ dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@ dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Curt Hagenlocher <curt@hagenlocher.org>
…ntations (apache#43957) <!-- Thanks for opening a pull request! If this is your first pull request you can find detailed information on how to contribute here: * [New Contributor's Guide](https://arrow.apache.org/docs/dev/developers/guide/step_by_step/pr_lifecycle.html#reviews-and-merge-of-the-pull-request) * [Contributing Overview](https://arrow.apache.org/docs/dev/developers/overview.html) If this is not a [minor PR](https://github.com/apache/arrow/blob/main/CONTRIBUTING.md#Minor-Fixes). Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose Opening GitHub issues ahead of time contributes to the [Openness](http://theapacheway.com/open/#:~:text=Openness%20allows%20new%20users%20the,must%20happen%20in%20the%20open.) of the Apache Arrow project. Then could you also rename the pull request title in the following format? GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY} or MINOR: [${COMPONENT}] ${SUMMARY} In the case of PARQUET issues on JIRA the title also supports: PARQUET-${JIRA_ISSUE_ID}: [${COMPONENT}] ${SUMMARY} --> ### Rationale for this change Widening the Decimal128/256 type to allow for bitwidths of 32 and 64 allows for more interoperability with other libraries and utilities which already support these types. This provides even more opportunities for zero-copy interactions between things such as libcudf and various databases. <!-- Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed. Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes. --> ### What changes are included in this PR? This PR contains the basic C++ implementations for Decimal32/Decimal64 types, arrays, builders and scalars. It also includes the minimum necessary to get everything compiling and tests passing without also extending the acero kernels and parquet handling (both of which will be handled in follow-up PRs). <!-- There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR. --> ### Are these changes tested? Yes, tests were extended where applicable to add decimal32/decimal64 cases. <!-- We typically require tests for all PRs in order to: 1. Prevent the code from being accidentally broken by subsequent changes 2. Serve as another way to document the expected behavior of the code If tests are not included in your PR, please explain why (for example, are they covered by existing tests)? --> ### Are there any user-facing changes? Currently if a user is using `decimal(precision, scale)` rather than `decimal128(precision, scale)` they will get a `Decimal128Type` if the precision is <= 38 (max precision for Decimal128) and `Decimal256Type` if the precision is higher. Following the same pattern, this change means that using `decimal(precision, scale)` instead of the specific `decimal32`/`decimal64`/`decimal128`/`decimal256` functions results in the following functionality: - for precisions [1 : 9] => `Decimal32Type` - for precisions [10 : 18] => `Decimal64Type` - for precisions [19 : 38] => `Decimal128Type` - for precisions [39 : 76] => `Decimal256Type` While many of our tests currently make the assumption that `decimal` with a low precision would be `Decimal128` and had to be updated, this may cause an initial surprise if users are making the same assumptions. <!-- If there are user-facing changes then we may require documentation to be updated before approving the PR. --> <!-- If there are any breaking changes to public APIs, please uncomment the line below and explain which changes are breaking. --> <!-- **This PR includes breaking changes to public APIs.** --> <!-- Please uncomment the line below (and provide explanation) if the changes fix either (a) a security vulnerability, (b) a bug that caused incorrect or invalid data to be produced, or (c) a bug that causes a crash (even when the API contract is upheld). We use this to highlight fixes to issues that may affect users without their knowledge. For this reason, fixing bugs that cause errors don't count, since those are usually obvious. --> <!-- **This PR contains a "Critical Fix".** --> * GitHub Issue: apache#43956 --------- Co-authored-by: Felipe Oliveira Carvalho <felipekde@gmail.com> Co-authored-by: Benjamin Kietzman <bengilgit@gmail.com> Co-authored-by: Antoine Pitrou <pitrou@free.fr>
CurtHagenlocher
requested review from
assignUser,
jonkeane,
kou,
raulcd,
thisisnic,
kevingurney,
sgilmore10,
lidavidm,
wgtmac and
westonpace
as code owners
September 30, 2024 22:16
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changes are included in this PR?
Add support for decimal32 and decimal64 to C# implementation
Are these changes tested?
Yes, but there are not yet any cross-implementation tests.
Are there any user-facing changes?
Yes, adds support for two new types of decimal.