← Back to team overview

maria-developers team mailing list archive

alternative for Field_timestamp::get_timestamp etc. ?

 

Hello,

I tried to build mroonga-1.3.0 ( http://mroonga.github.com/ ) with
MariaDB 5.3.3 and got the following error:

> g++ -DHAVE_CONFIG_H -I.  -I/opt/mariadb__compile__/mariadb-5.3.3-rc/sql -I/opt/mariadb__compile__/mariadb-5.3.3-rc/include -I/opt/mariadb__compile__/mariadb-5.3.3-rc/regex -I/opt/mariadb__compile__/mariadb-5.3.3-rc -I/opt/mariadb/include/mysql -I/opt/groonga/include/groonga    -I/opt/groonga/include/groonga  -I/opt/mariadb/include/mysql  -g -DUNIV_LINUX -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing -Werror -fno-implicit-templates -fno-exceptions -fno-rtti -felide-constructors -MT libmroonga_a-ha_mroonga.o -MD -MP -MF .deps/libmroonga_a-ha_mroonga.Tpo -c -o libmroonga_a-ha_mroonga.o `test -f 'ha_mroonga.cc' || echo './'`ha_mroonga.cc
> ha_mroonga.cc: In member function ‘int ha_mroonga::generic_store_bulk_timestamp(Field*, grn_obj*)’:
> ha_mroonga.cc:6935:63: error: no matching function for call to ‘Field_timestamp::get_timestamp(my_bool*)’
> ha_mroonga.cc:6935:63: note: candidate is:
> /opt/mariadb__compile__/mariadb-5.3.3-rc/sql/field.h:1221:21: note: virtual my_time_t Field_timestamp::get_timestamp(ulong*) const
> /opt/mariadb__compile__/mariadb-5.3.3-rc/sql/field.h:1221:21: note:   no known conversion for argument 1 from ‘my_bool* {aka char*}’ to ‘ulong* {aka long unsigned int*}’
> ha_mroonga.cc: In member function ‘void ha_mroonga::storage_store_field_timestamp(Field*, const char*, uint)’:
> ha_mroonga.cc:7234:20: error: ‘class Field_timestamp’ has no member named ‘store_timestamp’
> ha_mroonga.cc: In member function ‘void ha_mroonga::storage_store_field_datetime(Field*, const char*, uint)’:
> ha_mroonga.cc:7286:67: error: no matching function for call to ‘Field_datetime::store_time(MYSQL_TIME*, enum_mysql_timestamp_type)’
> ha_mroonga.cc:7286:67: note: candidate is:
> /opt/mariadb__compile__/mariadb-5.3.3-rc/sql/field.h:209:7: note: int Field::store_time(MYSQL_TIME*)
> /opt/mariadb__compile__/mariadb-5.3.3-rc/sql/field.h:209:7: note:   candidate expects 1 argument, 2 provided
> ha_mroonga.cc: In member function ‘void ha_mroonga::storage_store_field_new_date(Field*, const char*, uint)’:
> ha_mroonga.cc:7306:62: error: no matching function for call to ‘Field_newdate::store_time(MYSQL_TIME*, enum_mysql_timestamp_type)’
> ha_mroonga.cc:7306:62: note: candidate is:
> /opt/mariadb__compile__/mariadb-5.3.3-rc/sql/field.h:209:7: note: int Field::store_time(MYSQL_TIME*)
> /opt/mariadb__compile__/mariadb-5.3.3-rc/sql/field.h:209:7: note:   candidate expects 1 argument, 2 provided
> make[2]: *** [libmroonga_a-ha_mroonga.o] Error 1

(you can see the code at
https://github.com/mroonga/mroonga/blob/master/ha_mroonga.cc )

At a glance, sql/field.h seems much different from MySQL-5.1's one. What
can be the alternative for the followings ?

* Field_timestamp::get_timestamp(my_bool*)
* Field_datetime::store_time(MYSQL_TIME*, enum_mysql_timestamp_type)
* Field_newdate::store_time(MYSQL_TIME*, enum_mysql_timestamp_type)

Thanks in advance.

Kazuhiko


Follow ups