Skip to content

ARROW-19: Add an externalized MemoryPool interface for use in builder classes - #8

Closed
wesm wants to merge 3 commits into
apache:masterfrom
wesm:ARROW-19
Closed

wesm wants to merge 3 commits into
apache:masterfrom
wesm:ARROW-19

Conversation

@wesm

@wesm wesm commented Mar 2, 2016

Copy link
Copy Markdown
Member

Memory management will be an ongoing concern, but this is a stride in the right direction. Applications requiring custom memory management will be able to implement a subclass of MemoryPool; we can evolve its API as user needs evolve.

@asfgit asfgit closed this in e418020 Mar 3, 2016
@wesm
wesm deleted the ARROW-19 branch March 3, 2016 23:01
praveenbingo added a commit to praveenbingo/arrow that referenced this pull request Aug 30, 2018
…he#8)

* GDV-43: [C++] Introduce error codes as error handling strategy.

Introduced status codes and using the same as the error handling strategy.

The decision was taken to accommodate existing libraries that use error codes and
because Arrow also uses error codes and not exception.

Changed the signatures across the board for the same.
praveenbingo added a commit to praveenbingo/arrow that referenced this pull request Aug 30, 2018
…he#8)

* GDV-43: [C++] Introduce error codes as error handling strategy.

Introduced status codes and using the same as the error handling strategy.

The decision was taken to accommodate existing libraries that use error codes and
because Arrow also uses error codes and not exception.

Changed the signatures across the board for the same.
praveenbingo added a commit to praveenbingo/arrow that referenced this pull request Aug 30, 2018
…he#8)

* GDV-43: [C++] Introduce error codes as error handling strategy.

Introduced status codes and using the same as the error handling strategy.

The decision was taken to accommodate existing libraries that use error codes and
because Arrow also uses error codes and not exception.

Changed the signatures across the board for the same.
praveenbingo added a commit to praveenbingo/arrow that referenced this pull request Aug 30, 2018
…he#8)

* GDV-43: [C++] Introduce error codes as error handling strategy.

Introduced status codes and using the same as the error handling strategy.

The decision was taken to accommodate existing libraries that use error codes and
because Arrow also uses error codes and not exception.

Changed the signatures across the board for the same.
praveenbingo added a commit to praveenbingo/arrow that referenced this pull request Sep 4, 2018
…he#8)

* GDV-43: [C++] Introduce error codes as error handling strategy.

Introduced status codes and using the same as the error handling strategy.

The decision was taken to accommodate existing libraries that use error codes and
because Arrow also uses error codes and not exception.

Changed the signatures across the board for the same.
praveenbingo added a commit to praveenbingo/arrow that referenced this pull request Sep 10, 2018
…he#8)

* GDV-43: [C++] Introduce error codes as error handling strategy.

Introduced status codes and using the same as the error handling strategy.

The decision was taken to accommodate existing libraries that use error codes and
because Arrow also uses error codes and not exception.

Changed the signatures across the board for the same.
praveenbingo added a commit to praveenbingo/arrow that referenced this pull request Sep 10, 2018
…he#8)

* GDV-43: [C++] Introduce error codes as error handling strategy.

Introduced status codes and using the same as the error handling strategy.

The decision was taken to accommodate existing libraries that use error codes and
because Arrow also uses error codes and not exception.

Changed the signatures across the board for the same.
wesm pushed a commit that referenced this pull request Feb 14, 2019
Following the instructions in docker-compose.yml gives me a working IWYU build now

```
export PYTHON_VERSION=3.6
docker-compose build cpp
docker-compose build python
docker-compose build lint
docker-compose run iwyu
```

Author: François Saint-Jacques <fsaintjacques@gmail.com>
Author: Wes McKinney <wesm+git@apache.org>

Closes #3643 from wesm/ARROW-4340 and squashes the following commits:

