mariadb/include
marko 6523ce6fd8 branches/zip: When storing a longer prefix of an externally stored column
to the undo log, also store the original length of the column, so that the
changes will be correctly undone in transaction rollback or when fetching
previous versions of the row.

innodb-zip.test: New file, for tests of the compression.

upd_field_t: Add orig_len, the original length of new_val.

btr_push_update_extern_fields(): Restore the original prefix of the column.
Add the parameter heap where memory will be allocated if necessary.

trx_undo_rec_get_col_val(): Add the output parameter orig_len.

trx_undo_page_report_modify_ext(): New function: Write an externally
stored column to the undo log.  This is only called from
trx_undo_page_report_modify(), and this is the only caller of
trx_undo_page_fetch_ext().

trx_undo_update_rec_get_update(): Read the original length of the column
prefix to upd_field->orig_len.
2008-01-23 13:46:45 +00:00
..
btr0btr.h branches/zip: Make merge sort handle externally stored columns. 2007-06-21 09:43:15 +00:00
btr0btr.ic branches/zip: Silence most GCC 4.2.1 warnings about const pointers. 2007-10-03 12:22:29 +00:00
btr0cur.h branches/zip: When storing a longer prefix of an externally stored column 2008-01-23 13:46:45 +00:00
btr0cur.ic branches/zip: Minor cleanup of B-tree cursor operations. 2007-10-22 08:16:35 +00:00
btr0pcur.h branches/zip: Minor cleanup of B-tree cursor operations. 2007-10-22 08:16:35 +00:00
btr0pcur.ic branches/zip: Minor cleanup of B-tree cursor operations. 2007-10-22 08:16:35 +00:00
btr0sea.h branches/zip: Remove the fil_space_get_zip_size() call from 2007-01-18 09:59:00 +00:00
btr0sea.ic branches/zip: Merge revisions 79:200 from trunk. 2006-02-17 14:19:39 +00:00
btr0types.h branches/zip: row_ext: Fetch the BLOB prefixes already at row_ext_create(). 2007-11-29 12:47:18 +00:00
buf0buddy.h branches/zip: Implement wrappers for all operations on the buffer pool mutex. 2008-01-10 09:37:13 +00:00
buf0buddy.ic branches/zip: Implement wrappers for all operations on the buffer pool mutex. 2008-01-10 09:37:13 +00:00
buf0buf.h branches/zip: Free the buffer pool at shutdown. 2008-01-16 12:44:44 +00:00
buf0buf.ic branches/zip: Implement wrappers for all operations on the buffer pool mutex. 2008-01-10 09:37:13 +00:00
buf0flu.h branches/zip: buf_flush_write_block_low(): Avoid recomputing the compressed 2007-01-16 21:51:40 +00:00
buf0flu.ic branches/zip: Implement wrappers for all operations on the buffer pool mutex. 2008-01-10 09:37:13 +00:00
buf0lru.h branches/zip: Implement wrappers for all operations on the buffer pool mutex. 2008-01-10 09:37:13 +00:00
buf0lru.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
buf0rea.h branches/zip: Remove many fil_space_get_zip_size() calls. 2006-10-19 11:07:50 +00:00
buf0types.h branches/zip: Allow the uncompressed page size to be settable by setting 2007-12-20 13:23:23 +00:00
data0data.h branches/zip: Fetch externally stored columns only when the clustered index 2008-01-16 10:10:32 +00:00
data0data.ic branches/zip: Fetch externally stored columns only when the clustered index 2008-01-16 10:10:32 +00:00
data0type.h branches/zip: Add the function dtype_is_utf8(). 2007-10-25 07:19:43 +00:00
data0type.ic branches/zip: Add the function dtype_is_utf8(). 2007-10-25 07:19:43 +00:00
data0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
db0err.h branches/zip: Return a meaningful error message when refusing to create 2007-11-07 11:03:13 +00:00
dict0boot.h branches/zip: Merge revisions 804:838 from trunk. 2006-09-19 10:14:07 +00:00
dict0boot.ic branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
dict0crea.h branches/zip: Make TRUNCATE TABLE recreate single-table tablespaces. 2007-03-29 08:51:13 +00:00
dict0crea.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
dict0dict.h branches/zip: Implement a limit for the size of undo log records. 2007-12-19 14:03:39 +00:00
dict0dict.ic branches/zip: dict_col_get_clust_pos(): Split a debug assertion, and 2007-11-22 10:29:02 +00:00
dict0load.h branches/zip: Merge branches/fast-index-creation -r1413. 2007-04-04 11:05:33 +00:00
dict0load.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
dict0mem.h branches/zip: Fast index creation: Remove the ROW_PREBUILT_OBSOLETE nonsense. 2007-12-17 15:49:59 +00:00
dict0mem.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
dict0types.h branches/zip: Simplify crash recovery in fast index creation. 2007-09-05 10:18:03 +00:00
dyn0dyn.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
dyn0dyn.ic branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
eval0eval.h branches/zip: eval_node_copy_and_alloc_val(): Add const qualifier. 2008-01-11 19:51:19 +00:00
eval0eval.ic branches/zip: eval_node_copy_and_alloc_val(): Add const qualifier. 2008-01-11 19:51:19 +00:00
eval0proc.h branches/zip: Merge revisions 265:459 from trunk. 2006-04-12 09:32:17 +00:00
eval0proc.ic branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
fil0fil.h branches/zip: Remove the fil_space_get_zip_size() call from 2007-01-18 09:59:00 +00:00
fsp0fsp.h branches/zip: Allow a build with UNIV_PAGE_SIZE set to 4096. 2007-12-20 22:09:22 +00:00
fsp0fsp.ic branches/zip: Merge revisions 720:765 from trunk and reindent the code 2006-08-29 09:30:31 +00:00
fut0fut.h branches/zip: Remove the fil_space_get_zip_size() call from 2007-01-18 09:59:00 +00:00
fut0fut.ic branches/zip: Remove the fil_space_get_zip_size() call from 2007-01-18 09:59:00 +00:00
fut0lst.h branches/zip: Add const qualifiers to read-only pointers. 2006-10-26 08:52:14 +00:00
fut0lst.ic branches/zip: Add const qualifiers to read-only pointers. 2006-10-26 08:52:14 +00:00
ha0ha.h branches/zip: ha_node_t: Enclose the field buf_block_t* block inside 2007-09-12 10:44:53 +00:00
ha0ha.ic branches/zip: Add explicit type casts to *.ic, because C++ does not allow 2007-08-01 10:38:07 +00:00
ha0storage.h branches/zip: 2007-11-16 13:12:13 +00:00
ha0storage.ic branches/zip: 2007-10-08 10:46:26 +00:00
ha_prototypes.h branches/zip: innobase_mysql_end_print_arbitrary_thd(): Note that 2007-12-17 14:06:59 +00:00
handler0alter.h branches/zip: Correctly convert InnoDB records to MySQL table->record[0]. 2007-09-27 11:03:36 +00:00
hash0hash.h branches/zip: Use hash_table_clear() to initialize the array instead of 2007-08-23 07:01:24 +00:00
hash0hash.ic branches/zip: Use hash_table_clear() to initialize the array instead of 2007-08-23 07:01:24 +00:00
ibuf0ibuf.h branches/zip: On compressed pages, always update the insert buffer bitmap. 2007-10-12 13:25:12 +00:00
ibuf0ibuf.ic branches/zip: On compressed pages, always update the insert buffer bitmap. 2007-10-12 13:25:12 +00:00
ibuf0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
innodb_redefine.h branches/zip: Allow the symbols in the dynamic InnoDB plugin to be 2007-11-01 15:00:44 +00:00
lock0iter.h branches/zip: Merge 1575:1664 from trunk. 2007-08-01 11:18:43 +00:00
lock0lock.h branches/zip: Fast index creation: Remove the ROW_PREBUILT_OBSOLETE nonsense. 2007-12-17 15:49:59 +00:00
lock0lock.ic branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG. 2007-01-18 18:29:12 +00:00
lock0priv.h lock_get_type() needs to be accessed outside of the lock module, but it 2007-09-04 07:54:29 +00:00
lock0priv.ic lock_get_type() needs to be accessed outside of the lock module, but it 2007-09-04 07:54:29 +00:00
lock0types.h branches/zip: Fast index creation: Remove the ROW_PREBUILT_OBSOLETE nonsense. 2007-12-17 15:49:59 +00:00
log0log.h branches/zip: Minor cleanup. 2007-10-25 07:07:25 +00:00
log0log.ic branches/zip: Minor cleanup. 2007-10-25 07:07:25 +00:00
log0recv.h branches/zip: Replace ib_ulonglong with ib_uint64_t, since we want exactly 2006-11-29 14:52:16 +00:00
log0recv.ic branches/zip: ibuf_set_free_bits_func(): Disable redo logging when 2007-05-06 12:39:46 +00:00
mach0data.h branches/zip: 2007-10-25 11:45:11 +00:00
mach0data.ic branches/zip: 2007-10-25 11:45:11 +00:00
mem0dbg.h branches/zip: Merge 1809:1830 from trunk. 2007-09-10 10:09:01 +00:00
mem0dbg.ic branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
mem0mem.h branches/zip: Fix some things to allow InnoDB to be built with smaller 2007-12-20 21:36:45 +00:00
mem0mem.ic branches/zip: Merge 1918:1937 from trunk. 2007-10-03 08:44:50 +00:00
mem0pool.h branches/zip: When creating a memory heap, set the block size to what 2007-09-21 10:22:58 +00:00
mem0pool.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
mtr0log.h branches/zip: Silence most GCC 4.2.1 warnings about const pointers. 2007-10-03 12:22:29 +00:00
mtr0log.ic branches/zip: Implement wrappers for all operations on the buffer pool mutex. 2008-01-10 09:37:13 +00:00
mtr0mtr.h branches/zip: Silence most GCC 4.2.1 warnings about const pointers. 2007-10-03 12:22:29 +00:00
mtr0mtr.ic branches/zip: Silence most GCC 4.2.1 warnings about const pointers. 2007-10-03 12:22:29 +00:00
mtr0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
mysql_addons.h branches/zip: 2008-01-23 09:38:23 +00:00
os0file.h branches/zip: Reimplement merge sort in fast index creation. 2007-06-08 07:37:07 +00:00
os0proc.h branches/zip: os_mem_alloc_large(), os_mem_free_large(): 2006-11-01 08:13:58 +00:00
os0proc.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
os0sync.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
os0sync.ic branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
os0thread.h branches/zip: Merge revisions 465:532 from trunk. 2006-05-08 06:18:59 +00:00
os0thread.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
page0cur.h branches/zip: Merge 2015:2093 from trunk. 2007-11-16 13:57:27 +00:00
page0cur.ic branches/zip: Minor cleanup of B-tree cursor operations. 2007-10-22 08:16:35 +00:00
page0page.h branches/zip: Remove __attribute__((warn_unused_result)), because it does 2007-11-09 09:41:21 +00:00
page0page.ic branches/zip: Remove const warnings reported by GCC 4.2.1. 2007-10-18 07:12:05 +00:00
page0types.h branches/zip: Add statistics on page compression and decompression counts. 2007-04-10 08:11:49 +00:00
page0zip.h branches/zip: Remove __attribute__((warn_unused_result)), because it does 2007-11-09 09:41:21 +00:00
page0zip.ic branches/zip: Improve Valgrind instrumentation. 2007-11-07 15:58:39 +00:00
pars0grm.h branches/zip: Merge revisions 583:634 from trunk. 2006-06-13 20:23:26 +00:00
pars0opt.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
pars0opt.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
pars0pars.h branches/zip: Merge revisions 583:634 from trunk. 2006-06-13 20:23:26 +00:00
pars0pars.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
pars0sym.h branches/zip: Merge revisions 465:532 from trunk. 2006-05-08 06:18:59 +00:00
pars0sym.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
pars0types.h branches/zip: Merge revisions 465:532 from trunk. 2006-05-08 06:18:59 +00:00
que0que.h branches/zip: Merge revisions 583:634 from trunk. 2006-06-13 20:23:26 +00:00
que0que.ic branches/zip: Do not access the fields of dfield_t directly. 2007-10-23 06:46:12 +00:00
que0types.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
read0read.h branches/zip: Merge 2155:2213 from branches/5.1. 2008-01-07 09:15:25 +00:00
read0read.ic branches/zip: Merge revisions 804:838 from trunk. 2006-09-19 10:14:07 +00:00
read0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
rem0cmp.h branches/zip: cmp_rec_rec_simple(): Compare n_uniq columns instead of 2007-09-19 11:31:00 +00:00
rem0cmp.ic branches/zip: Add explicit type casts to *.ic, because C++ does not allow 2007-08-01 10:38:07 +00:00
rem0rec.h branches/zip: Remove const warnings reported by GCC 4.2.1. 2007-10-18 07:12:05 +00:00
rem0rec.ic branches/zip: Remove const warnings reported by GCC 4.2.1. 2007-10-18 07:12:05 +00:00
rem0types.h branches/zip: Merge 1533:1553 from trunk. 2007-06-06 11:07:37 +00:00
row0ext.h branches/zip: Add clarifying comments that the clustered index record must 2008-01-11 12:19:59 +00:00
row0ext.ic branches/zip: row_ext: Fetch the BLOB prefixes already at row_ext_create(). 2007-11-29 12:47:18 +00:00
row0ins.h branches/zip: Fast index creation: Remove the ROW_PREBUILT_OBSOLETE nonsense. 2007-12-17 15:49:59 +00:00
row0ins.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0merge.h branches/zip: Fast index creation: Remove the ROW_PREBUILT_OBSOLETE nonsense. 2007-12-17 15:49:59 +00:00
row0mysql.h branches/zip: Minor cleanup. 2007-12-19 15:05:13 +00:00
row0mysql.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0purge.h branches/zip: When logging updates or deletes in the undo log, store long 2007-12-05 14:10:15 +00:00
row0purge.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0row.h branches/zip: Fix a bug in fast index creation that was introduced in r2131 2007-12-03 12:16:07 +00:00
row0row.ic branches/zip: Initialize dfield_t::ext as soon as possible. This should 2007-10-17 12:13:29 +00:00
row0sel.h branches/zip: Add const qualifiers to the functions that read MySQL data. 2007-08-03 07:09:29 +00:00
row0sel.ic branches/zip: Add explicit type casts to *.ic, because C++ does not allow 2007-08-01 10:38:07 +00:00
row0types.h branches/zip: Fast index creation: Remove the ROW_PREBUILT_OBSOLETE nonsense. 2007-12-17 15:49:59 +00:00
row0uins.h branches/zip: Simplify crash recovery in fast index creation. 2007-09-05 10:18:03 +00:00
row0uins.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0umod.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
row0umod.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0undo.h branches/zip: Fetch externally stored columns only when the clustered index 2008-01-16 10:10:32 +00:00
row0undo.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
row0upd.h branches/zip: When storing a longer prefix of an externally stored column 2008-01-23 13:46:45 +00:00
row0upd.ic branches/zip: When storing a longer prefix of an externally stored column 2008-01-23 13:46:45 +00:00
row0vers.h branches/zip: Minor cleanup. 2006-10-23 19:14:36 +00:00
row0vers.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
srv0que.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
srv0srv.h branches/zip: Remove some unnecessary memory references in the master thread. 2007-10-24 07:12:11 +00:00
srv0srv.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
srv0start.h branches/zip: Enable calls to inlined InnoDB functions in ha_innodb.cc, 2007-06-20 08:26:26 +00:00
sync0arr.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
sync0arr.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
sync0rw.h branches/zip: Merge 1664:1783 from trunk. 2007-08-30 09:21:25 +00:00
sync0rw.ic branches/zip: Merge 1664:1783 from trunk. 2007-08-30 09:21:25 +00:00
sync0sync.h branches/zip: sync0sync.h: Define mutex_free as mutex0_free, because symbols 2007-11-01 20:36:51 +00:00
sync0sync.ic branches/zip: 2007-09-27 15:15:51 +00:00
sync0types.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
thr0loc.h Import 5.0 code. 2005-10-27 07:29:40 +00:00
thr0loc.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
trx0i_s.h branches/zip: 2008-01-16 06:45:16 +00:00
trx0purge.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
trx0purge.ic branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
trx0rec.h branches/zip: Add comments that clarify why the remaining calls to 2008-01-14 10:04:45 +00:00
trx0rec.ic branches/zip: Merge branches/fast-index-creation -r1413. 2007-04-04 11:05:33 +00:00
trx0roll.h branches/zip: trx_rollback_or_clean_all_without_sess(): Rename to 2007-10-30 08:25:01 +00:00
trx0roll.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
trx0rseg.h branches/zip: Allow a build with UNIV_PAGE_SIZE set to 4096. 2007-12-20 22:09:22 +00:00
trx0rseg.ic branches/zip: Remove the fil_space_get_zip_size() call from 2007-01-18 09:59:00 +00:00
trx0sys.h branches/zip: trx0sys.h: Add a compile-time check that UNIV_PAGE_SIZE 2007-12-20 13:37:03 +00:00
trx0sys.ic branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG. 2007-01-18 18:29:12 +00:00
trx0trx.h branches/zip: ha_innobase::final_drop_index(): Allocate a separate transaction 2007-11-29 10:34:55 +00:00
trx0trx.ic branches/zip: trx_set_dict_operation(): Allow a transition from 2007-10-22 08:10:13 +00:00
trx0types.h branches/zip: 2007-12-20 14:24:57 +00:00
trx0undo.h branches/zip: Merge revisions 1402:1493 from trunk. 2007-05-14 09:07:15 +00:00
trx0undo.ic branches/zip: Add explicit type casts to *.ic, because C++ does not allow 2007-08-01 10:38:07 +00:00
trx0xa.h branches/zip: Merge revisions 720:765 from trunk and reindent the code 2006-08-29 09:30:31 +00:00
univ.i branches/zip: Allow the uncompressed page size to be settable by setting 2007-12-20 13:23:23 +00:00
usr0sess.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
usr0sess.ic Import 5.0 code. 2005-10-27 07:29:40 +00:00
usr0types.h branches/zip: Merge revisions 200:236 from trunk. 2006-02-23 19:25:29 +00:00
ut0byte.h branches/zip: Silence most GCC 4.2.1 warnings about const pointers. 2007-10-03 12:22:29 +00:00
ut0byte.ic branches/zip: 2008-01-22 18:50:44 +00:00
ut0dbg.h branches/zip: 2007-10-29 13:03:53 +00:00
ut0list.h branches/zip: Merge revisions 560:583 from trunk. 2006-05-22 09:30:34 +00:00
ut0list.ic branches/zip: Merge revisions 465:532 from trunk. 2006-05-08 06:18:59 +00:00
ut0lst.h branches/zip: Add UNIV_UNLIKELY hints to help branch prediction. 2007-10-26 12:31:48 +00:00
ut0mem.h branches/zip: 2007-10-29 13:03:53 +00:00
ut0mem.ic branches/zip: 2007-10-29 13:03:53 +00:00
ut0rnd.h branches/zip: Add __attribute__((const)) or __attribute__((pure)) 2007-01-03 12:34:54 +00:00
ut0rnd.ic branches/zip: ut_fold_binary(): Adjust a bogus debug assertion. 2007-11-21 08:00:14 +00:00
ut0sort.h branches/zip: Minor performance tuning based on measurement data 2007-10-26 14:05:54 +00:00
ut0ut.h branches/zip: Merge 1830:1862 from trunk. 2007-09-20 08:36:22 +00:00
ut0ut.ic branches/zip: Merge revisions 1322:1402 from trunk. 2007-04-02 05:39:41 +00:00
ut0vec.h branches/zip: Merge revisions 265:459 from trunk. 2006-04-12 09:32:17 +00:00
ut0vec.ic branches/zip: Merge revisions 265:459 from trunk. 2006-04-12 09:32:17 +00:00
ut0wqueue.h branches/zip: Merge revisions 465:532 from trunk. 2006-05-08 06:18:59 +00:00