You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2020/06/04 15:50:09 UTC

[GitHub] [arrow] pitrou opened a new pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

pitrou opened a new pull request #7350:
URL: https://github.com/apache/arrow/pull/7350


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] fsaintjacques edited a comment on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
fsaintjacques edited a comment on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-638996447


   I would make this part of the top-level README, minimally via a link. I recall finding it especially frustrating when I'm enthusiast to use a technology/protocol and find out later that the integration for language X is half-baked because I didn't read deep into the documentation.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r435879355



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Utf8              | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Utf8        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (nested)          |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Fixed Size List   | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| List              | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large List        | ✓     |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Struct            | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Map               | ✓     | ✓     |       | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Dense Union       | ✓     | ✓ (1) |       |            |       | ✓     |

Review comment:
       This should be filled in whenever the implementation changes in git master. If we start filling in non-integrated features, we risk losing sync with the actual implementation status.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nevi-me commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
nevi-me commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-638946535


   I'll fill out the Rust columns


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r435384540



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,193 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |

Review comment:
       Should this skip be removed?
   https://github.com/apache/arrow/blob/master/dev/archery/archery/integration/datagen.py#L1502




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] wesm commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
wesm commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-641422970


   Will review today


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437641887



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Utf8              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Utf8        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (nested)          |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Fixed Size List   | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| List              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large List        | ✓     |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Struct            | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Map               | ✓     | ✓     |       | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Dense Union       | ✓     | ✓ (1) |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Sparse Union      | ✓     | ✓ (1) |       |            |       | ✓ (2) |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (special)         |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Dictionary        | ✓     | ✓ (3) |       | ✓ (3)      |       | ✓ (3) |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Extension         | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
+Notes:
+
+* \(1) Union support in Java is currently not compliant with the specification
+
+* \(2) Union support in Rust is currently incomplete
+
+* \(3) Nested dictionaries not supported
+
+.. seealso::
+   The :ref:`format_columnar` specification.
+
+
+IPC Format
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| IPC Feature                 | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| Arrow stream format         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Arrow file format           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Record batches              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Dictionaries                | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Replacement dictionaries    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Delta dictionaries          |       |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Tensors                     | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Sparse tensors              | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom schema metadata      | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+
+Flight RPC
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Flight RPC Feature          | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| gRPC transport              | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| gRPC + TLS transport        | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| RPC error codes             | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Authentication handlers     | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom client middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom server middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+.. seealso::
+   The :ref:`flight-rpc` specification.
+
+
+C Data Interface
+================
+
++-----------------------------+-------+--------+-------+
+| Feature                     | C++   | Python | R     |
+|                             |       |        |       |
++=============================+=======+========+=======+
+| Schema export               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array export                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Schema import               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array import                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+
+.. seealso::
+   The :ref:`C Data Interface <c-data-interface>` specification.
+
+
+Third-Party Data Formats
+========================
+
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| Format                      | C++     | Java    | Go    | JavaScript | C#    | Rust  |
+|                             |         |         |       |            |       |       |
++=============================+=========+=========+=======+============+=======+=======+
+| Avro                        |         | R       |       |            |       |       |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| CSV                         | R       |         | R/W   |            |       | R/W   |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| ORC                         | R       |         |       |            |       |       |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| Parquet                     | R/W     |         |       |            |       |       |

Review comment:
       Every reader/writer implementation probably has limitations. I don't think it's worth detailing them here.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] fsaintjacques commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
fsaintjacques commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-638996447


   I would make this part of the top-level README, minimally via a link. I recall finding it especially frustrating when I'm enthusiast to use a technology/protocol and find out later that the integration for language X is half-baked because I didn't read the deep into the documentation.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-639000336


   > I would make this part of the top-level README, minimally via a link.
   
   Well, we cannot make a link until the stable docs are uploaded unfortunately :-/


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437682326



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |

