Commit graph

177 commits

Author SHA1 Message Date
osku
0c87a9abcc sym_tab_add_id(): Fix bug where we generated a string one character too
long.
2006-03-28 09:35:33 +00:00
osku
05e97fc7c7 Add make_flex.sh and update lexer/parser generation documentation. 2006-03-28 09:32:48 +00:00
osku
57341d4425 Port r371 and r372 from branches/fts:
Add support for the EXIT keyword in InnoDB's SQL parser.

Add short introduction to query graphs.
2006-03-28 06:41:31 +00:00
jan
dd35291070 Port r375 from branches/5.0: Fix bug #15650 additional error InnoDB:
Error: unlock row could not find a 0 mode lock on the record.
2006-03-28 06:34:12 +00:00
jan
1bd22ab327 Setting a isolation level of the transaction to read committed
weakens the locks for this session similarly like the option
innodb_locks_unsafe_for_binlog. This patch removes almost all
gap locking (used in next-key locking) and makes MySQL to release
the row locks on the rows which does not belong to result set.
Additionally, nonlocking selects on INSERT INTO SELECT,
UPDATE ... (SELECT ...), and CREATE ... SELECT ... use a
nonlocking consistent read. If a binlog is used, then binlog
format should be set to row based binloging to make the execution
of the complex SQL statements.
2006-03-27 05:33:30 +00:00
osku
f58fa91cdc fetch_step(): Print a more useful error message when the cursor is closed. 2006-03-22 13:23:07 +00:00
heikki
49da24d881 Remove yet another typo from my last commit. 2006-03-22 12:28:19 +00:00
heikki
4e048a2a16 Fix yet another typo in my previous commit. 2006-03-22 09:47:01 +00:00
heikki
564547b2a5 Fix a typo in my previous commit. 2006-03-21 16:08:43 +00:00
heikki
2f2c5642f6 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
df5ec8b2f3 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
ea96a298fe 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
f015b825fe 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
9243694086 Add "-Werror-implicit-function-declaration" to CFLAGS when using gcc. 2006-03-17 11:36:16 +00:00
marko
43a21f6ed4 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
04a6b95788 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
2a574b90b3 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
fc82d3349e Fix compilation problem with non-C99 compilers in btr0sea.c. 2006-03-14 07:58:35 +00:00
jan
675d29fe96 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
8f6fdc86a8 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
a7af1d399b 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
5317b07a9b Merge changes from MySQL that were identified when merging r269 to MySQL. 2006-03-10 14:26:08 +00:00
osku
7340e52d1f 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
3c1b6a2120 Port parts of r262 from branches/fts:
Add HASH_MIGRATE().
2006-03-10 11:01:41 +00:00
osku
1fe034de27 Port parts of r211 from branches/fts:
Add ut_strcount() and ut_strreplace().
2006-03-10 11:00:58 +00:00
osku
282157268b Port parts of r211 from branches/fts:
Add dict_table_get_low_noninlined().
2006-03-10 10:58:58 +00:00
osku
7a50ba7f06 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
c75fa5afb4 Print dict_index_t->n_uniq in table monitor. 2006-03-07 14:04:52 +00:00
osku
7b9c5bc6a2 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
243e54a1f3 Remove two redundant casts from calls to ut_print_buf. 2006-03-06 12:51:50 +00:00
osku
52d2051e95 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
c016a86f16 Remove trailing whitespaces and fix style on function comments. 2006-03-02 07:57:10 +00:00
osku
d98d98e200 row0mysql.c: Replace tabs within strings with spaces. 2006-03-02 07:35:23 +00:00
jan
e671330bb0 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
5a53c8b6d5 Fix assert in HASH_DELETE so it actually tests something useful. 2006-02-28 13:32:12 +00:00
osku
1a8f28e6dd 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
ab8517f396 Fix invalid brace positioning and spaces before tabs. 2006-02-24 09:53:01 +00:00
osku
591e526f93 Remove tabs from within printed strings and two instances of trailing
whitespace.
2006-02-24 09:41:20 +00:00
osku
94586a0db6 Add TAGS to svn:ignore. 2006-02-24 07:18:44 +00:00
marko
e9b3cc0de9 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
6d7aec8d1f Fix wrong placement of static keyword in a few places. 2006-02-23 11:35:28 +00:00
marko
95d14fea94 Merge r103 from hotbackup/trunk.
os_file_create_tmpfile(): Remove the implementation #ifdef UNIV_HOTBACKUP.
2006-02-22 20:57:10 +00:00
osku
b5ebf0b4be 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
ac69f8c21b Style cleanups: Convert spaces to tabs, remove trailing whitespace, other
misc cleanups.
2006-02-21 12:37:54 +00:00
marko
9596f6d82d 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
a7fe649737 Fix typo in r216: replace 5.1.19 with 5.1.7 2006-02-20 15:51:49 +00:00
marko
3313036110 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
460042ef0d Remove the concept of "field order", as we will not support descending order
indexes.
2006-02-20 12:38:10 +00:00
osku
44a14a1791 Fix all function declarations to have the correct number of '=' characters. 2006-02-20 12:12:22 +00:00
osku
5ea7253fae 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