Merge branch '10.11' into 11.4
Some checks failed
Build on Windows ARM64 / build (push) Has been cancelled

This commit is contained in:
Oleksandr Byelkin 2025-06-17 09:50:22 +02:00
commit 89c7e2b9c7
196 changed files with 4538 additions and 1167 deletions

View file

@ -49,6 +49,14 @@ if(MSVC)
message(FATAL_ERROR ${MRN_OLD_MSVC_MESSAGE})
endif()
endif()
else()
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
MY_CHECK_AND_SET_COMPILER_FLAG(-Wframe-larger-than=49152)
endif()
if(MRN_BUNDLED)
@ -318,7 +326,7 @@ else()
if(WITH_DEBUG)
set_property(TARGET mroonga APPEND PROPERTY
COMPILE_DEFINITIONS "SAFE_MUTEX")
if(CMAKE_COMPILER_IS_GNUCXX)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(MRN_C_COMPILE_FLAGS "${MRN_C_COMPILE_FLAGS} -g3 -O0")
set(MRN_CXX_COMPILE_FLAGS "${MRN_CXX_COMPILE_FLAGS} -g3 -O0")
endif()
@ -345,7 +353,7 @@ else()
COMPILE_DEFINITIONS "MY_PTHREAD_FASTMUTEX")
endif()
if(CMAKE_COMPILER_IS_GNUCXX)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wall")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wextra")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-unused-parameter")

View file

@ -220,7 +220,7 @@ static void mroonga_command_escape_value(grn_ctx *ctx,
}
MRN_API char *mroonga_command(UDF_INIT *init, UDF_ARGS *args, char *result,
unsigned long *length, char *is_null, char *error)
unsigned long *length, uchar *is_null, uchar *error)
{
CommandInfo *info = (CommandInfo *)init->ptr;
grn_ctx *ctx = info->ctx;

View file

@ -214,7 +214,7 @@ static void escape(EscapeInfo *info, UDF_ARGS *args)
}
MRN_API char *mroonga_escape(UDF_INIT *init, UDF_ARGS *args, char *result,
unsigned long *length, char *is_null, char *error)
unsigned long *length, uchar *is_null, uchar *error)
{
EscapeInfo *info = reinterpret_cast<EscapeInfo *>(init->ptr);
grn_ctx *ctx = info->ctx;

View file

@ -412,8 +412,8 @@ MRN_API char *mroonga_highlight_html(UDF_INIT *init,
UDF_ARGS *args,
char *result,
unsigned long *length,
char *is_null,
char *error)
uchar *is_null,
uchar *error)
{
MRN_DBUG_ENTER_FUNCTION();

View file

@ -45,7 +45,7 @@ MRN_API my_bool last_insert_grn_id_init(UDF_INIT *init, UDF_ARGS *args, char *me
return 0;
}
MRN_API longlong last_insert_grn_id(UDF_INIT *init, UDF_ARGS *args, char *is_null, char *error)
MRN_API longlong last_insert_grn_id(UDF_INIT *init, UDF_ARGS *args, uchar *is_null, uchar *error)
{
THD *thd = current_thd;
st_mrn_slot_data *slot_data = mrn_get_slot_data(thd, false);

View file

@ -151,7 +151,7 @@ error:
}
MRN_API char *mroonga_normalize(UDF_INIT *init, UDF_ARGS *args, char *result,
unsigned long *length, char *is_null, char *error)
unsigned long *length, uchar *is_null, uchar *error)
{
st_mrn_normalize_info *info = (st_mrn_normalize_info *)init->ptr;
grn_ctx *ctx = info->ctx;

View file

@ -244,8 +244,8 @@ MRN_API char *mroonga_query_expand(UDF_INIT *init,
UDF_ARGS *args,
char *result,
unsigned long *length,
char *is_null,
char *error)
uchar *is_null,
uchar *error)
{
MRN_DBUG_ENTER_FUNCTION();

View file

@ -248,7 +248,7 @@ error:
}
MRN_API char *mroonga_snippet(UDF_INIT *init, UDF_ARGS *args, char *result,
unsigned long *length, char *is_null, char *error)
unsigned long *length, uchar *is_null, uchar *error)
{
st_mrn_snip_info *snip_info = (st_mrn_snip_info *) init->ptr;
grn_ctx *ctx = snip_info->ctx;

View file

@ -323,8 +323,8 @@ MRN_API char *mroonga_snippet_html(UDF_INIT *init,
UDF_ARGS *args,
char *result,
unsigned long *length,
char *is_null,
char *error)
uchar *is_null,
uchar *error)
{
MRN_DBUG_ENTER_FUNCTION();

View file

@ -2459,6 +2459,10 @@ grn_proc_call(grn_ctx *ctx, grn_obj *proc, int nargs, grn_obj *caller)
} \
} while (0)
#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wframe-larger-than="
#endif
inline static void
grn_expr_exec_get_member_vector(grn_ctx *ctx,
grn_obj *expr,
@ -3834,6 +3838,9 @@ exit :
}
GRN_API_RETURN(val);
}
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
grn_obj *
grn_expr_get_value(grn_ctx *ctx, grn_obj *expr, int offset)

View file

@ -44,6 +44,8 @@
# include <onigmo.h>
#endif
#include "my_attribute.h"
#define MAX_PSEG 0x20000
#define MAX_PSEG_SMALL 0x00200
/* MAX_PSEG_MEDIUM has enough space for the following source:
@ -2833,6 +2835,8 @@ chunk_flush(grn_ctx *ctx, grn_ii *ii, chunk_info *cinfo, uint8_t *enc, uint32_t
return ctx->rc;
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
static grn_rc
chunk_merge(grn_ctx *ctx, grn_ii *ii, buffer *sb, buffer_term *bt,
chunk_info *cinfo, grn_id rid, datavec *dv,
@ -2940,6 +2944,8 @@ chunk_merge(grn_ctx *ctx, grn_ii *ii, buffer *sb, buffer_term *bt,
return ctx->rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
static void
buffer_merge_dump_datavec(grn_ctx *ctx,
grn_ii *ii,
@ -2989,6 +2995,8 @@ buffer_merge_dump_datavec(grn_ctx *ctx,
GRN_OBJ_FIN(ctx, &buffer);
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
/* If dc doesn't have enough space, program may be crashed.
* TODO: Support auto space extension or max size check.
*/
@ -3314,6 +3322,8 @@ buffer_merge(grn_ctx *ctx, grn_ii *ii, uint32_t seg, grn_hash *h,
return ctx->rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
static void
fake_map(grn_ctx *ctx, grn_io *io, grn_io_win *iw, void *addr, uint32_t seg, uint32_t size)
{
@ -4509,6 +4519,9 @@ grn_ii_get_disk_usage(grn_ctx *ctx, grn_ii *ii)
return usage;
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
#define BIT11_01(x) ((x >> 1) & 0x7ff)
#define BIT31_12(x) (x >> 12)
@ -4784,6 +4797,8 @@ exit :
return ctx->rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
grn_rc
grn_ii_delete_one(grn_ctx *ctx, grn_ii *ii, grn_id tid, grn_ii_updspec *u, grn_hash *h)
{