Review comment:
       You can add comments, yes.
   https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#comments




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-638951406


   https://issues.apache.org/jira/browse/ARROW-6602


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437677327



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |

Review comment:
       🤷 it says they follow C++ "unless otherwise stated" so I figure that means another `(4)` like footnote.
   
   Also I don't know .rst well, can you add comments? Might be worthwhile to note (internally, not publicly) the JIRAs that will resolve exceptions like these so that we can more easily in the future know if we can remove the notes.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437642153



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official

Review comment:
       Ideally an integration test, but an implementation is IMHO ok if we're confident it's compliant.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r435384243



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,193 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       |       |

Review comment:
       Perhaps worth checking if this skip can be removed then?
   https://github.com/apache/arrow/blob/master/dev/archery/archery/integration/datagen.py#L1495




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jorisvandenbossche commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
jorisvandenbossche commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-641175393


   > > I would make this part of the top-level README, minimally via a link.
   >
   > Well, we cannot make a link until the stable docs are uploaded unfortunately :-/
   
   Could already add a link to the rendered rst file on github for now, instead, to not have to wait until after the release


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r438092236



##########
File path: README.md
##########
@@ -32,16 +32,24 @@ set of technologies that enable big data systems to process and move data fast.
 
 Major components of the project include:
 
- - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format)
+ - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format):
+   a standard and efficient in-memory representation of various datatypes, plain or nested
+ - [The Arrow IPC Format](https://github.com/apache/arrow/tree/master/format):

Review comment:
       More or less stable, but we sometimes add things to it. That said, why not.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437592494



##########
File path: README.md
##########
@@ -32,16 +32,24 @@ set of technologies that enable big data systems to process and move data fast.
 
 Major components of the project include:
 
- - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format)
+ - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format):
+   a standard and efficient in-memory representation of various datatypes, plain or nested
+ - [The Arrow IPC Format](https://github.com/apache/arrow/tree/master/format):

Review comment:
       Can/should this link to something more specific? It's the same link as the previous line.

##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |

Review comment:
       R doesn't have bindings for the Large* types yet (ARROW-6543)

##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Utf8              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Utf8        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (nested)          |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Fixed Size List   | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| List              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large List        | ✓     |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Struct            | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Map               | ✓     | ✓     |       | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Dense Union       | ✓     | ✓ (1) |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Sparse Union      | ✓     | ✓ (1) |       |            |       | ✓ (2) |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (special)         |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Dictionary        | ✓     | ✓ (3) |       | ✓ (3)      |       | ✓ (3) |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Extension         | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
+Notes:
+
+* \(1) Union support in Java is currently not compliant with the specification
+
+* \(2) Union support in Rust is currently incomplete
+
+* \(3) Nested dictionaries not supported
+
+.. seealso::
+   The :ref:`format_columnar` specification.
+
+
+IPC Format
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| IPC Feature                 | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| Arrow stream format         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Arrow file format           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Record batches              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Dictionaries                | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Replacement dictionaries    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Delta dictionaries          |       |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Tensors                     | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Sparse tensors              | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom schema metadata      | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+
+Flight RPC
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Flight RPC Feature          | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| gRPC transport              | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| gRPC + TLS transport        | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| RPC error codes             | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Authentication handlers     | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom client middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom server middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+.. seealso::
+   The :ref:`flight-rpc` specification.
+
+
+C Data Interface
+================
+
++-----------------------------+-------+--------+-------+
+| Feature                     | C++   | Python | R     |
+|                             |       |        |       |
++=============================+=======+========+=======+
+| Schema export               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array export                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Schema import               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array import                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+
+.. seealso::
+   The :ref:`C Data Interface <c-data-interface>` specification.
+
+
+Third-Party Data Formats
+========================
+
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| Format                      | C++     | Java    | Go    | JavaScript | C#    | Rust  |
+|                             |         |         |       |            |       |       |
++=============================+=========+=========+=======+============+=======+=======+
+| Avro                        |         | R       |       |            |       |       |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| CSV                         | R       |         | R/W   |            |       | R/W   |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| ORC                         | R       |         |       |            |       |       |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| Parquet                     | R/W     |         |       |            |       |       |

Review comment:
       Should we note the nested type parquet limitation?

##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official

Review comment:
       What is the criteria for getting a check? An implementation, or an integration test?

##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |

Review comment:
       R doesn't know Binary yet (ARROW-6235)




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-639000092


   @nevi-me If you're confident that it works as intended by the spec, then IMHO you can leave it in. Hopefully this will all be validated soon by integration tests, though :-)


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437641052



##########
File path: README.md
##########
@@ -32,16 +32,24 @@ set of technologies that enable big data systems to process and move data fast.
 
 Major components of the project include:
 
- - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format)
+ - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format):
+   a standard and efficient in-memory representation of various datatypes, plain or nested
+ - [The Arrow IPC Format](https://github.com/apache/arrow/tree/master/format):

Review comment:
       Well, what should it link to? There isn't a single file for the IPC format.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] eerhardt commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
eerhardt commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-639816442


   > @eerhardt Would you like to fill in the C# columns?
   
   Doing it now.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-638943249


   @emkornfield Can you take a look at the Java columns?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437744150



##########
File path: README.md
##########
@@ -32,16 +32,24 @@ set of technologies that enable big data systems to process and move data fast.
 
 Major components of the project include:
 
- - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format)
+ - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format):
+   a standard and efficient in-memory representation of various datatypes, plain or nested
+ - [The Arrow IPC Format](https://github.com/apache/arrow/tree/master/format):

Review comment:
       Since the format is stable, it should be safe to link to the published docs here, right?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-638943861


   @ptgoetz Would you like to take a look at the JavaScript columns?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jhorstmann commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
jhorstmann commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437649659



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Utf8              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Utf8        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (nested)          |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Fixed Size List   | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| List              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large List        | ✓     |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Struct            | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Map               | ✓     | ✓     |       | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Dense Union       | ✓     | ✓ (1) |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Sparse Union      | ✓     | ✓ (1) |       |            |       | ✓ (2) |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (special)         |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Dictionary        | ✓     | ✓ (3) |       | ✓ (3)      |       | ✓ (3) |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Extension         | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
+Notes:
+
+* \(1) Union support in Java is currently not compliant with the specification
+
+* \(2) Union support in Rust is currently incomplete
+
+* \(3) Nested dictionaries not supported
+
+.. seealso::
+   The :ref:`format_columnar` specification.
+
+
+IPC Format
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| IPC Feature                 | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| Arrow stream format         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Arrow file format           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Record batches              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Dictionaries                | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Replacement dictionaries    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Delta dictionaries          |       |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Tensors                     | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Sparse tensors              | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom schema metadata      | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+
+Flight RPC
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Flight RPC Feature          | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| gRPC transport              | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| gRPC + TLS transport        | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| RPC error codes             | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Authentication handlers     | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom client middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom server middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+.. seealso::
+   The :ref:`flight-rpc` specification.
+
+
+C Data Interface
+================
+
++-----------------------------+-------+--------+-------+
+| Feature                     | C++   | Python | R     |
+|                             |       |        |       |
++=============================+=======+========+=======+
+| Schema export               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array export                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Schema import               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array import                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+
+.. seealso::
+   The :ref:`C Data Interface <c-data-interface>` specification.
+
+
+Third-Party Data Formats
+========================
+
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| Format                      | C++     | Java    | Go    | JavaScript | C#    | Rust  |
+|                             |         |         |       |            |       |       |
++=============================+=========+=========+=======+============+=======+=======+
+| Avro                        |         | R       |       |            |       |       |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| CSV                         | R       |         | R/W   |            |       | R/W   |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| ORC                         | R       |         |       |            |       |       |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| Parquet                     | R/W     |         |       |            |       |       |

Review comment:
       Rust also has a parquet implementation AFAIK




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou edited a comment on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou edited a comment on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-639000092


   @nevi-me If you're confident that it works as intended by the spec, then IMHO you can leave it in. Hopefully this will all be validated soon by integration tests, though :-)
   
   I'll remember to update where necessary when we enable integration testing, or before 1.0.0 is released if that's earlier


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nevi-me commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
nevi-me commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437653776



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Utf8              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Utf8        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (nested)          |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Fixed Size List   | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| List              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large List        | ✓     |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Struct            | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Map               | ✓     | ✓     |       | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Dense Union       | ✓     | ✓ (1) |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Sparse Union      | ✓     | ✓ (1) |       |            |       | ✓ (2) |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (special)         |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Dictionary        | ✓     | ✓ (3) |       | ✓ (3)      |       | ✓ (3) |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Extension         | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
+Notes:
+
+* \(1) Union support in Java is currently not compliant with the specification
+
+* \(2) Union support in Rust is currently incomplete
+
+* \(3) Nested dictionaries not supported
+
+.. seealso::
+   The :ref:`format_columnar` specification.
+
+
+IPC Format
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| IPC Feature                 | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| Arrow stream format         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Arrow file format           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Record batches              | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Dictionaries                | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Replacement dictionaries    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Delta dictionaries          |       |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Tensors                     | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Sparse tensors              | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom schema metadata      | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+
+Flight RPC
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Flight RPC Feature          | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| gRPC transport              | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| gRPC + TLS transport        | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| RPC error codes             | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Authentication handlers     | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom client middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom server middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+.. seealso::
+   The :ref:`flight-rpc` specification.
+
+
+C Data Interface
+================
+
++-----------------------------+-------+--------+-------+
+| Feature                     | C++   | Python | R     |
+|                             |       |        |       |
++=============================+=======+========+=======+
+| Schema export               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array export                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Schema import               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array import                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+
+.. seealso::
+   The :ref:`C Data Interface <c-data-interface>` specification.
+
+
+Third-Party Data Formats
+========================
+
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| Format                      | C++     | Java    | Go    | JavaScript | C#    | Rust  |
+|                             |         |         |       |            |       |       |
++=============================+=========+=========+=======+============+=======+=======+
+| Avro                        |         | R       |       |            |       |       |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| CSV                         | R       |         | R/W   |            |       | R/W   |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| ORC                         | R       |         |       |            |       |       |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| Parquet                     | R/W     |         |       |            |       |       |

Review comment:
       I didn't fill it in intentionally on the assumption that it's Arrow <> Parquet support, which is still incomplete. We have read support, but not yet of nested types, there might be other limitations on the read side. We've only recently started with write support, so that might take some time.
   
   I'm planning on updating the Rust support before 1.0.0 based on what integration tests we pass or fail. I can also update the Parquet support then.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] sbinet commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
sbinet commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r435381509



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,193 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       |       |            |       |       |

Review comment:
       ```suggestion
   | Float16           |       |       | ✓     |            |       |       |
   ```

##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,193 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Utf8              | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Utf8        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (nested)          |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Fixed Size List   | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| List              | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large List        | ✓     |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Struct            | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Map               | ✓     | ✓     |       | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Dense Union       | ✓     | ✓ (1) |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Sparse Union      | ✓     | ✓ (1) |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (special)         |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Dictionary        | ✓     | ✓ (2) |       | ✓ (2)      |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Extension         | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
+Notes:
+
+* \(1) Union support in Java is currently not compliant with the specification
+
+* \(2) Nested dictionaries not supported
+
+.. seealso::
+   The :ref:`format_columnar` specification.
+
+
+IPC Format
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| IPC Feature                 | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| Arrow stream format         | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Arrow file format           | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Record batches              | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Dictionaries                | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Replacement dictionaries    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Delta dictionaries          |       |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Tensors                     | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Sparse tensors              | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom schema metadata      | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+
+Flight RPC
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Flight RPC Feature          | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| gRPC transport              | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| gRPC + TLS transport        | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom client middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom server middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+.. seealso::
+   The :ref:`flight-rpc` specification.
+
+
+C Data Interface
+================
+
++-----------------------------+-------+--------+-------+
+| Feature                     | C++   | Python | R     |
+|                             |       |        |       |
++=============================+=======+========+=======+
+| Schema export               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array export                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Schema import               | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+| Array import                | ✓     | ✓      | ✓     |
++-----------------------------+-------+--------+-------+
+
+.. seealso::
+   The :ref:`C Data Interface <c-data-interface>` specification.
+
+
+Third-Party Data Formats
+========================
+
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| Format                      | C++     | Java    | Go    | JavaScript | C#    | Rust  |
+|                             |         |         |       |            |       |       |
++=============================+=========+=========+=======+============+=======+=======+
+| Avro                        |         | R       |       |            |       |       |
++-----------------------------+---------+---------+-------+------------+-------+-------+
+| CSV                         | R       |         |       |            |       |       |

Review comment:
       ```suggestion
   | CSV                         | R       |         | R/W   |            |       |       |
   ```

##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,193 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       |       |

Review comment:
       ```suggestion
   | Null              | ✓     | ✓     | ✓     |            |       |       |
   ```
   
   IIRC, Go does have support for `Null`.

##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,193 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |

Review comment:
       ```suggestion
   | Decimal128        | ✓     | ✓     | ✓     |            |       |       |
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437744005



##########
File path: README.md
##########
@@ -32,16 +32,24 @@ set of technologies that enable big data systems to process and move data fast.
 
 Major components of the project include:
 
- - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format)
+ - [The Arrow Columnar In-Memory Format](https://github.com/apache/arrow/tree/master/format):
+   a standard and efficient in-memory representation of various datatypes, plain or nested
+ - [The Arrow IPC Format](https://github.com/apache/arrow/tree/master/format):

Review comment:
       http://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc or the equivalent location in the source tree?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-638943116


   @lidavidm Can you validate the Flight section?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nevi-me commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
nevi-me commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-638997085


   @pitrou in case I'm filling in the wrong details, should I be filling in what's tested via integration, or is it fine as long as functionality is present? We're still busy with integration testing work in Rust.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r437641586



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |  ✓    | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |

Review comment:
       I don't know where to add that information. What would you suggest? Add columns for R and Python (but then we also need Ruby and C/GLib...)?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-640684761






----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] wesm closed pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
wesm closed pull request #7350:
URL: https://github.com/apache/arrow/pull/7350


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-638944202


   @sbinet Would you like to take a look at the Go columns?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] lidavidm commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
lidavidm commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r435415600



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,193 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Utf8              | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Utf8        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (nested)          |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Fixed Size List   | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| List              | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large List        | ✓     |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Struct            | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Map               | ✓     | ✓     |       | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Dense Union       | ✓     | ✓ (1) |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Sparse Union      | ✓     | ✓ (1) |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (special)         |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Dictionary        | ✓     | ✓ (2) |       | ✓ (2)      |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Extension         | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
+Notes:
+
+* \(1) Union support in Java is currently not compliant with the specification
+
+* \(2) Nested dictionaries not supported
+
+.. seealso::
+   The :ref:`format_columnar` specification.
+
+
+IPC Format
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| IPC Feature                 | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| Arrow stream format         | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Arrow file format           | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Record batches              | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Dictionaries                | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Replacement dictionaries    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Delta dictionaries          |       |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Tensors                     | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Sparse tensors              | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom schema metadata      | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+
+Flight RPC
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Flight RPC Feature          | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| gRPC transport              | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| gRPC + TLS transport        | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom client middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom server middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+

Review comment:
       ```suggestion
   +-----------------------------+-------+-------+-------+------------+-------+-------+
   | RPC Error Codes             | ✓     | ✓     |       |            |       |       |
   +-----------------------------+-------+-------+-------+------------+-------+-------+
   | Authentication Handlers     | ✓     | ✓     |       |            |       |       |
   +-----------------------------+-------+-------+-------+------------+-------+-------+
   
   Looks good to me! I'd also maybe break out these two features.
   ```

##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,193 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Utf8              | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Utf8        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (nested)          |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Fixed Size List   | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| List              | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large List        | ✓     |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Struct            | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Map               | ✓     | ✓     |       | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Dense Union       | ✓     | ✓ (1) |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Sparse Union      | ✓     | ✓ (1) |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (special)         |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Dictionary        | ✓     | ✓ (2) |       | ✓ (2)      |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Extension         | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
+Notes:
+
+* \(1) Union support in Java is currently not compliant with the specification
+
+* \(2) Nested dictionaries not supported
+
+.. seealso::
+   The :ref:`format_columnar` specification.
+
+
+IPC Format
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| IPC Feature                 | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| Arrow stream format         | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Arrow file format           | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Record batches              | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Dictionaries                | ✓     | ✓     | ✓     | ✓          |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Replacement dictionaries    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Delta dictionaries          |       |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Tensors                     | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Sparse tensors              | ✓     |       |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom schema metadata      | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+
+
+Flight RPC
+==========
+
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Flight RPC Feature          | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+|                             |       |       |       |            |       |       |
++=============================+=======+=======+=======+============+=======+=======+
+| gRPC transport              | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| gRPC + TLS transport        | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom client middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+
+| Custom server middleware    | ✓     | ✓     |       |            |       |       |
++-----------------------------+-------+-------+-------+------------+-------+-------+

Review comment:
       Looks good to me! I'd also maybe break out these two features.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] pitrou commented on pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
pitrou commented on pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#issuecomment-639002661


   @eerhardt Would you like to fill in the C# columns?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] rymurr commented on a change in pull request #7350: ARROW-6602: [Doc] Add a feature/implementation matrix

Posted by GitBox <gi...@apache.org>.
rymurr commented on a change in pull request #7350:
URL: https://github.com/apache/arrow/pull/7350#discussion_r435826739



##########
File path: docs/source/status.rst
##########
@@ -0,0 +1,199 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+
+..   http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+=====================
+Implementation Status
+=====================
+
+The following tables summarize the features available in the various official
+Arrow libraries.  Unless otherwise stated, the Python, R, Ruby and C/GLib
+libraries follow the C++ Arrow library.
+
+Data Types
+==========
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (primitive)       |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Null              | ✓     | ✓     |       |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Boolean           | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Int8/16/32/64     | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| UInt8/16/32/64    | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float16           |       |       | ✓     |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Float32/64        | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Decimal128        | ✓     | ✓     |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Date32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Time32/64         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Timestamp         | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Duration          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Interval          | ✓     | ✓     | ✓     |            |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Fixed Size Binary | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Binary            | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Binary      | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Utf8              | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large Utf8        | ✓     | ✓     | ✓     | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+
++-------------------+-------+-------+-------+------------+-------+-------+
+| Data type         | C++   | Java  | Go    | JavaScript | C#    | Rust  |
+| (nested)          |       |       |       |            |       |       |
++===================+=======+=======+=======+============+=======+=======+
+| Fixed Size List   | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| List              | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Large List        | ✓     |       |       |            |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Struct            | ✓     | ✓     | ✓     | ✓          |       | ✓     |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Map               | ✓     | ✓     |       | ✓          |       |       |
++-------------------+-------+-------+-------+------------+-------+-------+
+| Dense Union       | ✓     | ✓ (1) |       |            |       | ✓     |

Review comment:
       There are open PRs for Java Union and LargeList support. Would you prefer I update this doc when they are merged or mark as supported now? I am assuming this doc won't be live until 1.0 release.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org