MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
row0merge.cc File Reference
#include "row0merge.h"
#include "row0ext.h"
#include "row0log.h"
#include "row0ins.h"
#include "row0sel.h"
#include "dict0crea.h"
#include "trx0purge.h"
#include "lock0lock.h"
#include "pars0pars.h"
#include "ut0sort.h"
#include "row0ftsort.h"
#include "row0import.h"
#include "handler0alter.h"
#include "ha_prototypes.h"
Include dependency graph for row0merge.cc:

Go to the source code of this file.

Macros

#define row_merge_tuple_sort_ctx(tuples, aux, low, high)   row_merge_tuple_sort(n_uniq, n_field, dup, tuples, aux, low, high)
#define row_merge_tuple_cmp_ctx(a, b)   row_merge_tuple_cmp(n_uniq, n_field, a, b, dup)
#define row_merge_write_rec_low(b, e, size, fd, foffs, mrec, offsets)   row_merge_write_rec_low(b, e, mrec, offsets)
#define ROW_MERGE_WRITE_GET_NEXT(N, INDEX, AT_END)

Variables

UNIV_INTERN char srv_disable_sort_file_cache
static const dict_index_tindex
static const dict_index_t
const mtuple_t
entry

Detailed Description

New index creation routines using a merge sort

Created 12/4/2005 Jan Lindstrom Completed by Sunny Bains and Marko Makela

Definition in file row0merge.cc.

Macro Definition Documentation

#define ROW_MERGE_WRITE_GET_NEXT (   N,
  INDEX,
  AT_END 
)
Value:
do { \
b2 = row_merge_write_rec(&block[2 * srv_sort_buf_size], \
&buf[2], b2, \
of->fd, &of->offset, \
mrec##N, offsets##N); \
if (UNIV_UNLIKELY(!b2 || ++of->n_rec > file->n_rec)) { \
goto corrupt; \
} \
&buf[N], b##N, INDEX, \
file->fd, foffs##N, \
&mrec##N, offsets##N); \
if (UNIV_UNLIKELY(!b##N)) { \
if (mrec##N) { \
goto corrupt; \
} \
AT_END; \
} \
} while (0)

Variable Documentation

const dict_index_t const mtuple_t* entry

in: index fields of the record to encode

Definition at line 111 of file row0merge.cc.

const dict_index_t* index

< in/out: pointer to current end of output buffer in: index

Definition at line 111 of file row0merge.cc.