ARROW-786: [Format] In-memory format for 128-bit Decimals, handling of sign bit#981
ARROW-786: [Format] In-memory format for 128-bit Decimals, handling of sign bit#981cpcloud wants to merge 22 commits into
Conversation
|
nice! I will review when I can |
|
If you rebase on master and then fix bugs, you should be able to get to a passing build |
There was a problem hiding this comment.
It's set to 0 as the default in the constructor already.
There was a problem hiding this comment.
Any way to share code with FixedSizeBinaryArray on this?
There was a problem hiding this comment.
Possibly. Let me look into cleaning up DecimalArray even more.
There was a problem hiding this comment.
I was able to do a pretty significant refactoring of DecimalArray and inherit most methods from FixedSizeBinaryArray, including reuse of existing comparison methods for both FixedSizeBinaryArray and DecimalArray.
There was a problem hiding this comment.
Can you use /// style comments for doxygen instead of C-style?
|
Here's my "Arrow preflight check" that helps with not checking in cpplint or flake8 fails function arrow_preflight {
ARROW_PREFLIGHT_DIR=$HOME/code/arrow/cpp/preflight
mkdir -p $ARROW_PREFLIGHT_DIR
pushd $ARROW_PREFLIGHT_DIR
arrow_cmake
ninja format
ninja lint
popd
pushd $HOME/code/arrow/python
flake8 pyarrow
flake8 --config=.flake8.cython pyarrow
popd
} |
wesm
left a comment
There was a problem hiding this comment.
+1, thanks for all this! onward to the integration tests
| private: | ||
| void SetData(const std::shared_ptr<internal::ArrayData>& data); | ||
| const uint8_t* raw_values_; | ||
| const uint8_t* sign_bitmap_data_; |
representation, adapted from the Apache ORC project's C++ in memory format.
This enables us to write integration tests and results in an in-memory
Decimal128 format that is compatible with the Java implementation
regression tests
read/write support for decimals) and ARROW-1238 (Java Decimal integration
tests).