1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-12 08:01:43 +03:00
Commit Graph

24 Commits

Author SHA1 Message Date
osku
487da7028a Add support for lock waits in the SQL parser. 2006-06-08 06:08:23 +00:00
osku
124d970fcb Changes to InnoDB's SQL parser:
-Change default mode of SELECT from "lock in share mode" to "consistent
 read".

 -Remove support from SELECT for specifying "consistent read".

 -Add support in SELECT for specifying "lock in share mode".

 -Change all uses of SQL parser to specify "lock in share mode".
2006-05-31 05:34:18 +00:00
marko
85ccc78fe3 Adapt InnoDB to the new tablename to filename encoding in MySQL 5.1.
ut_print_name(), ut_print_namel(): Add parameter table_id for distinguishing
names of tables from other identifiers (names of indexes, columns and
constraints).

innobase_convert_from_table_id(), innobase_convert_from_id(),
innobase_convert_from_filename(), innobase_get_charset(): New functions.

dict_accept(), dict_scan_id(), dict_scan_col(), dict_scan_table_name(),
dict_skip_word(), dict_create_foreign_constraints_low():
Add parameter "cs", so that isspace() can be replaced with my_isspace(),
whose operation depends on the connection character set.

dict_scan_id(): Convert the identifier to UTF-8.

dict_str_starts_with_keyword(): New extern function, to replace dict_accept()
in row_search_for_mysql().

mysql_get_identifier_quote_char(): Replaced with innobase_print_identifier().

ha_innobase::create(): Remove the thd->convert_string() call.
Pass the statement to InnoDB in the connection character set
and let InnoDB convert the identifiers to UTF-8.
2006-05-24 10:27:17 +00:00
osku
a6ce71b013 Move trx_commit_for_mysql(trx) calls in row0mysql.c before calls to
row_mysql_unlock_data_dictionary(trx), fixing bug #19727.
2006-05-12 11:13:18 +00:00
osku
20694fdb8f Use bound literals in row_rename_table_for_mysql. 2006-04-17 08:14:04 +00:00
osku
177a588be9 Use bound literals in row_discard_tablespace_for_mysql. 2006-04-13 06:22:52 +00:00
osku
9f461c9082 Use bound literals in row_drop_table_for_mysql. 2006-04-12 18:17:47 +00:00
osku
bb73e5897e Use bound literals in row_truncate_table_for_mysql. 2006-04-12 18:14:06 +00:00
osku
b6e02dd207 Fix bug #18934, "InnoDB crashes when table uses column names like
DB_ROW_ID", by refusing tables that use reserved column names.

Add dict_mem_table_free(), use it instead of duplicating the code everywhere.

Use already existing dict_mem_index_free().

Fix memory leaks in row_create_table_for_mysql() in rare corner cases.
2006-04-11 14:01:17 +00:00
osku
e19af6d512 row_mysql_is_system_table(): Use strncmp, not memcmp, since we don't know
how long the input string is.
2006-04-11 06:53:19 +00:00
osku
a0553ca9ae Support user-function callbacks for processing results of FETCH statements
in InnoDB's SQL parser.
2006-03-29 11:20:29 +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
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
osku
d98d98e200 row0mysql.c: Replace tabs within strings with spaces. 2006-03-02 07:35:23 +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
591e526f93 Remove tabs from within printed strings and two instances of trailing
whitespace.
2006-02-24 09:41:20 +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
ac69f8c21b Style cleanups: Convert spaces to tabs, remove trailing whitespace, other
misc cleanups.
2006-02-21 12:37:54 +00:00
osku
08af835d23 Apply InnoDB-specific parts of the fix for bug #9680, wrong error from
cascading update.
2006-02-10 09:16:35 +00:00
marko
a4f11935e1 Import mysql-5.1-new changeset 1.2011.1.1 (Alexander Barkov):
WL#1324 table name to file name encoding

ha_innobase::create(): do not remove .frm extension

row_is_mysql_tmp_table_name(): replace '#' with '@0023'
2006-01-27 09:41:19 +00:00
marko
e62060724f Implement semi-consistent read to reduce lock conflicts at the cost
of breaking serializability.  (Bug #3300)

ha_innobase::unlock_row(): reset the "did semi consistent read" flag

ha_innobase::was_semi_consistent_read(),
ha_innobase::try_semi_consistent_read(): new methods

row_prebuilt_t, row_create_prebuilt(): add field row_read_type for
keeping track of semi-consistent reads

row_vers_build_for_semi_consistent_read(),
row_sel_build_committed_vers_for_mysql(): new functions

row_search_for_mysql(): implement semi-consistent reads
2006-01-26 10:45:27 +00:00
jan
78e381b659 Port r103 from braches/5.0 to trunk.
Fixed a bug on unlock_row. In a unlock_row we may unlock
only the latest lock granted to this transaction to the row.
2005-12-16 07:21:33 +00:00
osku
7163d59f4a Forward-port r46 from branches/5.0:
Mostly fix bug #13778, when FOREIGN_KEY_CHECKS=0 we still need to check
that datatypes between foreign key references are compatible.

Add test cases (also for bug #9802).
2005-11-16 07:26:20 +00:00
osku
2903c72469 Import 5.0 code. 2005-10-27 07:29:40 +00:00