Commit 066e8900 authored by unknown's avatar unknown
Browse files

InnoDB: Introduce the symbols REC_OFFS_NORMAL_SIZE and

REC_OFFS_SMALL_SIZE for the initial allocation sizes of
arrays passed to rec_get_offsets().


innobase/btr/btr0btr.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/btr/btr0cur.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/btr/btr0sea.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/include/rem0rec.h:
  Define REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE.
innobase/lock/lock0lock.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/page/page0cur.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/page/page0page.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/rem/rem0rec.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0ins.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0mysql.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0purge.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0row.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0sel.c:
  s/100/REC_OFFS_NORMAL_SIZE/
  s/10/REC_OFFS_SMALL_SIZE/
innobase/row/row0undo.c:
  s/100/REC_OFFS_NORMAL_SIZE/
innobase/row/row0upd.c:
  s/100/REC_OFFS_NORMAL_SIZE/
  s/10/REC_OFFS_SMALL_SIZE/
innobase/trx/trx0rec.c:
  s/100/REC_OFFS_NORMAL_SIZE/
parent db32810d
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -567,7 +567,7 @@ btr_page_get_father_for_rec(
	btr_cur_t	cursor;
	rec_t*		node_ptr;
	dict_index_t*	index;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets	= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -2099,7 +2099,7 @@ btr_compress(
		btr_node_ptr_delete(tree, page, mtr);
	} else {
		mem_heap_t*	heap		= NULL;
		ulint		offsets_[100];
		ulint		offsets_[REC_OFFS_NORMAL_SIZE];
		*offsets_ = (sizeof offsets_) / sizeof *offsets_;
		/* Replace the address of the old child node (= page) with the 
		address of the merge page to the right */
@@ -2389,7 +2389,7 @@ btr_print_tree(
	mtr_t		mtr;
	page_t*		root;
	mem_heap_t*	heap	= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets	= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -2491,7 +2491,7 @@ btr_index_rec_validate(
	ulint		i;
	page_t*		page;
	mem_heap_t*	heap	= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets	= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

+10 −10
Original line number Diff line number Diff line
@@ -275,7 +275,7 @@ btr_cur_search_to_nth_level(
	btr_search_t*	info;
#endif
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;
	/* Currently, PAGE_CUR_LE is the only search mode used for searches
@@ -579,7 +579,7 @@ btr_cur_open_at_index_side(
	ulint		estimate;
	ulint           savepoint;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -705,7 +705,7 @@ btr_cur_open_at_rnd_pos(
	ulint		height;
	rec_t*		node_ptr;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -1255,7 +1255,7 @@ btr_cur_upd_lock_and_undo(

	if (!(flags & BTR_NO_LOCKING_FLAG)) {
		mem_heap_t*	heap		= NULL;
		ulint		offsets_[100];
		ulint		offsets_[REC_OFFS_NORMAL_SIZE];
		*offsets_ = (sizeof offsets_) / sizeof *offsets_;

		err = lock_clust_rec_modify_check_and_lock(flags, rec, index,
@@ -1431,7 +1431,7 @@ btr_cur_update_in_place(
	trx_t*		trx;
	ibool		was_delete_marked;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -2071,7 +2071,7 @@ btr_cur_parse_del_mark_set_clust_rec(
	
		if (!(flags & BTR_KEEP_SYS_FLAG)) {
			mem_heap_t*	heap		= NULL;
			ulint		offsets_[100];
			ulint		offsets_[REC_OFFS_NORMAL_SIZE];
			*offsets_ = (sizeof offsets_) / sizeof *offsets_;

			row_upd_rec_sys_fields_in_recovery(rec,
@@ -2117,7 +2117,7 @@ btr_cur_del_mark_set_clust_rec(
	rec_t*		rec;
	trx_t*		trx;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -2408,7 +2408,7 @@ btr_cur_optimistic_delete(
	ulint		max_ins_size;
	rec_t*		rec;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	ibool		no_compress_needed;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;
@@ -2813,8 +2813,8 @@ btr_estimate_number_of_different_key_vals(
	ulint		add_on;
	mtr_t		mtr;
	mem_heap_t*	heap		= NULL;
	ulint		offsets1_[100];
	ulint		offsets2_[100];
	ulint		offsets1_[REC_OFFS_NORMAL_SIZE];
	ulint		offsets2_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets1	= offsets1_;
	ulint*		offsets2	= offsets2_;
	*offsets1_ = (sizeof offsets1_) / sizeof *offsets1_;
+6 −6
Original line number Diff line number Diff line
@@ -420,7 +420,7 @@ btr_search_update_hash_ref(
	    && (block->curr_n_bytes == info->n_bytes)
	    && (block->curr_side == info->side)) {
		mem_heap_t*	heap		= NULL;
		ulint		offsets_[100];
		ulint		offsets_[REC_OFFS_NORMAL_SIZE];
		*offsets_ = (sizeof offsets_) / sizeof *offsets_;

	    	rec = btr_cur_get_rec(cursor);
@@ -553,7 +553,7 @@ btr_search_check_guess(
	ulint		bytes;
	int		cmp;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	ibool		success		= FALSE;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;
@@ -1100,7 +1100,7 @@ btr_search_build_page_hash_index(
	rec_t**		recs;
	ulint		i;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -1344,7 +1344,7 @@ btr_search_update_hash_on_delete(
	ulint		fold;
	dulint		tree_id;
	ibool		found;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	mem_heap_t*	heap		= NULL;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -1456,7 +1456,7 @@ btr_search_update_hash_on_insert(
	ulint		side;
	ibool		locked		= FALSE;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -1596,7 +1596,7 @@ btr_search_validate(void)
	ibool		ok		= TRUE;
	ulint		i;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;
	
+5 −0
Original line number Diff line number Diff line
@@ -36,6 +36,11 @@ in addition to the data and the offsets */
#define REC_STATUS_INFIMUM	2
#define REC_STATUS_SUPREMUM	3

/* Number of elements that should be initially allocated for the
offsets[] array, first passed to rec_get_offsets() */
#define REC_OFFS_NORMAL_SIZE	1/*00*/
#define REC_OFFS_SMALL_SIZE	1/*0*/

/**********************************************************
The following function is used to get the offset of the
next chained record on the same page. */
+5 −5
Original line number Diff line number Diff line
@@ -4094,7 +4094,7 @@ lock_rec_print(
	ulint		i;
	mtr_t		mtr;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -4593,7 +4593,7 @@ lock_rec_validate_page(
	ulint	i;
	mtr_t	mtr;
	mem_heap_t*	heap		= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -4843,7 +4843,7 @@ lock_rec_insert_check_and_lock(
#ifdef UNIV_DEBUG
	{
		mem_heap_t*	heap		= NULL;
		ulint		offsets_[100];
		ulint		offsets_[REC_OFFS_NORMAL_SIZE];
		const ulint*	offsets;
		*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -4992,7 +4992,7 @@ lock_sec_rec_modify_check_and_lock(
#ifdef UNIV_DEBUG
	{
		mem_heap_t*	heap		= NULL;
		ulint		offsets_[100];
		ulint		offsets_[REC_OFFS_NORMAL_SIZE];
		const ulint*	offsets;
		*offsets_ = (sizeof offsets_) / sizeof *offsets_;

@@ -5166,7 +5166,7 @@ lock_clust_rec_read_check_and_lock_alt(
	que_thr_t*	thr)	/* in: query thread */
{
	mem_heap_t*	tmp_heap	= NULL;
	ulint		offsets_[100];
	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
	ulint*		offsets		= offsets_;
	ulint		ret;
	*offsets_ = (sizeof offsets_) / sizeof *offsets_;
Loading