Commit graph

120 commits

Author SHA1 Message Date
heikki
66240ae3a4 Fix yet another typo in my previous commit. 2006-03-22 09:47:01 +00:00
heikki
92b206b9ec Fix a typo in my previous commit. 2006-03-21 16:08:43 +00:00
heikki
afc3c21a9e Fix MySQL-5.1 bug http://bugs.mysql.com/bug.php?id=17992 and its
duplicate http://bugs.mysql.com/bug.php?id=17134 : MySQL's partitioned 
table code does not set prebuilt->sql_stat_start right if it does an 
insert in the same statement after doing a search first in the same 
partition table. We now write trx id always to the buffer, not just when 
flag sql_stat_start is on. This will waste CPU time very slightly.
2006-03-21 15:57:55 +00:00
jan
62dcf3fba2 Merge r357 from branches/5.0: Fix bug #18350 Use consistent read in
CREATE ... SELECT... if innodb_locks_unsafe_for_binlog is used. 
This patch is from Heikki.
2006-03-21 10:00:30 +00:00
marko
b00019ef43 Merge r355 from branches/5.0: Remove a memory leak when trying to insert
a duplicate record to a clustered index comprising
more than about 90 columns.  (Bug #18384)

row_ins_duplicate_error_in_clust(): Call mem_heap_free(heap) at func_exit
if needed.
2006-03-21 09:15:28 +00:00
osku
ee99d219a8 Add support for UNSIGNED types in InnoDB's SQL parser.
Remove trailing whitespace from flex/bison input files.
2006-03-17 12:44:34 +00:00
osku
c126762bea Add "-Werror-implicit-function-declaration" to CFLAGS when using gcc. 2006-03-17 11:36:16 +00:00
marko
caf6ee67eb Merge r328:340 from branches/5.0:
r340: Fix http://bugs.mysql.com/bug.php?id=18283 in ha_innodb.cc and
http://bugs.mysql.com/bug.php?id=18238 in InnoDB

r339: Remove disk space leak on update of BLOB columns (Bug #18252).

btr_cur_pessimistic_update(): Invoke rec_get_offsets() after
rec_set_field_extern_bits().

btr_store_big_rec_extern_fields(): Note that offsets will no longer be
valid after calling this function.

r338: Fix bug 18238 : check in pessimistic insert and update if the buffer
pool is exhausted by locks
2006-03-17 08:20:14 +00:00
osku
08debc00d8 Add (void*) casts when using the %p printf format specifier.
When using GCC, use __inline__ instead of inline.

Add disabled-by-default logic to configure.in to switch GCC to a strict
C89-mode.
2006-03-16 07:47:55 +00:00
marko
33961d88d6 Merge r328 from branches/5.0:
Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.

page_rec_is_comp(): Remove the bounds check.

row_sel_field_store_in_mysql_format(): Turn the assertions on mbminlen,
mbmaxlen and templ->type into debug assertions.
2006-03-15 11:02:14 +00:00
osku
632799a8a1 Fix compilation problem with non-C99 compilers in btr0sea.c. 2006-03-14 07:58:35 +00:00
jan
8e7ffddcff Forward port r315 from branches/5.0:
Fix a bug #18077 InnoDB uses full explicit table locks in
stored FUNCTION.
2006-03-13 09:51:38 +00:00
marko
7c145068d1 Do not use inlined functions in ha_innodb.cc.
Add dict_table_is_comp_noninline().  Replace calls to dict_table_is_comp()
in ha_innodb.cc with dict_table_is_comp_noninline().
2006-03-13 09:27:34 +00:00
marko
77ea4442ca Replace buf_block_align(btr_cur_get_page()) with
buf_block_align(btr_cur_get_rec()).
2006-03-10 14:41:44 +00:00
marko
d62f8b7dc4 Merge changes from MySQL that were identified when merging r269 to MySQL. 2006-03-10 14:26:08 +00:00
osku
02a691bfda Port parts of r297 from branches/fts:
row_upd_index_replace_new_col_vals_index_pos(): Add a parameter, "ibool
order_only", for limiting the replacement to the ordering fields of the
index. Adjust callers.

 In this port, the comment for the parameter was adjusted to make it clear
 that it only supports clustered indexes.
2006-03-10 11:06:33 +00:00
osku
82ddfc2872 Port parts of r262 from branches/fts:
Add HASH_MIGRATE().
2006-03-10 11:01:41 +00:00
osku
803356ed32 Port parts of r211 from branches/fts:
Add ut_strcount() and ut_strreplace().
2006-03-10 11:00:58 +00:00
osku
d92521c793 Port parts of r211 from branches/fts:
Add dict_table_get_low_noninlined().
2006-03-10 10:58:58 +00:00
osku
feedcc9ed5 Port r292 from branches/fts:
Move printing of dfield_t values from dtuple_print to a new function,
dfield_print_raw.
2006-03-08 13:30:54 +00:00
osku
69ba62bb5b Print dict_index_t->n_uniq in table monitor. 2006-03-07 14:04:52 +00:00
osku
ce22ff141b sync0arr.c: Fix compilation error on some systems by introducing all
variables at the start of a block.
2006-03-07 12:57:02 +00:00
osku
343a031b5d Remove two redundant casts from calls to ut_print_buf. 2006-03-06 12:51:50 +00:00
osku
a7355764e9 Change ut_print_buf() and mem_analyze_corruption() to take a void*, not a
byte*. Remove redundant casts from callers.
2006-03-06 09:45:04 +00:00
jan
ab31234569 Remove trailing whitespaces and fix style on function comments. 2006-03-02 07:57:10 +00:00
osku
0e69c15dc6 row0mysql.c: Replace tabs within strings with spaces. 2006-03-02 07:35:23 +00:00
jan
758331dc00 Fix for bug #12456: Cursor shows incorrect data - DML does not affect,
probably caching. Fixed test results.

This patch implements a high-granularity read view to be used with
cursors. In this high-granularity consistent read view modifications 
done by the creating transaction after the cursor is created or 
future transactions are not visible. But those modifications that 
transaction did before the cursor was created are visible.
2006-03-01 07:47:14 +00:00
osku
4b62d9b8f4 Fix assert in HASH_DELETE so it actually tests something useful. 2006-02-28 13:32:12 +00:00
osku
78971825b2 Remove "ibool comp" from dict_table_t and replace it with "ulint flags"
which can contain the new flag DICT_TF_COMPACT. Change dict_mem_table_create
to take a flags argument. Add dict_table_is_comp(). Adapt all users.

Change some places to explicitly assume that system tables do not use the
compact page format.
2006-02-27 09:11:57 +00:00
osku
8505ff17c8 Fix invalid brace positioning and spaces before tabs. 2006-02-24 09:53:01 +00:00
osku
f6796c0129 Remove tabs from within printed strings and two instances of trailing
whitespace.
2006-02-24 09:41:20 +00:00
osku
70ae3267b9 Add TAGS to svn:ignore. 2006-02-24 07:18:44 +00:00
marko
7836696ad5 Add dummy return statements to the #ifdef UNIV_HOTBACKUP branches of some
functions that are excluded from InnoDB Hot Backup builds.
2006-02-23 13:12:36 +00:00
osku
4c4d3cbc32 Fix wrong placement of static keyword in a few places. 2006-02-23 11:35:28 +00:00
marko
0faca2e918 Merge r103 from hotbackup/trunk.
os_file_create_tmpfile(): Remove the implementation #ifdef UNIV_HOTBACKUP.
2006-02-22 20:57:10 +00:00
osku
91a43f7ed1 Port r225 from branches/5.0:
Fix memory allocation bug (by changing MY_WME to MY_FAE) in
ha_innodb.cc:get_share.
2006-02-22 12:48:49 +00:00
osku
6be49d6766 Style cleanups: Convert spaces to tabs, remove trailing whitespace, other
misc cleanups.
2006-02-21 12:37:54 +00:00
marko
dbec6d85e4 Merge r102 from hotbackup/trunk.
Corrected some comments.

os_file_create_tmpfile(): Remove the implementation from InnoDB Hot Backup.

In InnoDB Hot Backup builds, do not define dict_casedn_str(),
which is invoked in fil_load_single_table_tablespace() on
Windows.  This function depends on innobase_casedn_str() and
my_casedn_str().

Define btr_check_node_ptr() and data_error only #ifdef UNIV_DEBUG.
They are only being used in ut_ad() assertions.

Replace the occurrences of the type uint with ulint, because InnoDB
Hot Backup does not define any uint data type.

Disable lock_validate() in InnoDB Hot Backup builds.

Disable some unused static variables of srv0srv.c in InnoDB Hot Backup builds.

Disable some srv_table_...() functions in InnoDB Hot Backup builds.

Disable some unused static variables in srv0start.c in
InnoDB Hot Backup builds.

Disable io_handler_thread() in InnoDB Hot Backup builds.

Disable srv_calc_low32() and srv_calc_high32() in InnoDB Hot Backup builds
to avoid warnings about unused functions.

In fil_node_open_file(), avoid bogus assertions in InnoDB Hot Backup builds.

In fil_load_single_table_tablespace(), remove the call to dict_casedn_str(),
as it depends on MySQL code.

Copy the code of recv_reset_log_files_for_backup() from InnoDB Hot Backup.

Disable innobase_mysql_cmp(), cmp_whole_field(), cmp_data_data_slow(),
cmp_dtuple_rec_with_match() and cmp_rec_rec_with_match()
in InnoDB Hot Backup builds, as they depend on MySQL code.

Adapt dtype_set_mblen() and dtype_get_fixed_size() for InnoDB Hot Backup
builds, assuming that they will only be called on system tables, which
do not contain multi-byte characters.

Disable the static functions row_ins_set_exclusive_rec_lock() and
row_ins_dupl_error_with_rec() in InnoDB Hot Backup builds
to avoid warnings about unused functions.

In row_sel_field_store_in_mysql_format(), disable some UTF-8 related
assertions #ifndef UNIV_RELEASE_NOT_YET_STABLE.
2006-02-21 08:43:31 +00:00
marko
33453aedc1 Fix typo in r216: replace 5.1.19 with 5.1.7 2006-02-20 15:51:49 +00:00
marko
d4e8116b57 Set FIL_PAGE_TYPE for every page, so that the field can be relied on in
new tablespaces created from now on.

btr_store_big_rec_extern_fields(): Set FIL_PAGE_TYPE to FIL_PAGE_TYPE_BLOB.

buf_page_print(): Decode FIL_PAGE_TYPE.  Replace if-else with switch().

buf_page_create(): Set FIL_PAGE_PREV, FIL_PAGE_NEXT and FIL_PAGE_TYPE.

trx_sysf_create(): Set FIL_PAGE_TYPE to FIL_PAGE_TYPE_TRX_SYS.
Initialize TRX_SYS_RSEG_SPACE.

FIL_PAGE_TYPE: Document that the field cannot be relied on in older
versions of MySQL/InnoDB.  Add new type codes.

ibuf_bitmap_page_init(): Document that the rest of the page is uninitialized.

ibuf_add_free_page(): Log the setting of FIL_PAGE_TYPE.

fsp_header_init(): Set FIL_PAGE_TYPE to FIL_PAGE_TYPE_FSP_HDR.
Initialize FSP_NOT_USED.

fsp_fill_free_list(): Set FIL_PAGE_TYPE to FIL_PAGE_TYPE_XDES.

fsp_alloc_seg_inode_page(): Set FIL_PAGE_TYPE to FIL_PAGE_INODE.

fseg_create_general(): Set FIL_PAGE_TYPE to FIL_PAGE_TYPE_SYS.
2006-02-20 15:42:49 +00:00
osku
73d3dd79dd Remove the concept of "field order", as we will not support descending order
indexes.
2006-02-20 12:38:10 +00:00
osku
bbdb0f41b2 Fix all function declarations to have the correct number of '=' characters. 2006-02-20 12:12:22 +00:00
osku
3c7bed8c18 Enhance InnoDB SQL parser:
Add support for NOT NULL in column definitions.

 Support INTEGER as an alias for INT.

 Add pars/make_bison.sh to automate parser generation.
2006-02-20 07:51:37 +00:00
osku
621695739d dtype_print(): Fix printing of prtype. 2006-02-17 12:58:39 +00:00
jan
af232ab7fd Merge r199 from branches/5.0:
Port a change from MySQL.

Bug#8841 - CHECKSUM TABLE is broken in MyISAM
Fixed test results.
2006-02-17 07:37:51 +00:00
jan
474b4887de Port a change from MySQL:
WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
Change "duplicate key" message to print key name
instead of key number.
2006-02-17 07:10:22 +00:00
osku
a4f9f1d4e3 Add support for BINARY(n) and BLOB types in the InnoDB SQL parser. 2006-02-16 14:01:42 +00:00
marko
ddf4a2a86e buf_block_init(): Reset magic_n, buf_fix_count and io_fix to avoid
testing uninitialized variables.  (Bug #17405)
2006-02-16 07:27:54 +00:00
marko
aa3995cb92 sync_thread_add_level(): Replace the if-else if-else if-...-else
chain with an equivalent switch block.
2006-02-15 09:15:54 +00:00
marko
e426d93290 Replace assertions on constant conditions with preprocessor conditions. 2006-02-15 09:00:03 +00:00