mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
dyn0dyn.ic, dyn0dyn.h:
Fix the crash on AIX in a simple insert innobase/include/dyn0dyn.h: Fix the crash on AIX in a simple insert innobase/include/dyn0dyn.ic: Fix the crash on AIX in a simple insert
This commit is contained in:
@@ -17,13 +17,8 @@ typedef struct dyn_block_struct dyn_block_t;
|
|||||||
typedef dyn_block_t dyn_array_t;
|
typedef dyn_block_t dyn_array_t;
|
||||||
|
|
||||||
|
|
||||||
/* Initial 'payload' size in bytes in a dynamic array block */
|
/* This must be > MLOG_BUF_MARGIN + 30 */
|
||||||
#ifndef _AIX
|
#define DYN_ARRAY_DATA_SIZE 512
|
||||||
#define DYN_ARRAY_DATA_SIZE 1024
|
|
||||||
#else
|
|
||||||
/* AIX has a quite small stack / thread */
|
|
||||||
#define DYN_ARRAY_DATA_SIZE 128
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
Initializes a dynamic array. */
|
Initializes a dynamic array. */
|
||||||
|
@@ -185,7 +185,8 @@ dyn_array_open(
|
|||||||
/*===========*/
|
/*===========*/
|
||||||
/* out: pointer to the buffer */
|
/* out: pointer to the buffer */
|
||||||
dyn_array_t* arr, /* in: dynamic array */
|
dyn_array_t* arr, /* in: dynamic array */
|
||||||
ulint size) /* in: size in bytes of the buffer */
|
ulint size) /* in: size in bytes of the buffer; MUST be
|
||||||
|
smaller than DYN_ARRAY_DATA_SIZE! */
|
||||||
{
|
{
|
||||||
dyn_block_t* block;
|
dyn_block_t* block;
|
||||||
ulint used;
|
ulint used;
|
||||||
@@ -207,6 +208,7 @@ dyn_array_open(
|
|||||||
if (used + size > DYN_ARRAY_DATA_SIZE) {
|
if (used + size > DYN_ARRAY_DATA_SIZE) {
|
||||||
block = dyn_array_add_block(arr);
|
block = dyn_array_add_block(arr);
|
||||||
used = block->used;
|
used = block->used;
|
||||||
|
ut_a(size <= DYN_ARRAY_DATA_SIZE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user