From cca86639bc46227b8a541b8e8ac289070a4ed8ac Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 26 Jul 2002 17:28:15 +0300 Subject: [PATCH] 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 --- innobase/include/dyn0dyn.h | 9 ++------- innobase/include/dyn0dyn.ic | 4 +++- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/innobase/include/dyn0dyn.h b/innobase/include/dyn0dyn.h index 332622b6d4c..6f08da1533b 100644 --- a/innobase/include/dyn0dyn.h +++ b/innobase/include/dyn0dyn.h @@ -17,13 +17,8 @@ typedef struct dyn_block_struct dyn_block_t; typedef dyn_block_t dyn_array_t; -/* Initial 'payload' size in bytes in a dynamic array block */ -#ifndef _AIX -#define DYN_ARRAY_DATA_SIZE 1024 -#else -/* AIX has a quite small stack / thread */ -#define DYN_ARRAY_DATA_SIZE 128 -#endif +/* This must be > MLOG_BUF_MARGIN + 30 */ +#define DYN_ARRAY_DATA_SIZE 512 /************************************************************************* Initializes a dynamic array. */ diff --git a/innobase/include/dyn0dyn.ic b/innobase/include/dyn0dyn.ic index dc004efbb8b..787615cae09 100644 --- a/innobase/include/dyn0dyn.ic +++ b/innobase/include/dyn0dyn.ic @@ -185,7 +185,8 @@ dyn_array_open( /*===========*/ /* out: pointer to the buffer */ 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; ulint used; @@ -207,6 +208,7 @@ dyn_array_open( if (used + size > DYN_ARRAY_DATA_SIZE) { block = dyn_array_add_block(arr); used = block->used; + ut_a(size <= DYN_ARRAY_DATA_SIZE); } }