56733fc <François Saint-Jacques> Refactor iwyu build into docker install script. (#8)
e1c46c7 <Wes McKinney> Build IWYU for LLVM 7 in iwyu docker-compose job
kou pushed a commit that referenced this pull request May 10, 2020
This PR enables tests for `ARROW_COMPUTE`, `ARROW_DATASET`, `ARROW_FILESYSTEM`, `ARROW_HDFS`, `ARROW_ORC`, and `ARROW_IPC` (default on). #7131 enabled a minimal set of tests as a starting point.

I confirmed that these tests pass locally with the current master. In the current TravisCI environment, we cannot see this result due to a lot of error messages in `arrow-utility-test`.

```
$ git log | head -1
commit ed5f534
% ctest
...
      Start  1: arrow-array-test
 1/51 Test  #1: arrow-array-test .....................   Passed    4.62 sec
      Start  2: arrow-buffer-test
 2/51 Test  #2: arrow-buffer-test ....................   Passed    0.14 sec
      Start  3: arrow-extension-type-test
 3/51 Test  #3: arrow-extension-type-test ............   Passed    0.12 sec
      Start  4: arrow-misc-test
 4/51 Test  #4: arrow-misc-test ......................   Passed    0.14 sec
      Start  5: arrow-public-api-test
 5/51 Test  #5: arrow-public-api-test ................   Passed    0.12 sec
      Start  6: arrow-scalar-test
 6/51 Test  #6: arrow-scalar-test ....................   Passed    0.13 sec
      Start  7: arrow-type-test
 7/51 Test  #7: arrow-type-test ......................   Passed    0.14 sec
      Start  8: arrow-table-test
 8/51 Test  #8: arrow-table-test .....................   Passed    0.13 sec
      Start  9: arrow-tensor-test
 9/51 Test  #9: arrow-tensor-test ....................   Passed    0.13 sec
      Start 10: arrow-sparse-tensor-test
10/51 Test #10: arrow-sparse-tensor-test .............   Passed    0.16 sec
      Start 11: arrow-stl-test
11/51 Test #11: arrow-stl-test .......................   Passed    0.12 sec
      Start 12: arrow-concatenate-test
12/51 Test #12: arrow-concatenate-test ...............   Passed    0.53 sec
      Start 13: arrow-diff-test
13/51 Test #13: arrow-diff-test ......................   Passed    1.45 sec
      Start 14: arrow-c-bridge-test
14/51 Test #14: arrow-c-bridge-test ..................   Passed    0.18 sec
      Start 15: arrow-io-buffered-test
15/51 Test #15: arrow-io-buffered-test ...............   Passed    0.20 sec
      Start 16: arrow-io-compressed-test
16/51 Test #16: arrow-io-compressed-test .............   Passed    3.48 sec
      Start 17: arrow-io-file-test
17/51 Test #17: arrow-io-file-test ...................   Passed    0.74 sec
      Start 18: arrow-io-hdfs-test
18/51 Test #18: arrow-io-hdfs-test ...................   Passed    0.12 sec
      Start 19: arrow-io-memory-test
19/51 Test #19: arrow-io-memory-test .................   Passed    2.77 sec
      Start 20: arrow-utility-test
20/51 Test #20: arrow-utility-test ...................***Failed    5.65 sec
      Start 21: arrow-threading-utility-test
21/51 Test #21: arrow-threading-utility-test .........   Passed    1.34 sec
      Start 22: arrow-compute-compute-test
22/51 Test #22: arrow-compute-compute-test ...........   Passed    0.13 sec
      Start 23: arrow-compute-boolean-test
23/51 Test #23: arrow-compute-boolean-test ...........   Passed    0.15 sec
      Start 24: arrow-compute-cast-test
24/51 Test #24: arrow-compute-cast-test ..............   Passed    0.22 sec
      Start 25: arrow-compute-hash-test
25/51 Test #25: arrow-compute-hash-test ..............   Passed    2.61 sec
      Start 26: arrow-compute-isin-test
26/51 Test #26: arrow-compute-isin-test ..............   Passed    0.81 sec
      Start 27: arrow-compute-match-test
27/51 Test #27: arrow-compute-match-test .............   Passed    0.40 sec
      Start 28: arrow-compute-sort-to-indices-test
28/51 Test #28: arrow-compute-sort-to-indices-test ...   Passed    3.33 sec
      Start 29: arrow-compute-nth-to-indices-test
29/51 Test #29: arrow-compute-nth-to-indices-test ....   Passed    1.51 sec
      Start 30: arrow-compute-util-internal-test
30/51 Test #30: arrow-compute-util-internal-test .....   Passed    0.13 sec
      Start 31: arrow-compute-add-test
31/51 Test #31: arrow-compute-add-test ...............   Passed    0.12 sec
      Start 32: arrow-compute-aggregate-test
32/51 Test #32: arrow-compute-aggregate-test .........   Passed   14.70 sec
      Start 33: arrow-compute-compare-test
33/51 Test #33: arrow-compute-compare-test ...........   Passed    7.96 sec
      Start 34: arrow-compute-take-test
34/51 Test #34: arrow-compute-take-test ..............   Passed    4.80 sec
      Start 35: arrow-compute-filter-test
35/51 Test #35: arrow-compute-filter-test ............   Passed    8.23 sec
      Start 36: arrow-dataset-dataset-test
36/51 Test #36: arrow-dataset-dataset-test ...........   Passed    0.25 sec
      Start 37: arrow-dataset-discovery-test
37/51 Test #37: arrow-dataset-discovery-test .........   Passed    0.13 sec
      Start 38: arrow-dataset-file-ipc-test
38/51 Test #38: arrow-dataset-file-ipc-test ..........   Passed    0.21 sec
      Start 39: arrow-dataset-file-test
39/51 Test #39: arrow-dataset-file-test ..............   Passed    0.12 sec
      Start 40: arrow-dataset-filter-test
40/51 Test #40: arrow-dataset-filter-test ............   Passed    0.16 sec
      Start 41: arrow-dataset-partition-test
41/51 Test #41: arrow-dataset-partition-test .........   Passed    0.13 sec
      Start 42: arrow-dataset-scanner-test
42/51 Test #42: arrow-dataset-scanner-test ...........   Passed    0.20 sec
      Start 43: arrow-filesystem-test
43/51 Test #43: arrow-filesystem-test ................   Passed    1.62 sec
      Start 44: arrow-hdfs-test
44/51 Test #44: arrow-hdfs-test ......................   Passed    0.13 sec
      Start 45: arrow-feather-test
45/51 Test #45: arrow-feather-test ...................   Passed    0.91 sec
      Start 46: arrow-ipc-read-write-test
46/51 Test #46: arrow-ipc-read-write-test ............   Passed    5.77 sec
      Start 47: arrow-ipc-json-simple-test
47/51 Test #47: arrow-ipc-json-simple-test ...........   Passed    0.16 sec
      Start 48: arrow-ipc-json-test
48/51 Test #48: arrow-ipc-json-test ..................   Passed    0.27 sec
      Start 49: arrow-json-integration-test
49/51 Test #49: arrow-json-integration-test ..........   Passed    0.13 sec
      Start 50: arrow-json-test
50/51 Test #50: arrow-json-test ......................   Passed    0.26 sec
      Start 51: arrow-orc-adapter-test
51/51 Test #51: arrow-orc-adapter-test ...............   Passed    1.92 sec

98% tests passed, 1 tests failed out of 51

Label Time Summary:
arrow-tests      =  27.38 sec (27 tests)
arrow_compute    =  45.11 sec (14 tests)
arrow_dataset    =   1.21 sec (7 tests)
arrow_ipc        =   6.20 sec (3 tests)
unittest         =  79.91 sec (51 tests)

Total Test time (real) =  79.99 sec

The following tests FAILED:
	 20 - arrow-utility-test (Failed)
Errors while running CTest
```

Closes #7142 from kiszk/ARROW-8754

Authored-by: Kazuaki Ishizaki <ishizaki@jp.ibm.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
pitrou added a commit that referenced this pull request Apr 7, 2021
From a deadlocked run...

```
#0  0x00007f8a5d48dccd in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x00007f8a5d486f05 in pthread_mutex_lock () from /lib64/libpthread.so.0
#2  0x00007f8a566e7e89 in arrow::internal::FnOnce<void ()>::FnImpl<arrow::Future<Aws::Utils::Outcome<Aws::S3::Model::ListObjectsV2Result, Aws::S3::S3Error> >::Callback<arrow::fs::(anonymous namespace)::TreeWalker::ListObjectsV2Handler> >::invoke() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so
#3  0x00007f8a5650efa0 in arrow::FutureImpl::AddCallback(arrow::internal::FnOnce<void ()>) () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so
#4  0x00007f8a566e67a9 in arrow::fs::(anonymous namespace)::TreeWalker::ListObjectsV2Handler::SpawnListObjectsV2() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so
#5  0x00007f8a566e723f in arrow::fs::(anonymous namespace)::TreeWalker::WalkChild(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int) () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so
#6  0x00007f8a566e827d in arrow::internal::FnOnce<void ()>::FnImpl<arrow::Future<Aws::Utils::Outcome<Aws::S3::Model::ListObjectsV2Result, Aws::S3::S3Error> >::Callback<arrow::fs::(anonymous namespace)::TreeWalker::ListObjectsV2Handler> >::invoke() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so
#7  0x00007f8a5650efa0 in arrow::FutureImpl::AddCallback(arrow::internal::FnOnce<void ()>) () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so
#8  0x00007f8a566e67a9 in arrow::fs::(anonymous namespace)::TreeWalker::ListObjectsV2Handler::SpawnListObjectsV2() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so
#9  0x00007f8a566e723f in arrow::fs::(anonymous namespace)::TreeWalker::WalkChild(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int) () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so
#10 0x00007f8a566e74b1 in arrow::fs::(anonymous namespace)::TreeWalker::DoWalk() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so
```

The callback `ListObjectsV2Handler` is being called recursively and the mutex is non-reentrant thus deadlock.

To fix it I got rid of the mutex on `TreeWalker` by using `arrow::util::internal::TaskGroup` instead of manually tracking the #/status of in-flight requests.

Closes #9842 from westonpace/bugfix/arrow-12040

Lead-authored-by: Weston Pace <weston.pace@gmail.com>
Co-authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
rafael-telles referenced this pull request in rafael-telles/arrow Sep 7, 2021
* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml
rafael-telles referenced this pull request in rafael-telles/arrow Oct 12, 2021
* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml
rafael-telles referenced this pull request in rafael-telles/arrow Oct 28, 2021
* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml
pitrou added a commit that referenced this pull request Nov 4, 2021
The conda-integration job is currenly failing on Github Actions (but I'm not able to reproduce locally), being unable to find a correct solution when installing the conda dependencies for Archery:
https://github.com/apache/arrow/runs/4107211303?check_suite_focus=true

Log excerpt:
```
#8 [3/6] RUN conda install -q         --file arrow/ci/conda_env_archery.txt         numpy         compilers         maven=3.5         nodejs=14         yarn         openjdk=8 &&     conda clean --all --force-pkgs-dirs
#8 sha256:c96c59f55397d6e90bff7d2897eb1247ddfa19b8ffab8019be5ec0bbfdab7dc8
#8 0.450 mesg: ttyname failed: Inappropriate ioctl for device
#8 2.279 Collecting package metadata (current_repodata.json): ...working... done
#8 10.18 Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
#8 10.19 Collecting package metadata (repodata.json): ...working... done
#8 41.80 Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
#8 79.28
#8 79.28 PackagesNotFoundError: The following packages are not available from current channels:
#8 79.28
#8 79.28   - python=3.1
#8 79.28
```

Work around by forcing a reasonable minimum Python version.

Closes #11609 from pitrou/conda-integration-fix

Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
kszucs pushed a commit that referenced this pull request Nov 4, 2021
The conda-integration job is currenly failing on Github Actions (but I'm not able to reproduce locally), being unable to find a correct solution when installing the conda dependencies for Archery:
https://github.com/apache/arrow/runs/4107211303?check_suite_focus=true

Log excerpt:
```
#8 [3/6] RUN conda install -q         --file arrow/ci/conda_env_archery.txt         numpy         compilers         maven=3.5         nodejs=14         yarn         openjdk=8 &&     conda clean --all --force-pkgs-dirs
#8 sha256:c96c59f55397d6e90bff7d2897eb1247ddfa19b8ffab8019be5ec0bbfdab7dc8
#8 0.450 mesg: ttyname failed: Inappropriate ioctl for device
#8 2.279 Collecting package metadata (current_repodata.json): ...working... done
#8 10.18 Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
#8 10.19 Collecting package metadata (repodata.json): ...working... done
#8 41.80 Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
#8 79.28
#8 79.28 PackagesNotFoundError: The following packages are not available from current channels:
#8 79.28
#8 79.28   - python=3.1
#8 79.28
```

Work around by forcing a reasonable minimum Python version.

Closes #11609 from pitrou/conda-integration-fix

Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
vfraga referenced this pull request in rafael-telles/arrow Dec 14, 2021
* Flight SQL Ratification Based On Community Feedback #7 (apache#98)

* Remove scope from 'hamcrest' dependency on java/pom.xml

* Use flight top-level module on parent pom.xml instead of declaring each one

* Avoid using getStatement inside StatementContext methods

* Make StatementContext.getQuery() return String

* Minor fixes on pom.xml

* Move 'os-maven-plugin' to parent pom.xml

* Update protobuf generation on pom.xml files

* Use ClassLoader#getResource to get network.properties on TestFlightSql

* Bind to any ephemeral port on TestFlightSql

* Move JDBC-Arrow type default conversion from JdbcToArrowConfig to JdbcToArrowUtils

* Micro-optimization: initialize ArrayList with the right size

* Fix null-check on PreparedStatement#setParameters

* Avoid wrapping vector into a ImmutableList and then into an ArrayList on FlightSqlExample#getTablesRoot

* Remove null-check on VectorSchemaRoot on FlightSqlClient#setParameters()

* Remove the need of separate cache for ResultSets

* Add missing 'final' modifiers

* Fix maven build from different directories (apache#114)

* Add CrossReference methods to SqlProducer

* Clean-up: remove boilerplate code by replacing with tools provided by Arrow Flight JDBC Adapter

* Fix checkstyle and dependency management errors

* Ignore broken tests

* Fix broken tests for CreatePreparedStatement

* Fix Schema generation not setting an unknown column type to nullable

* Change FlightSqlProducer from abstract class to interface

* Refactor tests due to creation of new column of primaryKey

* Nit: fix checkstyle

* Fix leaking connections on connection pool

* [WIP] FlightSQL Ratification based on Community Comments (apache#73)

* Move FlightSql examples to their own subpackage

* Fix checkstyle issues

* fix: change Status use to CallStatus

* Remove unnecessary overhead of wrapping nullable objects into Optionals for the sole purpose of null-checking

* Replace Guava's Preconditions with the ones provided by Apache

* Fix typo in FlightSql.proto

* Fix ordering of schema for FlightSql.proto

* Explain why reserved range of IDs for GetSqlInfo is not entirely in use

* Add comment to CommandGetTables to explain the encoding of table_schema

* Remove redundat information on schemas

* Fixed Javadoc on some methods, added Thread interrupt to executeUpdate methods, and updated Signal exceptions to CallStatus with description

* Replace int32 with uint32 for GetSqlInfo name representation

* Replace AssertionError with StatusRuntimeException for whenever attempting to unpack an invalid protobuf message

* add comment to FlightSql.proto to update_rule and delete_rule

* Replace inconsistent exception handling with CallStatus predetermined exceptions

* correct comment to CreatePreparedStatement on FlightSql.proto

* Remove unused dependencies

* fix: change Status use to CallStatus on FlightSqlProducer

* Changed from if not null check to Objects requireNonNull on Flight SQL Client

* Remove Nullable annotation

* Changed from checkNotNull to Objects#requireNotNull with description on Flight SQL Example

* Add CallOptions to every RPC call by the client

* Fix Maven dependency problems and checkstyle violations

* Replace generic Collections with Lists when order matters in an RPC call

* Fix Javadoc for FlightSqlClient

* Add description to StatusRuntimeExceptions

* Add descriptions to Exceptions

* Correct update_rule and delete_rule description on FlighSql.proto

* Verify wheter Root is empty before sending request to server

* Add call options to PreparedStatement

* Replace constant checking of whether client is open with #checkOpen

* Add CallOptions to #close for PreparedStatement

* Refactor PreparedStatement usages of CallOptions

* Fix broken tests

* Fix FlightSql.proto documentation

* Update documentation for format/FlightSql.proto

Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* Fix checkstyle violations

* Require non null tables for GetExportedKeys and GetImportedKeys

* Not storing CallOptions in PreparedStatement

* Update documentation comments for protobuf

* Replace IntVector for UInt1Vector for delete_rule and update_rule

* Fix protobuf for FlightSQL

* Fix bug with empty metadata

* Update update_rule and delete_rule documentation on proto

* Remove explicit dependency on JDBC's DatabaseMetaData on UpdateDeleteRules

* Use MessageOptions instead of FieldOptions on proto

* Add missing JavaDoc about 'options' parameter

* Fix CommandGetSqlInfo documentation

* Add @throws to FlightSqlClient#checkOpen JavaDoc

Co-authored-by: Juscelino Junior <juscelinojunior@id.uff.br>
Co-authored-by: Vinicius Fraga <sxvinifp@gmail.com>
Co-authored-by: Rafael Telles <rafael@telles.dev>
Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Fix Minor POM Issues to allow Maven build (apache#161)

* Fix minor POM Issues to allow Maven Build

* Revert Flight SQL POM State

* Remove unused imports

Co-authored-by: Rafael Telles <rafael@telles.dev>

* Ignore broken tests

* Refactor tests due to creation of new column of primaryKey

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* [FlightRPC] Flight SQL POC

Add extensions in the Apache Arrow project’s Arrow Flight modules
to provide a standard way for clients and servers to communicate
with SQL-like semantics.

Do not pull to master. A message to the mailing list will accompany this
and another proposal in the coming days for discussion.

* Update FlightSqlProducer to conform to new design.
Rename files for SQL -> Sql.
Correct compilation errors in client code, but design needs to be updated.

Tests do not yet compile.

* Correct the dense_union type for schema return of SQL info.
Correct some additional SQL -> Sql file renames.
Reduce the test compilation problems (still more to do).

* Additional CR changes.

Note - FlightSqlExample is not functional and needs to be updated.

* Add support for primary and foreign keys.

* Fix broken Maven build

* Add Hamcrest as a root-level dependency

* Create test for GetCatalogs

* Update tests for GetTables

* Fix test for GetTables

* Enable support for includeSchema in GetTables

* Fix checkstyle and dependency management errors

* Remove boilerplate code for creating a new Schema by reusing default converter from JdbcToArrowConfig#DEFAULT_JDBC_TO_ARROW_TYPE_CONVERTER

* WIP: Working on fixing data consistency issue where catalog is null in some parts and "" in others

* Implement FlightSqlExample's GetPrimaryKey command

* WIP: Add support for GetCatalogs: GetFlightInfoCatalogs

* WIP: Add support for GetCatalogs: GetStreamCatalogs

* WIP: Add support for GetTableTypes: getFlightInfoTableTypes

* WIP: Add support for GetTableTypes: getStreamTableTypes

* Fix rebase conflicts

* Minor refactor: apply DRY principle to repeated methods

* Ignore broken tests

* Fix broken tests for CreatePreparedStatement

* Fix Schema generation not setting an unknown column type to nullable

* Change FlightSqlProducer from abstract class to interface

* Update FlightSql protobuf to allow nullable values as parameters for nullable fields

* Start separating commandForeignKey into two new commands

* Fix CheckStyle issues

* Change empty string to null value

* Implement CommandGetImportedKeys

* Fix checkstyle violations

* Minor refactor: remove unused methods

* Implement FlightSqlClient.executeUpdate

* Refactor the code to not use string when getting from cache

* Nit: fix checkstyle

* Fix conflicts between tests for creating a new statement and checking its schema

* Minor refactor: remove unused fields @ FlightSqlUtils

* Fix wrong StreamListener usages and multiple instances of RootAllocators

* Fix checkstyle

* Modify execute preparedStatement flow

* Fix leaking connections on connection pool

* Deal with query with parameter in the preparedStatement

* Fix rebase issues with FlightSql.proto

* Fix missing code on adapter/jdbc/JdbcToArrowUtils.java due to rebase issue

* [WIP] FlightSQL Ratification based on Community Comments (apache#73)

* Move FlightSql examples to their own subpackage

* Fix checkstyle issues

* fix: change Status use to CallStatus

* Remove unnecessary overhead of wrapping nullable objects into Optionals for the sole purpose of null-checking

* Replace Guava's Preconditions with the ones provided by Apache

* Fix typo in FlightSql.proto

* Fix ordering of schema for FlightSql.proto

* Explain why reserved range of IDs for GetSqlInfo is not entirely in use

* Add comment to CommandGetTables to explain the encoding of table_schema

* Remove redundat information on schemas

* Fixed Javadoc on some methods, added Thread interrupt to executeUpdate methods, and updated Signal exceptions to CallStatus with description

* Replace int32 with uint32 for GetSqlInfo name representation

* Replace AssertionError with StatusRuntimeException for whenever attempting to unpack an invalid protobuf message

* add comment to FlightSql.proto to update_rule and delete_rule

* Replace inconsistent exception handling with CallStatus predetermined exceptions

* correct comment to CreatePreparedStatement on FlightSql.proto

* Remove unused dependencies

* fix: change Status use to CallStatus on FlightSqlProducer

* Changed from if not null check to Objects requireNonNull on Flight SQL Client

* Remove Nullable annotation

* Changed from checkNotNull to Objects#requireNotNull with description on Flight SQL Example

* Add CallOptions to every RPC call by the client

* Fix Maven dependency problems and checkstyle violations

* Replace generic Collections with Lists when order matters in an RPC call

* Fix Javadoc for FlightSqlClient

* Add description to StatusRuntimeExceptions

* Add descriptions to Exceptions

* Correct update_rule and delete_rule description on FlighSql.proto

* Verify wheter Root is empty before sending request to server

* Add call options to PreparedStatement

* Replace constant checking of whether client is open with #checkOpen

* Add CallOptions to #close for PreparedStatement

* Refactor PreparedStatement usages of CallOptions

* Fix broken tests

* Fix FlightSql.proto documentation

* Update documentation for format/FlightSql.proto

Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* Fix checkstyle violations

* Require non null tables for GetExportedKeys and GetImportedKeys

* Not storing CallOptions in PreparedStatement

* Update documentation comments for protobuf

* Replace IntVector for UInt1Vector for delete_rule and update_rule

* Fix protobuf for FlightSQL

* Fix bug with empty metadata

* Update update_rule and delete_rule documentation on proto

* Remove explicit dependency on JDBC's DatabaseMetaData on UpdateDeleteRules

* Use MessageOptions instead of FieldOptions on proto

* Add missing JavaDoc about 'options' parameter

* Fix CommandGetSqlInfo documentation

* Add @throws to FlightSqlClient#checkOpen JavaDoc

Co-authored-by: Juscelino Junior <juscelinojunior@id.uff.br>
Co-authored-by: Vinicius Fraga <sxvinifp@gmail.com>
Co-authored-by: Rafael Telles <rafael@telles.dev>
Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* FlightSQL Ratification based on Community Comments (round 2) (apache#85)

* Remove unused client_execution_handler from Protobuf

* Update documentation on CommandGetPrimaryKeys

* Update documentation on CommandGetImportedKeys and CommandGetExportedKeys

* Change exception type on FlightSqlClient#executeUpdate

* Add @return to FlightSqlClient#executeUpdate JavaDoc

* Switch order of key_name and key_sequence on CommandGetTableKeys documentation

* Update JavaDoc for FlIghtSqlClient#clearParameters

* Add private constructor to FlightSqlProducer.SqlInfo

* Update JavaDoc for FlIghtSqlClient#clearParameters

* Fix wrong CommandGetPrimaryKeys documentation on Proto file

* Fix order of key_name and key_sequence

* Split CommandStatementQuery in 2 messages, one for Command and other for Ticket

* Fix leaking Connections on FlightSqlExample

* Remove unused variable of cache

* Flight SQL Ratification Based On Community Feedback #5 (apache#91)

* Delegate GetSchemaImportedKeys

* Remove schema retrieval methods for catalog functions and delegate to constants

* Add IPC encapsulation to Schema serialization

* Fix checkstyle violations

* Update javadoc for FlightSqlClient

* Update documentation for FlightSql.proto

Co-authored-by: Abner Eduardo Ferreira <abenaru@protonmail.ch>

* Flight SQL Ratification Based On Community Feedback #6 (apache#94)

* Refactored FlightSql Statement Constant names

* Defined non-nullable parameters for FlightSql proto

* Resolved minimal checkstyle issues

* Added further documentation for catalog and schema

* Refactored FlightSql proto comments to include more information

* Added Field/FieldType notNullable methods

* Refactored FlightSqlClient and FlightSqlExample to leverage Field notNullable method

* Removed opaque query warning from FlightSql proto

* Added the optional tag for the returned schema of getTables to proto

* Flight SQL Ratification Based On Community Feedback #7 (apache#98)

* Remove scope from 'hamcrest' dependency on java/pom.xml

* Use flight top-level module on parent pom.xml instead of declaring each one

* Avoid using getStatement inside StatementContext methods

* Make StatementContext.getQuery() return String

* Minor fixes on pom.xml

* Move 'os-maven-plugin' to parent pom.xml

* Update protobuf generation on pom.xml files

* Use ClassLoader#getResource to get network.properties on TestFlightSql

* Bind to any ephemeral port on TestFlightSql

* Move JDBC-Arrow type default conversion from JdbcToArrowConfig to JdbcToArrowUtils

* Micro-optimization: initialize ArrayList with the right size

* Fix null-check on PreparedStatement#setParameters

* Avoid wrapping vector into a ImmutableList and then into an ArrayList on FlightSqlExample#getTablesRoot

* Remove null-check on VectorSchemaRoot on FlightSqlClient#setParameters()

* Remove the need of separate cache for ResultSets

* Add missing 'final' modifiers

* Fix missing generated sources on built flight-sql jar (apache#101)

* Bump protobuf version

* Flight SQL Ratification Based On Community Feedback #8 (apache#113)

* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml

* Fix maven build from different directories (apache#114)

* Add test cases for bitshifting operations required for filtering out some SqlInfo data

* Fix Schema serialization and deserialization on Flight SQL methods

* [FlightSQL] Add missing method for creating bitmask from GetSqlInfo option enum (apache#148)

* Add util method for creating bitmask from multiple protobuf enums for FlightSql GetSqlInfo enum

* Add test cases for utility method for creating bitmask from protobuf options

* Make changes regarding to reviews

Co-authored-by: Rafael Telles <rafael@telles.dev>

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* WIP: Refactor SqlInfoProvider

* WIP

* WIP

* WIP

* Fix rebase issues

* Restore FlightSql.proto state

* Fix checkstyle

* Fix rebase colateral

* Restore FlightSql.proto

Co-authored-by: Jose Almeida <almeidajcr90@gmail.com>
Co-authored-by: Abner Eduardo Ferreira <abenaru@protonmail.ch>
Co-authored-by: Juscelino Junior <juscelinojunior@id.uff.br>
Co-authored-by: Vinicius Fraga <sxvinifp@gmail.com>
Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>
Co-authored-by: Vinicius Fraga <62815192+vfraga@users.noreply.github.com>
Co-authored-by: Ryan Nicholson <rnicholson@dremio.com>
Co-authored-by: Kyle Porter <kporter@dremio.com>
rafael-telles referenced this pull request in rafael-telles/arrow Jan 20, 2022
* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml
rafael-telles referenced this pull request in rafael-telles/arrow Jan 20, 2022
* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml
rafael-telles referenced this pull request in rafael-telles/arrow Jan 20, 2022
* Flight SQL Ratification Based On Community Feedback #7 (apache#98)

* Remove scope from 'hamcrest' dependency on java/pom.xml

* Use flight top-level module on parent pom.xml instead of declaring each one

* Avoid using getStatement inside StatementContext methods

* Make StatementContext.getQuery() return String

* Minor fixes on pom.xml

* Move 'os-maven-plugin' to parent pom.xml

* Update protobuf generation on pom.xml files

* Use ClassLoader#getResource to get network.properties on TestFlightSql

* Bind to any ephemeral port on TestFlightSql

* Move JDBC-Arrow type default conversion from JdbcToArrowConfig to JdbcToArrowUtils

* Micro-optimization: initialize ArrayList with the right size

* Fix null-check on PreparedStatement#setParameters

* Avoid wrapping vector into a ImmutableList and then into an ArrayList on FlightSqlExample#getTablesRoot

* Remove null-check on VectorSchemaRoot on FlightSqlClient#setParameters()

* Remove the need of separate cache for ResultSets

* Add missing 'final' modifiers

* Fix maven build from different directories (apache#114)

* Add CrossReference methods to SqlProducer

* Clean-up: remove boilerplate code by replacing with tools provided by Arrow Flight JDBC Adapter

* Fix checkstyle and dependency management errors

* Ignore broken tests

* Fix broken tests for CreatePreparedStatement

* Fix Schema generation not setting an unknown column type to nullable

* Change FlightSqlProducer from abstract class to interface

* Refactor tests due to creation of new column of primaryKey

* Nit: fix checkstyle

* Fix leaking connections on connection pool

* [WIP] FlightSQL Ratification based on Community Comments (apache#73)

* Move FlightSql examples to their own subpackage

* Fix checkstyle issues

* fix: change Status use to CallStatus

* Remove unnecessary overhead of wrapping nullable objects into Optionals for the sole purpose of null-checking

* Replace Guava's Preconditions with the ones provided by Apache

* Fix typo in FlightSql.proto

* Fix ordering of schema for FlightSql.proto

* Explain why reserved range of IDs for GetSqlInfo is not entirely in use

* Add comment to CommandGetTables to explain the encoding of table_schema

* Remove redundat information on schemas

* Fixed Javadoc on some methods, added Thread interrupt to executeUpdate methods, and updated Signal exceptions to CallStatus with description

* Replace int32 with uint32 for GetSqlInfo name representation

* Replace AssertionError with StatusRuntimeException for whenever attempting to unpack an invalid protobuf message

* add comment to FlightSql.proto to update_rule and delete_rule

* Replace inconsistent exception handling with CallStatus predetermined exceptions

* correct comment to CreatePreparedStatement on FlightSql.proto

* Remove unused dependencies

* fix: change Status use to CallStatus on FlightSqlProducer

* Changed from if not null check to Objects requireNonNull on Flight SQL Client

* Remove Nullable annotation

* Changed from checkNotNull to Objects#requireNotNull with description on Flight SQL Example

* Add CallOptions to every RPC call by the client

* Fix Maven dependency problems and checkstyle violations

* Replace generic Collections with Lists when order matters in an RPC call

* Fix Javadoc for FlightSqlClient

* Add description to StatusRuntimeExceptions

* Add descriptions to Exceptions

* Correct update_rule and delete_rule description on FlighSql.proto

* Verify wheter Root is empty before sending request to server

* Add call options to PreparedStatement

* Replace constant checking of whether client is open with #checkOpen

* Add CallOptions to #close for PreparedStatement

* Refactor PreparedStatement usages of CallOptions

* Fix broken tests

* Fix FlightSql.proto documentation

* Update documentation for format/FlightSql.proto

Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* Fix checkstyle violations

* Require non null tables for GetExportedKeys and GetImportedKeys

* Not storing CallOptions in PreparedStatement

* Update documentation comments for protobuf

* Replace IntVector for UInt1Vector for delete_rule and update_rule

* Fix protobuf for FlightSQL

* Fix bug with empty metadata

* Update update_rule and delete_rule documentation on proto

* Remove explicit dependency on JDBC's DatabaseMetaData on UpdateDeleteRules

* Use MessageOptions instead of FieldOptions on proto

* Add missing JavaDoc about 'options' parameter

* Fix CommandGetSqlInfo documentation

* Add @throws to FlightSqlClient#checkOpen JavaDoc

Co-authored-by: Juscelino Junior <juscelinojunior@id.uff.br>
Co-authored-by: Vinicius Fraga <sxvinifp@gmail.com>
Co-authored-by: Rafael Telles <rafael@telles.dev>
Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Fix Minor POM Issues to allow Maven build (apache#161)

* Fix minor POM Issues to allow Maven Build

* Revert Flight SQL POM State

* Remove unused imports

Co-authored-by: Rafael Telles <rafael@telles.dev>

* Ignore broken tests

* Refactor tests due to creation of new column of primaryKey

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* [FlightRPC] Flight SQL POC

Add extensions in the Apache Arrow project’s Arrow Flight modules
to provide a standard way for clients and servers to communicate
with SQL-like semantics.

Do not pull to master. A message to the mailing list will accompany this
and another proposal in the coming days for discussion.

* Update FlightSqlProducer to conform to new design.
Rename files for SQL -> Sql.
Correct compilation errors in client code, but design needs to be updated.

Tests do not yet compile.

* Correct the dense_union type for schema return of SQL info.
Correct some additional SQL -> Sql file renames.
Reduce the test compilation problems (still more to do).

* Additional CR changes.

Note - FlightSqlExample is not functional and needs to be updated.

* Add support for primary and foreign keys.

* Fix broken Maven build

* Add Hamcrest as a root-level dependency

* Create test for GetCatalogs

* Update tests for GetTables

* Fix test for GetTables

* Enable support for includeSchema in GetTables

* Fix checkstyle and dependency management errors

* Remove boilerplate code for creating a new Schema by reusing default converter from JdbcToArrowConfig#DEFAULT_JDBC_TO_ARROW_TYPE_CONVERTER

* WIP: Working on fixing data consistency issue where catalog is null in some parts and "" in others

* Implement FlightSqlExample's GetPrimaryKey command

* WIP: Add support for GetCatalogs: GetFlightInfoCatalogs

* WIP: Add support for GetCatalogs: GetStreamCatalogs

* WIP: Add support for GetTableTypes: getFlightInfoTableTypes

* WIP: Add support for GetTableTypes: getStreamTableTypes

* Fix rebase conflicts

* Minor refactor: apply DRY principle to repeated methods

* Ignore broken tests

* Fix broken tests for CreatePreparedStatement

* Fix Schema generation not setting an unknown column type to nullable

* Change FlightSqlProducer from abstract class to interface

* Update FlightSql protobuf to allow nullable values as parameters for nullable fields

* Start separating commandForeignKey into two new commands

* Fix CheckStyle issues

* Change empty string to null value

* Implement CommandGetImportedKeys

* Fix checkstyle violations

* Minor refactor: remove unused methods

* Implement FlightSqlClient.executeUpdate

* Refactor the code to not use string when getting from cache

* Nit: fix checkstyle

* Fix conflicts between tests for creating a new statement and checking its schema

* Minor refactor: remove unused fields @ FlightSqlUtils

* Fix wrong StreamListener usages and multiple instances of RootAllocators

* Fix checkstyle

* Modify execute preparedStatement flow

* Fix leaking connections on connection pool

* Deal with query with parameter in the preparedStatement

* Fix rebase issues with FlightSql.proto

* Fix missing code on adapter/jdbc/JdbcToArrowUtils.java due to rebase issue

* [WIP] FlightSQL Ratification based on Community Comments (apache#73)

* Move FlightSql examples to their own subpackage

* Fix checkstyle issues

* fix: change Status use to CallStatus

* Remove unnecessary overhead of wrapping nullable objects into Optionals for the sole purpose of null-checking

* Replace Guava's Preconditions with the ones provided by Apache

* Fix typo in FlightSql.proto

* Fix ordering of schema for FlightSql.proto

* Explain why reserved range of IDs for GetSqlInfo is not entirely in use

* Add comment to CommandGetTables to explain the encoding of table_schema

* Remove redundat information on schemas

* Fixed Javadoc on some methods, added Thread interrupt to executeUpdate methods, and updated Signal exceptions to CallStatus with description

* Replace int32 with uint32 for GetSqlInfo name representation

* Replace AssertionError with StatusRuntimeException for whenever attempting to unpack an invalid protobuf message

* add comment to FlightSql.proto to update_rule and delete_rule

* Replace inconsistent exception handling with CallStatus predetermined exceptions

* correct comment to CreatePreparedStatement on FlightSql.proto

* Remove unused dependencies

* fix: change Status use to CallStatus on FlightSqlProducer

* Changed from if not null check to Objects requireNonNull on Flight SQL Client

* Remove Nullable annotation

* Changed from checkNotNull to Objects#requireNotNull with description on Flight SQL Example

* Add CallOptions to every RPC call by the client

* Fix Maven dependency problems and checkstyle violations

* Replace generic Collections with Lists when order matters in an RPC call

* Fix Javadoc for FlightSqlClient

* Add description to StatusRuntimeExceptions

* Add descriptions to Exceptions

* Correct update_rule and delete_rule description on FlighSql.proto

* Verify wheter Root is empty before sending request to server

* Add call options to PreparedStatement

* Replace constant checking of whether client is open with #checkOpen

* Add CallOptions to #close for PreparedStatement

* Refactor PreparedStatement usages of CallOptions

* Fix broken tests

* Fix FlightSql.proto documentation

* Update documentation for format/FlightSql.proto

Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* Fix checkstyle violations

* Require non null tables for GetExportedKeys and GetImportedKeys

* Not storing CallOptions in PreparedStatement

* Update documentation comments for protobuf

* Replace IntVector for UInt1Vector for delete_rule and update_rule

* Fix protobuf for FlightSQL

* Fix bug with empty metadata

* Update update_rule and delete_rule documentation on proto

* Remove explicit dependency on JDBC's DatabaseMetaData on UpdateDeleteRules

* Use MessageOptions instead of FieldOptions on proto

* Add missing JavaDoc about 'options' parameter

* Fix CommandGetSqlInfo documentation

* Add @throws to FlightSqlClient#checkOpen JavaDoc

Co-authored-by: Juscelino Junior <juscelinojunior@id.uff.br>
Co-authored-by: Vinicius Fraga <sxvinifp@gmail.com>
Co-authored-by: Rafael Telles <rafael@telles.dev>
Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* FlightSQL Ratification based on Community Comments (round 2) (apache#85)

* Remove unused client_execution_handler from Protobuf

* Update documentation on CommandGetPrimaryKeys

* Update documentation on CommandGetImportedKeys and CommandGetExportedKeys

* Change exception type on FlightSqlClient#executeUpdate

* Add @return to FlightSqlClient#executeUpdate JavaDoc

* Switch order of key_name and key_sequence on CommandGetTableKeys documentation

* Update JavaDoc for FlIghtSqlClient#clearParameters

* Add private constructor to FlightSqlProducer.SqlInfo

* Update JavaDoc for FlIghtSqlClient#clearParameters

* Fix wrong CommandGetPrimaryKeys documentation on Proto file

* Fix order of key_name and key_sequence

* Split CommandStatementQuery in 2 messages, one for Command and other for Ticket

* Fix leaking Connections on FlightSqlExample

* Remove unused variable of cache

* Flight SQL Ratification Based On Community Feedback #5 (apache#91)

* Delegate GetSchemaImportedKeys

* Remove schema retrieval methods for catalog functions and delegate to constants

* Add IPC encapsulation to Schema serialization

* Fix checkstyle violations

* Update javadoc for FlightSqlClient

* Update documentation for FlightSql.proto

Co-authored-by: Abner Eduardo Ferreira <abenaru@protonmail.ch>

* Flight SQL Ratification Based On Community Feedback #6 (apache#94)

* Refactored FlightSql Statement Constant names

* Defined non-nullable parameters for FlightSql proto

* Resolved minimal checkstyle issues

* Added further documentation for catalog and schema

* Refactored FlightSql proto comments to include more information

* Added Field/FieldType notNullable methods

* Refactored FlightSqlClient and FlightSqlExample to leverage Field notNullable method

* Removed opaque query warning from FlightSql proto

* Added the optional tag for the returned schema of getTables to proto

* Flight SQL Ratification Based On Community Feedback #7 (apache#98)

* Remove scope from 'hamcrest' dependency on java/pom.xml

* Use flight top-level module on parent pom.xml instead of declaring each one

* Avoid using getStatement inside StatementContext methods

* Make StatementContext.getQuery() return String

* Minor fixes on pom.xml

* Move 'os-maven-plugin' to parent pom.xml

* Update protobuf generation on pom.xml files

* Use ClassLoader#getResource to get network.properties on TestFlightSql

* Bind to any ephemeral port on TestFlightSql

* Move JDBC-Arrow type default conversion from JdbcToArrowConfig to JdbcToArrowUtils

* Micro-optimization: initialize ArrayList with the right size

* Fix null-check on PreparedStatement#setParameters

* Avoid wrapping vector into a ImmutableList and then into an ArrayList on FlightSqlExample#getTablesRoot

* Remove null-check on VectorSchemaRoot on FlightSqlClient#setParameters()

* Remove the need of separate cache for ResultSets

* Add missing 'final' modifiers

* Fix missing generated sources on built flight-sql jar (apache#101)

* Bump protobuf version

* Flight SQL Ratification Based On Community Feedback #8 (apache#113)

* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml

* Fix maven build from different directories (apache#114)

* Add test cases for bitshifting operations required for filtering out some SqlInfo data

* Fix Schema serialization and deserialization on Flight SQL methods

* [FlightSQL] Add missing method for creating bitmask from GetSqlInfo option enum (apache#148)

* Add util method for creating bitmask from multiple protobuf enums for FlightSql GetSqlInfo enum

* Add test cases for utility method for creating bitmask from protobuf options

* Make changes regarding to reviews

Co-authored-by: Rafael Telles <rafael@telles.dev>

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* WIP: Refactor SqlInfoProvider

* WIP

* WIP

* WIP

* Fix rebase issues

* Restore FlightSql.proto state

* Fix checkstyle

* Fix rebase colateral

* Restore FlightSql.proto

Co-authored-by: Jose Almeida <almeidajcr90@gmail.com>
Co-authored-by: Abner Eduardo Ferreira <abenaru@protonmail.ch>
Co-authored-by: Juscelino Junior <juscelinojunior@id.uff.br>
Co-authored-by: Vinicius Fraga <sxvinifp@gmail.com>
Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>
Co-authored-by: Vinicius Fraga <62815192+vfraga@users.noreply.github.com>
Co-authored-by: Ryan Nicholson <rnicholson@dremio.com>
Co-authored-by: Kyle Porter <kporter@dremio.com>
jayhomn-bitquill referenced this pull request in Bit-Quill/arrow Aug 10, 2022
* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml
jayhomn-bitquill referenced this pull request in Bit-Quill/arrow Aug 10, 2022
* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml
jayhomn-bitquill referenced this pull request in Bit-Quill/arrow Aug 10, 2022
* Flight SQL Ratification Based On Community Feedback #7 (#98)

* Remove scope from 'hamcrest' dependency on java/pom.xml

* Use flight top-level module on parent pom.xml instead of declaring each one

* Avoid using getStatement inside StatementContext methods

* Make StatementContext.getQuery() return String

* Minor fixes on pom.xml

* Move 'os-maven-plugin' to parent pom.xml

* Update protobuf generation on pom.xml files

* Use ClassLoader#getResource to get network.properties on TestFlightSql

* Bind to any ephemeral port on TestFlightSql

* Move JDBC-Arrow type default conversion from JdbcToArrowConfig to JdbcToArrowUtils

* Micro-optimization: initialize ArrayList with the right size

* Fix null-check on PreparedStatement#setParameters

* Avoid wrapping vector into a ImmutableList and then into an ArrayList on FlightSqlExample#getTablesRoot

* Remove null-check on VectorSchemaRoot on FlightSqlClient#setParameters()

* Remove the need of separate cache for ResultSets

* Add missing 'final' modifiers

* Fix maven build from different directories (#114)

* Add CrossReference methods to SqlProducer

* Clean-up: remove boilerplate code by replacing with tools provided by Arrow Flight JDBC Adapter

* Fix checkstyle and dependency management errors

* Ignore broken tests

* Fix broken tests for CreatePreparedStatement

* Fix Schema generation not setting an unknown column type to nullable

* Change FlightSqlProducer from abstract class to interface

* Refactor tests due to creation of new column of primaryKey

* Nit: fix checkstyle

* Fix leaking connections on connection pool

* [WIP] FlightSQL Ratification based on Community Comments (#73)

* Move FlightSql examples to their own subpackage

* Fix checkstyle issues

* fix: change Status use to CallStatus

* Remove unnecessary overhead of wrapping nullable objects into Optionals for the sole purpose of null-checking

* Replace Guava's Preconditions with the ones provided by Apache

* Fix typo in FlightSql.proto

* Fix ordering of schema for FlightSql.proto

* Explain why reserved range of IDs for GetSqlInfo is not entirely in use

* Add comment to CommandGetTables to explain the encoding of table_schema

* Remove redundat information on schemas

* Fixed Javadoc on some methods, added Thread interrupt to executeUpdate methods, and updated Signal exceptions to CallStatus with description

* Replace int32 with uint32 for GetSqlInfo name representation

* Replace AssertionError with StatusRuntimeException for whenever attempting to unpack an invalid protobuf message

* add comment to FlightSql.proto to update_rule and delete_rule

* Replace inconsistent exception handling with CallStatus predetermined exceptions

* correct comment to CreatePreparedStatement on FlightSql.proto

* Remove unused dependencies

* fix: change Status use to CallStatus on FlightSqlProducer

* Changed from if not null check to Objects requireNonNull on Flight SQL Client

* Remove Nullable annotation

* Changed from checkNotNull to Objects#requireNotNull with description on Flight SQL Example

* Add CallOptions to every RPC call by the client

* Fix Maven dependency problems and checkstyle violations

* Replace generic Collections with Lists when order matters in an RPC call

* Fix Javadoc for FlightSqlClient

* Add description to StatusRuntimeExceptions

* Add descriptions to Exceptions

* Correct update_rule and delete_rule description on FlighSql.proto

* Verify wheter Root is empty before sending request to server

* Add call options to PreparedStatement

* Replace constant checking of whether client is open with #checkOpen

* Add CallOptions to #close for PreparedStatement

* Refactor PreparedStatement usages of CallOptions

* Fix broken tests

* Fix FlightSql.proto documentation

* Update documentation for format/FlightSql.proto

Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* Fix checkstyle violations

* Require non null tables for GetExportedKeys and GetImportedKeys

* Not storing CallOptions in PreparedStatement

* Update documentation comments for protobuf

* Replace IntVector for UInt1Vector for delete_rule and update_rule

* Fix protobuf for FlightSQL

* Fix bug with empty metadata

* Update update_rule and delete_rule documentation on proto

* Remove explicit dependency on JDBC's DatabaseMetaData on UpdateDeleteRules

* Use MessageOptions instead of FieldOptions on proto

* Add missing JavaDoc about 'options' parameter

* Fix CommandGetSqlInfo documentation

* Add @throws to FlightSqlClient#checkOpen JavaDoc

Co-authored-by: Juscelino Junior <juscelinojunior@id.uff.br>
Co-authored-by: Vinicius Fraga <sxvinifp@gmail.com>
Co-authored-by: Rafael Telles <rafael@telles.dev>
Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Fix Minor POM Issues to allow Maven build (#161)

* Fix minor POM Issues to allow Maven Build

* Revert Flight SQL POM State

* Remove unused imports

Co-authored-by: Rafael Telles <rafael@telles.dev>

* Ignore broken tests

* Refactor tests due to creation of new column of primaryKey

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* [FlightRPC] Flight SQL POC

Add extensions in the Apache Arrow project’s Arrow Flight modules
to provide a standard way for clients and servers to communicate
with SQL-like semantics.

Do not pull to master. A message to the mailing list will accompany this
and another proposal in the coming days for discussion.

* Update FlightSqlProducer to conform to new design.
Rename files for SQL -> Sql.
Correct compilation errors in client code, but design needs to be updated.

Tests do not yet compile.

* Correct the dense_union type for schema return of SQL info.
Correct some additional SQL -> Sql file renames.
Reduce the test compilation problems (still more to do).

* Additional CR changes.

Note - FlightSqlExample is not functional and needs to be updated.

* Add support for primary and foreign keys.

* Fix broken Maven build

* Add Hamcrest as a root-level dependency

* Create test for GetCatalogs

* Update tests for GetTables

* Fix test for GetTables

* Enable support for includeSchema in GetTables

* Fix checkstyle and dependency management errors

* Remove boilerplate code for creating a new Schema by reusing default converter from JdbcToArrowConfig#DEFAULT_JDBC_TO_ARROW_TYPE_CONVERTER

* WIP: Working on fixing data consistency issue where catalog is null in some parts and "" in others

* Implement FlightSqlExample's GetPrimaryKey command

* WIP: Add support for GetCatalogs: GetFlightInfoCatalogs

* WIP: Add support for GetCatalogs: GetStreamCatalogs

* WIP: Add support for GetTableTypes: getFlightInfoTableTypes

* WIP: Add support for GetTableTypes: getStreamTableTypes

* Fix rebase conflicts

* Minor refactor: apply DRY principle to repeated methods

* Ignore broken tests

* Fix broken tests for CreatePreparedStatement

* Fix Schema generation not setting an unknown column type to nullable

* Change FlightSqlProducer from abstract class to interface

* Update FlightSql protobuf to allow nullable values as parameters for nullable fields

* Start separating commandForeignKey into two new commands

* Fix CheckStyle issues

* Change empty string to null value

* Implement CommandGetImportedKeys

* Fix checkstyle violations

* Minor refactor: remove unused methods

* Implement FlightSqlClient.executeUpdate

* Refactor the code to not use string when getting from cache

* Nit: fix checkstyle

* Fix conflicts between tests for creating a new statement and checking its schema

* Minor refactor: remove unused fields @ FlightSqlUtils

* Fix wrong StreamListener usages and multiple instances of RootAllocators

* Fix checkstyle

* Modify execute preparedStatement flow

* Fix leaking connections on connection pool

* Deal with query with parameter in the preparedStatement

* Fix rebase issues with FlightSql.proto

* Fix missing code on adapter/jdbc/JdbcToArrowUtils.java due to rebase issue

* [WIP] FlightSQL Ratification based on Community Comments (#73)

* Move FlightSql examples to their own subpackage

* Fix checkstyle issues

* fix: change Status use to CallStatus

* Remove unnecessary overhead of wrapping nullable objects into Optionals for the sole purpose of null-checking

* Replace Guava's Preconditions with the ones provided by Apache

* Fix typo in FlightSql.proto

* Fix ordering of schema for FlightSql.proto

* Explain why reserved range of IDs for GetSqlInfo is not entirely in use

* Add comment to CommandGetTables to explain the encoding of table_schema

* Remove redundat information on schemas

* Fixed Javadoc on some methods, added Thread interrupt to executeUpdate methods, and updated Signal exceptions to CallStatus with description

* Replace int32 with uint32 for GetSqlInfo name representation

* Replace AssertionError with StatusRuntimeException for whenever attempting to unpack an invalid protobuf message

* add comment to FlightSql.proto to update_rule and delete_rule

* Replace inconsistent exception handling with CallStatus predetermined exceptions

* correct comment to CreatePreparedStatement on FlightSql.proto

* Remove unused dependencies

* fix: change Status use to CallStatus on FlightSqlProducer

* Changed from if not null check to Objects requireNonNull on Flight SQL Client

* Remove Nullable annotation

* Changed from checkNotNull to Objects#requireNotNull with description on Flight SQL Example

* Add CallOptions to every RPC call by the client

* Fix Maven dependency problems and checkstyle violations

* Replace generic Collections with Lists when order matters in an RPC call

* Fix Javadoc for FlightSqlClient

* Add description to StatusRuntimeExceptions

* Add descriptions to Exceptions

* Correct update_rule and delete_rule description on FlighSql.proto

* Verify wheter Root is empty before sending request to server

* Add call options to PreparedStatement

* Replace constant checking of whether client is open with #checkOpen

* Add CallOptions to #close for PreparedStatement

* Refactor PreparedStatement usages of CallOptions

* Fix broken tests

* Fix FlightSql.proto documentation

* Update documentation for format/FlightSql.proto

Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* Fix checkstyle violations

* Require non null tables for GetExportedKeys and GetImportedKeys

* Not storing CallOptions in PreparedStatement

* Update documentation comments for protobuf

* Replace IntVector for UInt1Vector for delete_rule and update_rule

* Fix protobuf for FlightSQL

* Fix bug with empty metadata

* Update update_rule and delete_rule documentation on proto

* Remove explicit dependency on JDBC's DatabaseMetaData on UpdateDeleteRules

* Use MessageOptions instead of FieldOptions on proto

* Add missing JavaDoc about 'options' parameter

* Fix CommandGetSqlInfo documentation

* Add @throws to FlightSqlClient#checkOpen JavaDoc

Co-authored-by: Juscelino Junior <juscelinojunior@id.uff.br>
Co-authored-by: Vinicius Fraga <sxvinifp@gmail.com>
Co-authored-by: Rafael Telles <rafael@telles.dev>
Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>

* FlightSQL Ratification based on Community Comments (round 2) (#85)

* Remove unused client_execution_handler from Protobuf

* Update documentation on CommandGetPrimaryKeys

* Update documentation on CommandGetImportedKeys and CommandGetExportedKeys

* Change exception type on FlightSqlClient#executeUpdate

* Add @return to FlightSqlClient#executeUpdate JavaDoc

* Switch order of key_name and key_sequence on CommandGetTableKeys documentation

* Update JavaDoc for FlIghtSqlClient#clearParameters

* Add private constructor to FlightSqlProducer.SqlInfo

* Update JavaDoc for FlIghtSqlClient#clearParameters

* Fix wrong CommandGetPrimaryKeys documentation on Proto file

* Fix order of key_name and key_sequence

* Split CommandStatementQuery in 2 messages, one for Command and other for Ticket

* Fix leaking Connections on FlightSqlExample

* Remove unused variable of cache

* Flight SQL Ratification Based On Community Feedback #5 (#91)

* Delegate GetSchemaImportedKeys

* Remove schema retrieval methods for catalog functions and delegate to constants

* Add IPC encapsulation to Schema serialization

* Fix checkstyle violations

* Update javadoc for FlightSqlClient

* Update documentation for FlightSql.proto

Co-authored-by: Abner Eduardo Ferreira <abenaru@protonmail.ch>

* Flight SQL Ratification Based On Community Feedback #6 (#94)

* Refactored FlightSql Statement Constant names

* Defined non-nullable parameters for FlightSql proto

* Resolved minimal checkstyle issues

* Added further documentation for catalog and schema

* Refactored FlightSql proto comments to include more information

* Added Field/FieldType notNullable methods

* Refactored FlightSqlClient and FlightSqlExample to leverage Field notNullable method

* Removed opaque query warning from FlightSql proto

* Added the optional tag for the returned schema of getTables to proto

* Flight SQL Ratification Based On Community Feedback #7 (#98)

* Remove scope from 'hamcrest' dependency on java/pom.xml

* Use flight top-level module on parent pom.xml instead of declaring each one

* Avoid using getStatement inside StatementContext methods

* Make StatementContext.getQuery() return String

* Minor fixes on pom.xml

* Move 'os-maven-plugin' to parent pom.xml

* Update protobuf generation on pom.xml files

* Use ClassLoader#getResource to get network.properties on TestFlightSql

* Bind to any ephemeral port on TestFlightSql

* Move JDBC-Arrow type default conversion from JdbcToArrowConfig to JdbcToArrowUtils

* Micro-optimization: initialize ArrayList with the right size

* Fix null-check on PreparedStatement#setParameters

* Avoid wrapping vector into a ImmutableList and then into an ArrayList on FlightSqlExample#getTablesRoot

* Remove null-check on VectorSchemaRoot on FlightSqlClient#setParameters()

* Remove the need of separate cache for ResultSets

* Add missing 'final' modifiers

* Fix missing generated sources on built flight-sql jar (#101)

* Bump protobuf version

* Flight SQL Ratification Based On Community Feedback #8 (#113)

* Change scope of arrow-memory-netty to test for flight-sql

* Remove unused dependency arrow-memory-netty

* Update common-pool2 and common-dbcp2 dependencies

* Remove 'executions' from parent pom.xml for plugin protobuf-maven-plugin

* Adjust protobuf-maven-plugin settings on pom.xml files

* Move dep.protobuf.version and dep.grpc.version to top pom.xml

* Remove <url> from arrow-flight's pom.xml

* Fix maven build from different directories (#114)

* Add test cases for bitshifting operations required for filtering out some SqlInfo data

* Fix Schema serialization and deserialization on Flight SQL methods

* [FlightSQL] Add missing method for creating bitmask from GetSqlInfo option enum (#148)

* Add util method for creating bitmask from multiple protobuf enums for FlightSql GetSqlInfo enum

* Add test cases for utility method for creating bitmask from protobuf options

* Make changes regarding to reviews

Co-authored-by: Rafael Telles <rafael@telles.dev>

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* Create a module for keeping all Arrow Flight-related submodules

* Fix checkstyle violations in Arrow Flight JDBC Driver

* WIP: Refactor SqlInfoProvider

* WIP

* WIP

* WIP

* Fix rebase issues

* Restore FlightSql.proto state

* Fix checkstyle

* Fix rebase colateral

* Restore FlightSql.proto

Co-authored-by: Jose Almeida <almeidajcr90@gmail.com>
Co-authored-by: Abner Eduardo Ferreira <abenaru@protonmail.ch>
Co-authored-by: Juscelino Junior <juscelinojunior@id.uff.br>
Co-authored-by: Vinicius Fraga <sxvinifp@gmail.com>
Co-authored-by: kylep-dremio <38920967+kylep-dremio@users.noreply.github.com>
Co-authored-by: Vinicius Fraga <62815192+vfraga@users.noreply.github.com>
Co-authored-by: Ryan Nicholson <rnicholson@dremio.com>
Co-authored-by: Kyle Porter <kporter@dremio.com>
alinaliBQ referenced this pull request in Bit-Quill/arrow Nov 23, 2023
Signed-off-by: forestmvey <forestv@bitquilltech.com>
alinaliBQ referenced this pull request in Bit-Quill/arrow Dec 5, 2023
Signed-off-by: forestmvey <forestv@bitquilltech.com>
felipecrv added a commit to felipecrv/arrow that referenced this pull request Apr 5, 2024
…ormatting buffer

With ASAN, this reproduces the issue.

    [ RUN      ] Formatting.Timestamp
    =================================================================
    ==4191383==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fff1804c48f at pc 0x5608edffe39d bp 0x7fff1804c110 sp 0x7fff1804c108
    WRITE of size 1 at 0x7fff1804c48f thread T0
        #0 0x5608edffe39c in arrow::internal::detail::FormatOneChar(char, char**) /home/felipeo/code/arrow/cpp/src/arrow/util/formatting.h:132:67
        apache#1 0x5608ee035c00 in arrow::internal::detail::FormatYYYY_MM_DD(arrow_vendored::date::year_month_day, char**) /home/felipeo/code/arrow/cpp/src/arrow/util/formatting.h:351:5
        apache#2 0x5608ee05e8a0 in decltype(std::declval<arrow::StringAppender&>()(std::basic_string_view<char, std::char_traits<char> >{})) arrow::internal::StringFormatter<arrow::TimestampType, void>::operator()<std::chrono::duration<long, std::ratio<1l, 1000l> >, arrow::StringAppender&>(std::chrono::duration<long, std::ratio<1l, 1000l> >, long, arrow::StringAppender&) /home/felipeo/code/arrow/cpp/src/arrow/util/formatting.h
    :521:5
        apache#3 0x5608ee05d60f in decltype(std::declval<arrow::internal::StringFormatter<arrow::TimestampType, void>&>()(std::chrono::duration<long, std::ratio<1l, 1l> >{}, std::declval<long&>(), std::declval<arrow::StringAppender&>())) arrow::util::VisitDuration<arrow::internal::StringFormatter<arrow::TimestampType, void>&, long&, arrow::StringAppender&>(arrow::TimeUnit::type, arrow::internal::StringFormatter<arrow::Timestam
    pType, void>&, long&, arrow::StringAppender&) /home/felipeo/code/arrow/cpp/src/arrow/util/time.h:60:14
        apache#4 0x5608ee05d122 in decltype(std::declval<arrow::StringAppender&>()(std::basic_string_view<char, std::char_traits<char> >{})) arrow::internal::StringFormatter<arrow::TimestampType, void>::operator()<arrow::StringAppender&>(long, arrow::StringAppender&) /home/felipeo/code/arrow/cpp/src/arrow/util/formatting.h:527:12
        apache#5 0x5608edfeffb3 in void arrow::AssertFormatting<arrow::internal::StringFormatter<arrow::TimestampType, void>, long>(arrow::internal::StringFormatter<arrow::TimestampType, void>&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/felipeo/code/arrow/cpp/src/arrow/util/formatting_util_test.cc:52:3
        apache#6 0x5608edfece95 in arrow::Formatting_Timestamp_Test::TestBody() /home/felipeo/code/arrow/cpp/src/arrow/util/formatting_util_test.cc:540:5
        apache#7 0x7fd95d7901de in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (/home/felipeo/code/arrow/cpp/ninja/debug/libarrow_testing.so.1600+0xd901de) (BuildId: dd9af0bafdb1786050262e8f6002568a9f08ecf6)
        apache#8 0x7fd95d784905 in testing::Test::Run() (/home/felipeo/code/arrow/cpp/ninja/debug/libarrow_testing.so.1600+0xd84905) (BuildId: dd9af0bafdb1786050262e8f6002568a9f08ecf6)
        apache#9 0x7fd95d784a84 in testing::TestInfo::Run() (/home/felipeo/code/arrow/cpp/ninja/debug/libarrow_testing.so.1600+0xd84a84) (BuildId: dd9af0bafdb1786050262e8f6002568a9f08ecf6)
        apache#10 0x7fd95d785038 in testing::TestSuite::Run() (/home/felipeo/code/arrow/cpp/ninja/debug/libarrow_testing.so.1600+0xd85038) (BuildId: dd9af0bafdb1786050262e8f6002568a9f08ecf6)
        apache#11 0x7fd95d78573e in testing::internal::UnitTestImpl::RunAllTests() (/home/felipeo/code/arrow/cpp/ninja/debug/libarrow_testing.so.1600+0xd8573e) (BuildId: dd9af0bafdb1786050262e8f6002568a9f08ecf6)
        apache#12 0x7fd95d7907a6 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (/home/felipeo/code/arrow/cpp/ninja/debug/libarrow_testing.so.1600+0xd907a6) (BuildId: dd9af0bafdb1786050262e8f6002568a9f08ecf6)
        apache#13 0x7fd95d784b4b in testing::UnitTest::Run() (/home/felipeo/code/arrow/cpp/ninja/debug/libarrow_testing.so.1600+0xd84b4b) (BuildId: dd9af0bafdb1786050262e8f6002568a9f08ecf6)
        apache#14 0x5608ee54506d in RUN_ALL_TESTS() /usr/include/gtest/gtest.h:2490:46
        apache#15 0x5608ee544fb9 in main /home/felipeo/code/arrow/cpp/src/arrow/util/logging_test.cc:129:10
        apache#16 0x7fd93de29d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
        apache#17 0x7fd93de29e3f in __libc_start_main csu/../csu/libc-start.c:392:3
        apache#18 0x5608ed7b4f64 in _start (/home/felipeo/code/arrow/cpp/ninja/debug/arrow-utility-test+0x1224f64) (BuildId: 81cfdc36b7a960a7249ecd5884beaa869140ab89)

    Address 0x7fff1804c48f is located in stack of thread T0 at offset 399 in frame
        #0 0x5608ee05dc9f in decltype(std::declval<arrow::StringAppender&>()(std::basic_string_view<char, std::char_traits<char> >{})) arrow::internal::StringFormatter<arrow::TimestampType, void>::operator()<std::chrono::duration<long, std::ratio<1l, 1000l> >, arrow::StringAppender&>(std::chrono::duration<long, std::ratio<1l, 1000l> >, long, arrow::StringAppender&) /home/felipeo/code/arrow/cpp/src/arrow/util/formatting.h
    :486
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant