Merge branch '10.11' into bb-11.4-release

This commit is contained in:
Oleksandr Byelkin 2025-09-15 16:17:33 +02:00
commit 15b1426c3a
186 changed files with 1683 additions and 683 deletions

View file

@ -150,7 +150,7 @@ endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGCXX)
MY_CHECK_AND_SET_COMPILER_FLAG("-Wall")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-unused-but-set-variable")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-error=unused-but-set-variable")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-pointer-sign")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wformat")
MY_CHECK_AND_SET_COMPILER_FLAG("-Wstrict-aliasing=2")

View file

@ -8600,7 +8600,6 @@ grn_obj_set_info_source_invalid_lexicon_error(grn_ctx *ctx,
source_name_size, source_name);
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
inline static grn_rc
grn_obj_set_info_source_validate(grn_ctx *ctx, grn_obj *obj, grn_obj *value)
@ -8704,6 +8703,8 @@ exit:
return ctx->rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
inline static void
grn_obj_set_info_source_log(grn_ctx *ctx, grn_obj *obj, grn_obj *value)
{

View file

@ -31,6 +31,7 @@
#include "grn_token_cursor.h"
#include "grn_mrb.h"
#include "mrb/mrb_expr.h"
#include "my_attribute.h"
#ifdef GRN_WITH_ONIGMO
# define GRN_SUPPORT_REGEXP
@ -6701,6 +6702,8 @@ grn_table_select_index_range(grn_ctx *ctx, grn_obj *table, grn_obj *index,
}
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
static inline grn_bool
grn_table_select_index(grn_ctx *ctx, grn_obj *table, scan_info *si,
grn_obj *res, grn_id *min_id)
@ -6818,6 +6821,8 @@ grn_table_select_index(grn_ctx *ctx, grn_obj *table, scan_info *si,
return processed;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
grn_obj *
grn_table_select(grn_ctx *ctx, grn_obj *table, grn_obj *expr,
grn_obj *res, grn_operator op)

View file

@ -20,6 +20,7 @@
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
#include <my_attribute.h>
#ifdef WIN32
# include <io.h>
@ -299,6 +300,8 @@ buffer_segment_new(grn_ctx *ctx, grn_ii *ii, uint32_t *segno)
}
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
static grn_rc
buffer_segment_reserve(grn_ctx *ctx, grn_ii *ii,
uint32_t *lseg0, uint32_t *pseg0,
@ -385,6 +388,8 @@ buffer_segment_reserve(grn_ctx *ctx, grn_ii *ii,
return ctx->rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
#define BGQENQUE(lseg) do {\
if (ii->header->binfo[lseg] != GRN_II_PSEG_NOT_ASSIGNED) {\
ii->header->bgqbody[ii->header->bgqhead] = ii->header->binfo[lseg];\
@ -3338,6 +3343,8 @@ fake_map(grn_ctx *ctx, grn_io *io, grn_io_win *iw, void *addr, uint32_t seg, uin
iw->addr = addr;
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
static grn_rc
buffer_flush(grn_ctx *ctx, grn_ii *ii, uint32_t seg, grn_hash *h)
{
@ -3470,6 +3477,8 @@ buffer_flush(grn_ctx *ctx, grn_ii *ii, uint32_t seg, grn_hash *h)
return ctx->rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
void
grn_ii_buffer_check(grn_ctx *ctx, grn_ii *ii, uint32_t seg)
{
@ -3736,6 +3745,8 @@ array_update(grn_ctx *ctx, grn_ii *ii, uint32_t dls, buffer *db)
}
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
static grn_rc
buffer_split(grn_ctx *ctx, grn_ii *ii, uint32_t seg, grn_hash *h)
{
@ -3981,6 +3992,8 @@ buffer_split(grn_ctx *ctx, grn_ii *ii, uint32_t seg, grn_hash *h)
return ctx->rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
#define SCALE_FACTOR 2048
#define MAX_NTERMS 8192
#define SPLIT_COND(ii, buffer)\
@ -4520,11 +4533,11 @@ grn_ii_get_disk_usage(grn_ctx *ctx, grn_ii *ii)
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
#define BIT11_01(x) ((x >> 1) & 0x7ff)
#define BIT31_12(x) (x >> 12)
PRAGMA_DISABLE_CHECK_STACK_FRAME
grn_rc
grn_ii_update_one(grn_ctx *ctx, grn_ii *ii, grn_id tid, grn_ii_updspec *u, grn_hash *h)
{
@ -4797,7 +4810,6 @@ 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)
@ -4912,6 +4924,8 @@ exit :
return ctx->rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
#define CHUNK_USED 1
#define BUFFER_USED 2
#define SOLE_DOC_USED 4
@ -6309,6 +6323,8 @@ grn_uvector2updspecs(grn_ctx *ctx, grn_ii *ii, grn_id rid,
}
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
grn_rc
grn_ii_column_update(grn_ctx *ctx, grn_ii *ii, grn_id rid, unsigned int section,
grn_obj *oldvalue, grn_obj *newvalue, grn_obj *posting)
@ -6628,6 +6644,8 @@ exit :
return ctx->rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
/* token_info */
typedef struct {
@ -7931,6 +7949,8 @@ grn_ii_select_cursor_open(grn_ctx *ctx,
return cursor;
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
static grn_ii_select_cursor_posting *
grn_ii_select_cursor_next(grn_ctx *ctx,
grn_ii_select_cursor *cursor)
@ -8098,6 +8118,9 @@ grn_ii_select_cursor_next(grn_ctx *ctx,
}
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
static void
grn_ii_select_cursor_unshift(grn_ctx *ctx,
grn_ii_select_cursor *cursor,
@ -8541,6 +8564,8 @@ grn_ii_select_sequential_search(grn_ctx *ctx,
}
#endif
PRAGMA_DISABLE_CHECK_STACK_FRAME
grn_rc
grn_ii_select(grn_ctx *ctx, grn_ii *ii,
const char *string, unsigned int string_len,
@ -8847,6 +8872,8 @@ exit :
return rc;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
static uint32_t
grn_ii_estimate_size_for_query_regexp(grn_ctx *ctx, grn_ii *ii,
const char *query, unsigned int query_len,

View file

@ -1130,6 +1130,8 @@ command_schema_output_table(grn_ctx *ctx,
grn_ctx_output_map_close(ctx);
}
PRAGMA_DISABLE_CHECK_STACK_FRAME
static void
command_schema_output_tables(grn_ctx *ctx, grn_schema_data *data)
{
@ -1201,6 +1203,8 @@ command_schema_output_tables(grn_ctx *ctx, grn_schema_data *data)
GRN_OBJ_FIN(ctx, &table_ids);
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
static grn_obj *
command_schema(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
{

View file

@ -3569,7 +3569,6 @@ grn_select_data_fill_drilldowns(grn_ctx *ctx,
return succeeded;
}
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
static grn_obj *
command_select(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
@ -3723,6 +3722,8 @@ exit :
return NULL;
}
PRAGMA_REENABLE_CHECK_STACK_FRAME
#define N_VARS 26
#define DEFINE_VARS grn_expr_var vars[N_VARS]

View file

@ -37,7 +37,7 @@ static grn_plugin_mutex *sole_mecab_mutex = NULL;
static grn_encoding sole_mecab_encoding = GRN_ENC_NONE;
static grn_bool grn_mecab_chunked_tokenize_enabled = GRN_FALSE;
static int grn_mecab_chunk_size_threshold = 8192;
static ptrdiff_t grn_mecab_chunk_size_threshold = 8192;
typedef struct {
mecab_t *mecab;
@ -186,7 +186,7 @@ static grn_bool
chunked_tokenize_utf8(grn_ctx *ctx,
grn_mecab_tokenizer *tokenizer,
const char *string,
unsigned int string_bytes)
ptrdiff_t string_bytes)
{
const char *chunk_start;
const char *current;