1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

MDEV-27666 User variable not parsed as geometry variable in geometry function

Adding GEOMETRY type user variables.
This commit is contained in:
Alexander Barkov
2023-12-27 18:57:49 +04:00
parent caad34df54
commit fa3171df08
23 changed files with 510 additions and 119 deletions

View File

@ -30,6 +30,8 @@
#include "sql_type_string.h"
#include "sql_type_real.h"
#include "compat56.h"
#include "log_event_data_type.h"
C_MODE_START
#include <ma_dyncol.h>
C_MODE_END
@ -3652,6 +3654,9 @@ public:
static const Type_handler *handler_by_name(THD *thd, const LEX_CSTRING &name);
static const Type_handler *handler_by_name_or_error(THD *thd,
const LEX_CSTRING &name);
static const Type_handler *handler_by_log_event_data_type(
THD *thd,
const Log_event_data_type &type);
static const Type_handler *odbc_literal_type_handler(const LEX_CSTRING *str);
static const Type_handler *blob_type_handler(uint max_octet_length);
static const Type_handler *string_type_handler(uint max_octet_length);
@ -3936,6 +3941,12 @@ public:
{
return false;
}
virtual Log_event_data_type user_var_log_event_data_type(uint charset_nr) const
{
return Log_event_data_type({NULL,0}/*data type name*/, result_type(),
charset_nr, is_unsigned());
}
virtual uint Column_definition_gis_options_image(uchar *buff,
const Column_definition &def)
const