[jira] [Created] (ARROW-13305) [C++] Unable to install nightly on Ubuntu 21.04 due to day of week options
Mauricio 'Pachá' Vargas Sepúlveda created ARROW-13305: - Summary: [C++] Unable to install nightly on Ubuntu 21.04 due to day of week options Key: ARROW-13305 URL: https://issues.apache.org/jira/browse/ARROW-13305 Project: Apache Arrow Issue Type: Bug Components: C++ Affects Versions: 4.0.1 Reporter: Mauricio 'Pachá' Vargas Sepúlveda Fix For: 5.0.0 Related to ARROW-13304 Another error seen on Ubuntu 21.04 is {code:java} dataset.cpp:284:31: error: ‘CsvFileWriteOptions’ is not a member of ‘ds’; did you mean ‘IpcFileWriteOptions’? 284 | const std::shared_ptr& csv_options, | ^~~ | IpcFileWriteOptions dataset.cpp:284:50: error: template argument 1 is invalid 284 | const std::shared_ptr& csv_options, | ^ dataset.cpp: In function ‘void dataset___CsvFileWriteOptions__update(const int&, const std::shared_ptr&)’: dataset.cpp:286:15: error: base operand of ‘->’ is not a pointer 286 | *csv_options->write_options = *write_options; {code} I fetched the last changes up to 91f26 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (ARROW-13304) [C++] Unable to install nightly on Ubuntu 21.04 due to day of week options
Mauricio 'Pachá' Vargas Sepúlveda created ARROW-13304: - Summary: [C++] Unable to install nightly on Ubuntu 21.04 due to day of week options Key: ARROW-13304 URL: https://issues.apache.org/jira/browse/ARROW-13304 Project: Apache Arrow Issue Type: Bug Components: C++ Affects Versions: 4.0.1 Environment: Ubuntu 21.04 Reporter: Mauricio 'Pachá' Vargas Sepúlveda Fix For: 5.0.0 I see this errors after fetching from apache/arrow now: {code:java} compute.cpp: In function ‘std::shared_ptr make_compute_options(std::string, cpp11::list)’: compute.cpp:268:37: error: ‘DayOfWeekOptions’ in namespace ‘arrow::compute’ does not name a type 268 | using Options = arrow::compute::DayOfWeekOptions; | ^~~~ {code} Some possible merged PR that might cause this is [https://github.com/apache/arrow/commit/fdd7d32bcbc4086242e6a3517ef49e4f4468bd56] (ARROW-13054) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (ARROW-13303) [JS] Revise bundles
Dominik Moritz created ARROW-13303: -- Summary: [JS] Revise bundles Key: ARROW-13303 URL: https://issues.apache.org/jira/browse/ARROW-13303 Project: Apache Arrow Issue Type: Improvement Components: JavaScript Reporter: Dominik Moritz * Use es2015 sources in the apache-arrow package since webpack 4 does not support esnext and many people still use it * Generate .cjs and .mjs files instead of just .js to make it clear what the files are. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (ARROW-13302) Fix elementwise comparison to avoid future error
Mauricio 'Pachá' Vargas Sepúlveda created ARROW-13302: - Summary: Fix elementwise comparison to avoid future error Key: ARROW-13302 URL: https://issues.apache.org/jira/browse/ARROW-13302 Project: Apache Arrow Issue Type: Bug Components: Python Affects Versions: 4.0.1 Reporter: Mauricio 'Pachá' Vargas Sepúlveda Fix For: 6.0.0 test-conda-python-3.7-pandas-0.24: shows this deprecation warning {code:java} /opt/conda/envs/arrow/lib/python3.7/site-packages/pandas/core/dtypes/missing.py:415: DeprecationWarning: elementwise comparison failed; this will raise an error in the future. if left_value != right_value: {code} https://github.com/ursacomputing/crossbow/runs/3016079666#step:7:7783 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (ARROW-13301) BaseListBuilder constructor should check the provided type is a list
&res created ARROW-13301: Summary: BaseListBuilder constructor should check the provided type is a list Key: ARROW-13301 URL: https://issues.apache.org/jira/browse/ARROW-13301 Project: Apache Arrow Issue Type: Improvement Components: C++ Affects Versions: 4.0.1 Reporter: &res I've noticed that I can create a ListBuilder with a type that is not a ListType (in particular a StructType). I'm talking about the following constructor: {code:java} BaseListBuilder(MemoryPool* pool, std::shared_ptr const& value_builder, const std::shared_ptr& type) {code} I think this constructor should enforce that the given type is a ListType. It could also possibly enforce that the type of the elements of the given ListType match the element of the value_build. Alternatively that constructor could be made private (since `BaseListBuilder(MemoryPool* pool, std::shared_ptr const& value_builder)` should be enough for most use case). Here's an example where I'm trying to create a "ListType(list>)". When I create the ListBuilder I've noticed that I works with type set to: # ListType(list>) # StructType(struct) In the first case the underlying type is: ListType(list>) But in the second type the underlying type is ListType(list>). The subtle difference is that the ListType field name has been changed from item to the name of the first element of the list (return_code). I think it's because BaseListBuilder uses `type->field(0)` to get the name of the list field, but it uses `value_builder_->type()` to get the type. See: {code:c++} BaseListBuilder(MemoryPool* pool, std::shared_ptr const& value_builder, const std::shared_ptr& type) : ArrayBuilder(pool), offsets_builder_(pool), value_builder_(value_builder), value_field_(type->field(0)->WithType(NULLPTR)) {} // ... std::shared_ptr type() const override { return std::make_shared(value_field_->WithType(value_builder_->type())); } {code} Here's an example that reproduce the issue: {code} BOOST_AUTO_TEST_CASE(IsThereABugWithArrays) { const arrow::FieldVector fields = { arrow::field("return_code", arrow::int32()), arrow::field("message", arrow::utf8())}; const std::shared_ptr struct_data_type = arrow::struct_(fields); const std::shared_ptr list_of_struct_data_type = arrow::list(struct_data_type); const std::shared_ptr schema = arrow::schema({arrow::field("search_results", list_of_struct_data_type)}); arrow::MemoryPool *pool = arrow::default_memory_pool(); std::shared_ptr return_code_builder = std::make_shared(pool); std::shared_ptr message_builder = std::make_shared(pool); std::vector> struct_fields_builders = { return_code_builder, message_builder}; std::shared_ptr struct_builder = std::make_shared( struct_data_type, pool, struct_fields_builders); std::shared_ptr list_builder( std::make_shared( pool, struct_builder, list_of_struct_data_type)); BOOST_REQUIRE(list_builder->type()->Equals(list_of_struct_data_type)); // This should not be allowed: std::shared_ptr list_builder_using_struct_dtype( std::make_shared( pool, struct_builder, struct_data_type)); std::shared_ptr wrong_data_type = std::make_shared ( arrow::field("return_code", struct_data_type) ); BOOST_REQUIRE(!list_builder_using_struct_dtype->type()->Equals(list_of_struct_data_type)); BOOST_REQUIRE(list_builder_using_struct_dtype->type()->Equals(wrong_data_type)); } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)