1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

branches/zip: Allow the locally stored part of externally stored columns

in the clustered index to be smaller than the indexed prefix in secondary
indexes.

row_ext_lookup(): Return NULL if the column is not stored externally.

trx_undo_rec_get_partial_row(): row_build(): Add parameter row_ext_t** ext.

row_build_index_entry(): Add the parameter row_ext_t* ext.
Invoke row_ext_lookup() to fetch prefixes of externally stored columns.

upd_node_t, undo_node_t, purge_node_t: Add the field row_ext_t* ext.
This commit is contained in:
marko
2006-09-26 11:50:54 +00:00
parent 7edc6be45b
commit 1f510066f4
16 changed files with 142 additions and 64 deletions

View File

@@ -17,6 +17,7 @@ Created 4/20/1996 Heikki Tuuri
#include "mtr0mtr.h"
#include "rem0types.h"
#include "read0types.h"
#include "row0types.h"
#include "btr0types.h"
/*************************************************************************
@@ -60,6 +61,8 @@ row_build_index_entry(
/* out: index entry which should be inserted */
dtuple_t* row, /* in: row which should be inserted to the
table */
row_ext_t* ext, /* in: externally stored column prefixes,
or NULL */
dict_index_t* index, /* in: index on the table */
mem_heap_t* heap); /* in: memory heap from which the memory for
the index entry is allocated */
@@ -87,6 +90,8 @@ row_build(
const ulint* offsets,/* in: rec_get_offsets(rec, index)
or NULL, in which case this function
will invoke rec_get_offsets() */
row_ext_t** ext, /* out, own: cache of externally stored
column prefixes, or NULL */
mem_heap_t* heap); /* in: memory heap from which the memory
needed is allocated */
/***********************************************************************