InnoDB Plugin  1.0
Data Structures | Functions
row0ext.h File Reference
#include "univ.i"
#include "row0types.h"
#include "data0types.h"
#include "mem0mem.h"
#include "dict0types.h"
#include "row0ext.ic"
Include dependency graph for row0ext.h:

Go to the source code of this file.

Data Structures

struct  row_ext_t

Functions

UNIV_INTERN row_ext_trow_ext_create (ulint n_ext, const ulint *ext, ulint flags, const dtuple_t *tuple, mem_heap_t *heap)
UNIV_INLINE const byte * row_ext_lookup_ith (const row_ext_t *ext, ulint i, ulint *len)
UNIV_INLINE const byte * row_ext_lookup (const row_ext_t *ext, ulint col, ulint *len)

Detailed Description

Caching of externally stored column prefixes

Created September 2006 Marko Makela

Function Documentation

UNIV_INTERN row_ext_t* row_ext_create ( ulint  n_ext,
const ulint *  ext,
ulint  flags,
const dtuple_t tuple,
mem_heap_t heap 
)

Creates a cache of column prefixes of externally stored columns.

Returns
own: column prefix cache in: heap where created
Parameters
n_extin: number of externally stored columns
extin: col_no's of externally stored columns in the InnoDB table object, as reported by dict_col_get_no(); NOT relative to the records in the clustered index
flagsin: table->flags
tuplein: data tuple containing the field references of the externally stored columns; must be indexed by col_no; the clustered index record must be covered by a lock or a page latch to prevent deletion (rollback or purge).
UNIV_INLINE const byte* row_ext_lookup ( const row_ext_t ext,
ulint  col,
ulint *  len 
)

Looks up a column prefix of an externally stored column.

Returns
column prefix, or NULL if the column is not stored externally, or pointer to field_ref_zero if the BLOB pointer is unset out: length of prefix, in bytes, at most the length determined by DICT_MAX_FIELD_LEN_BY_FORMAT()

Looks up a column prefix of an externally stored column.

Returns
column prefix, or NULL if the column is not stored externally, or pointer to field_ref_zero if the BLOB pointer is unset
Parameters
extin: column prefix cache
colin: column number in the InnoDB table object, as reported by dict_col_get_no(); NOT relative to the records in the clustered index
lenout: length of prefix, in bytes, at most ext->max_len
UNIV_INLINE const byte* row_ext_lookup_ith ( const row_ext_t ext,
ulint  i,
ulint *  len 
)

Looks up a column prefix of an externally stored column.

Returns
column prefix, or NULL if the column is not stored externally, or pointer to field_ref_zero if the BLOB pointer is unset out: length of prefix, in bytes, at most the length determined by DICT_MAX_FIELD_LEN_BY_FORMAT()

Looks up a column prefix of an externally stored column.

Returns
column prefix, or NULL if the column is not stored externally, or pointer to field_ref_zero if the BLOB pointer is unset
Parameters
extin/out: column prefix cache
iin: index of ext->ext[]
lenout: length of prefix, in bytes, at most ext->max_len