[MCOL-5114] 10.9 + develop compilation issues(cpp20 standart syntax violation) Created: 2022-06-03  Updated: 2023-11-22  Resolved: 2022-08-15

Status: Closed
Project: MariaDB ColumnStore
Component/s: installation
Affects Version/s: None
Fix Version/s: Icebox

Type: Bug Priority: Major
Reporter: Roman Assignee: Roman
Resolution: Fixed Votes: 0
Labels: None

Sprint: 2021-17

 Description   

Here are some compilation issues that are caused by some headers in server code.

In file included from /data/mdb-server/sql/item.h:6297,
                 from /data/mdb-server/sql/sql_lex.h:35,
                 from /data/mdb-server/sql/sql_class.h:630,
                 from /data/mdb-server/sql/procedure.h:31,
                 from /data/mdb-server/sql/sql_select.h:31,
                 from /data/mdb-server/storage/columnstore/columnstore/utils/udfsdk/../../dbcon/mysql/idb_mysql.h:75,
                 from /data/mdb-server/storage/columnstore/columnstore/utils/udfsdk/udfmysql.cpp:7:
/data/mdb-server/sql/item_cmpfunc.h:3453:39: error: expected ‘)’ before ‘&’ token
 3453 |   Item_equal_iterator<LI,T>(Item_equal &item_eq)
      |                            ~          ^~
      |                                       )
/data/mdb-server/sql/item_cmpfunc.h: In constructor ‘Item_equal_fields_iterator::Item_equal_fields_iterator(Item_equal&)’:
/data/mdb-server/sql/item_cmpfunc.h:3491:38: error: no matching function for call to ‘Item_equal_iterator<List_iterator_fast, Item>::Item_equal_iterator(Item_equal&)’
 3491 |     :Item_equal_iterator_fast(item_eq)
      |                                      ^
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note: candidate: ‘Item_equal_iterator<List_iterator_fast, Item>::Item_equal_iterator()’
 3446 | template <template<class> class LI, typename T> class Item_equal_iterator
      |                                                       ^~~~~~~~~~~~~~~~~~~
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note:   candidate expects 0 arguments, 1 provided
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note: candidate: ‘constexpr Item_equal_iterator<List_iterator_fast, Item>::Item_equal_iterator(const Item_equal_iterator<List_iterator_fast, Item>&)’
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note:   no known conversion for argument 1 from ‘Item_equal’ to ‘const Item_equal_iterator<List_iterator_fast, Item>&’
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note: candidate: ‘constexpr Item_equal_iterator<List_iterator_fast, Item>::Item_equal_iterator(Item_equal_iterator<List_iterator_fast, Item>&&)’
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note:   no known conversion for argument 1 from ‘Item_equal’ to ‘Item_equal_iterator<List_iterator_fast, Item>&&’
/data/mdb-server/sql/item_cmpfunc.h: In constructor ‘Item_equal_fields_iterator_slow::Item_equal_fields_iterator_slow(Item_equal&)’:
/data/mdb-server/sql/item_cmpfunc.h:3506:47: error: no matching function for call to ‘Item_equal_iterator<List_iterator, Item>::Item_equal_iterator(Item_equal&)’
 3506 |     :Item_equal_iterator_iterator_slow(item_eq)
      |                                               ^
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note: candidate: ‘Item_equal_iterator<List_iterator, Item>::Item_equal_iterator()’
 3446 | template <template<class> class LI, typename T> class Item_equal_iterator
      |                                                       ^~~~~~~~~~~~~~~~~~~
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note:   candidate expects 0 arguments, 1 provided
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note: candidate: ‘constexpr Item_equal_iterator<List_iterator, Item>::Item_equal_iterator(const Item_equal_iterator<List_iterator, Item>&)’
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note:   no known conversion for argument 1 from ‘Item_equal’ to ‘const Item_equal_iterator<List_iterator, Item>&’
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note: candidate: ‘constexpr Item_equal_iterator<List_iterator, Item>::Item_equal_iterator(Item_equal_iterator<List_iterator, Item>&&)’
/data/mdb-server/sql/item_cmpfunc.h:3446:55: note:   no known conversion for argument 1 from ‘Item_equal’ to ‘Item_equal_iterator<List_iterator, Item>&&’

/data/mdb-server/sql/sql_lex.h:2051:40: error: arithmetic between different enumeration types ‘Query_tables_list::enum_binlog_stmt_unsafe’ and ‘Query_tables_list::enum_binlog_stmt_type’ is deprecated [-Werror=deprecated-enum-enum-conversion]
 2051 |       (1U << (BINLOG_STMT_UNSAFE_COUNT + BINLOG_STMT_TYPE_ROW_INJECTION));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 47%] Linking CXX static library libblackhole.a
/data/mdb-server/sql/sql_lex.h: In member function ‘void Query_tables_list::set_stmt_row_injection()’:
/data/mdb-server/sql/sql_lex.h:2062:40: error: arithmetic between different enumeration types ‘Query_tables_list::enum_binlog_stmt_unsafe’ and ‘Query_tables_list::enum_binlog_stmt_type’ is deprecated [-Werror=deprecated-enum-enum-conversion]
 2062 |       (1U << (BINLOG_STMT_UNSAFE_COUNT + BINLOG_STMT_TYPE_ROW_INJECTION));
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /data/mdb-server/sql/item.h:6297,
                 from /data/mdb-server/sql/sql_lex.h:35,
                 from /data/mdb-server/sql/sql_class.h:630,
                 from /data/mdb-server/sql/procedure.h:31,
                 from /data/mdb-server/sql/sql_select.h:31,
                 from /data/mdb-server/storage/columnstore/columnstore/utils/regr/../../dbcon/mysql/idb_mysql.h:75,
                 from /data/mdb-server/storage/columnstore/columnstore/utils/regr/modamysql.cpp:9:



 Comments   
Comment by Roman [ 2022-08-15 ]

Fixed

Generated at Thu Feb 08 02:55:26 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.