Commits


Benjamin Kietzman authored and François Saint-Jacques committed 19d1d0aa6ce
ARROW-6244: [C++][Dataset] Add partition key to DataSource interface The condition is an expression guaranteed to evaluate true for all records in a DataSource. This provides some predicate push down funcitonality: DataSources whose condition precludes a filter expression will not yield any fragments (since those fragments would be filtered out anyway). This patch does not implement evaluation of filter expressions against an in memory RecordBatch. It makes a half hearted attempt at API compatibility with https://github.com/apache/arrow/pull/5157 which does implement this. Closes #5221 from bkietz/6244-Implement-Partition-DataS and squashes the following commits: 142cc7bfb <Benjamin Kietzman> explicit move for Result returning functions 13b5948a5 <Benjamin Kietzman> add comment on motivation for type erasure approach 42e2ad304 <Benjamin Kietzman> clang-format a9e5d7aa6 <Benjamin Kietzman> bludgeon MSVC linker error with __forceinline e8c8cd68a <Benjamin Kietzman> AssumePartitionExpression's inout argument is confusing 48b349f1d <Benjamin Kietzman> move overridable GetFragments to protected GetFragmentsImpl 19f26a0e5 <Benjamin Kietzman> DataSource::assume -> bool, remove partition_expr mutator a651c65a1 <Benjamin Kietzman> rename DataSource::condition to partition_expression 949fa7a53 <Benjamin Kietzman> provide basic predicate pushdown to datasources 955cb5633 <Benjamin Kietzman> flesh out shim Expression class b1a6c541f <Benjamin Kietzman> remove unused FileSystemBasedDataSource::options_ 4f5a8bcb1 <Benjamin Kietzman> rename partitionner_ d66f15989 <Benjamin Kietzman> add an Expression stub Authored-by: Benjamin Kietzman <bengilgit@gmail.com> Signed-off-by: François Saint-Jacques <fsaintjacques@gmail.com>