Commit graph

244 commits

Author SHA1 Message Date
guilhem@mysql.com
bccf57fbb2 Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-1717
2004-06-23 23:52:49 +02:00
serg@serg.mylan
c03addab79 merged 2004-06-23 12:36:07 +02:00
serg@serg.mylan
3f1c4ba745 handler interface cleanups:
more logical table/index_flags
  return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
  max_keys and other limits renamed to max_supported_keys/etc
  max_keys/etc are now wrappers to max_supported_keys/etc 
  ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
2004-06-23 12:29:05 +02:00
guilhem@mysql.com
f5d6424487 Robustness feature.
Won't be pushed as is - separate email sent for internal review.
WL#1717 "binlog-innodb consistency".
Now when mysqld starts, if InnoDB does a crash recovery, we use the binlog name
and position retrieved from InnoDB (corresponding to the last transaction
successfully committed by InnoDB) to cut any rolled back transaction from
the binary log. This is triggered by the --innodb-safe-binlog option.
Provided you configure mysqld to fsync() InnoDB at every commit (using
flush_log_at_trx_commit) and to fsync() the binlog at every write
(using --sync-binlog=1), this behaviour guarantees that a master always has
consistency between binlog and InnoDB, whenever the crash happens.
6 tests to verify that it works.
2004-06-20 19:11:02 +02:00
heikki@hundin.mysql.fi
124c2ef4f0 ha_innodb.cc:
Put back the ha_innodb.cc source code lines that were accidentally removed in Jan Lindstrom's push yesterday (he used the account heikki@mysql.com)
2004-06-11 10:21:22 +03:00
guilhem@mysql.com
3d33dc7c77 Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-874
2004-06-10 16:42:07 +02:00
guilhem@mysql.com
e816a757db WL#1689 "Map OPTIMIZE TABLE to ALTER TABLE for InnoDB"
exactly it's mapped to "ALTER TABLE t; ANALYZE TABLE t;"
2004-06-10 16:41:24 +02:00
heikki@hundin.mysql.fi
4a5077a0dd Added function
/***********************************************************************
This function stores binlog offset and flushes logs */


void innobase_store_binlog_offset_and_flush_log(char *binlog_name,longlong offset) 
requested by Guilhem to ha_innodb.cc and ha_innodb.h. 

Change made by Jan.Lindstrom@innodb.com
2004-06-10 15:01:16 +03:00
jplindst@t41.(none)
d6e1e47bbe Added function innobase_store_binlog_offset_and_flush_log requested by Guilhem
to ha_innodb.cc and ha_innodb.h
2004-06-08 15:38:22 +03:00
heikki@hundin.mysql.fi
d9dc42b5be ha_innodb.cc:
Fix Bug #4047: remove the improvement ported from 4.0 that made InnoDB to remember the original select_lock_type inside LOCK TABLES
2004-06-08 10:41:14 +03:00
monty@mysql.com
e6c5715126 after merge fixes 2004-06-02 12:13:49 +03:00
monty@mysql.com
70c2256d2f Merge with 4.0 to get fixes for netware 2004-06-02 00:09:14 +03:00
heikki@hundin.mysql.fi
aac5c88bcd row0mysql.c, row0mysql.h, ha_innodb.cc:
Inside LOCK TABLES, use either LOCK_S or LOCK_X in locking reads; an improvent over the previous patch
2004-06-01 19:19:48 +03:00
marko@hundin.mysql.fi
df8f605609 InnoDB: Do not get a lock for consistent reads (Bug #3894) 2004-05-31 16:33:45 +03:00
marko@hundin.mysql.fi
fc85c80b88 InnoDB cleanup:
Disable log archiving code unless #ifdef UNIV_LOG_ARCHIVE
Remove (char*) casts of string constants; add const qualifiers
Remove some Hot Backup code unless #ifdef UNIV_HOTBACKUP
2004-05-27 15:27:43 +03:00
monty@mysql.com
86a966256b Added support for projects 'classic', 'classic nt', 'pro' and 'pro nt'
Ensured that all projects compile
Removed compiler warnings
Better setting of server_version variable.
Fix that make_win_src_distribution creates the privilege tables.
2004-05-19 16:38:12 +03:00
monty@mysql.com
cd3dab49cc Merge with 4.0.20 2004-05-17 01:52:13 +03:00
monty@mishka.local
314a8bf114 key_cmp -> key_cmp_if_same
New records_in_range() interface (similar to read_range())
Macros for faster bitmap handling
Simplify read_range() code (#WL1786)
New general key_cmp() function to compare keys
2004-05-16 14:48:32 +03:00
monty@mysql.com
1e860400f3 Extra safety fixes (probably not needed, but can't hurt) 2004-05-15 09:08:03 +03:00
heikki@hundin.mysql.fi
02f51ccf2d Many files:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
2004-05-14 16:48:56 +03:00
heikki@hundin.mysql.fi
d2649c110a ha_innodb.cc, trx0trx.h, lock0lock.c, trx0trx.c:
Reserve the MySQL LOCK_thread_count mutex when printing thd->query of
an arbitrary transaction; if we are printing thd->query of a transaction that
we know is currently executing inside InnoDB, then we know that MySQL cannot
meanwhile change thd->query, and no need to reserve the MySQL mutex; note
that this patch still leaves open the possibility of races in MySQL's
thd->query_len
2004-05-13 22:07:51 +03:00
heikki@hundin.mysql.fi
cafad010a6 ha_innodb.cc:
A flawed fix of the thd->query race in SHOW INNODB STATUS; see the comments in code about how to fix this properly; we cannot use LOCK_thread_count to protect thd->query, because that will cause a deadlock of threads
2004-05-13 20:02:05 +03:00
marko@hundin.mysql.fi
077f0812fc ha_innodb.cc:
innobase_mysql_print_thd(): protect thd with LOCK_thread_count (Bug #3596)
2004-05-13 16:18:39 +03:00
marko@hundin.mysql.fi
17d5da7e33 InnoDB: avoid some data races in innobase_mysql_print_thd() (Bug #3596) 2004-05-12 16:44:53 +03:00
monty@mysql.com
28673669a4 Merge with 4.0 to get security patch for check_grant_colum 2004-05-06 13:42:26 +03:00
monty@mysql.com
d21d49a32a Merge with 4.0.19 2004-05-05 17:05:24 +03:00
marko@hundin.mysql.fi
d15b0b577d InnoDB portability fix: new function os_file_set_eof() 2004-05-05 15:54:28 +03:00
monty@mysql.com
e51887b050 Portability fix 2004-05-05 14:40:44 +03:00
marko@hundin.mysql.fi
fc7ae6a222 InnoDB: Truncate "<datadir>/innodb.status.<pid>" to its actual size
(Bug #3596)
2004-05-05 11:50:58 +03:00
guilhem@mysql.com
6a6d5ef75e trying to remove Windows compiler warnings (Miguel, could you please check if it's better now?) 2004-05-03 23:35:11 +02:00
marko@hundin.mysql.fi
a490b95b04 InnoDB: implement LOCK TABLE (Bug #3299) 2004-04-29 16:42:33 +03:00
monty@mishka.local
e9cfe01db0 After merge fixes
Changed 'SHOW FIELD STATUS' to use 'Engine' instead of 'Type'
2004-04-27 15:33:40 +03:00
monty@mishka.local
21fd1d270e Merge with 4.0 2004-04-26 15:53:31 +03:00
heikki@hundin.mysql.fi
7d3e633edc ha_innodb.cc, sync0sync.h, sync0sync.c:
Use only noninlined InnoDB functions in ha_innodb.cc
2004-04-09 22:18:18 +03:00
serg@serg.mylan
e8eda8129f ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
Field::val_str simplification, comment
2004-04-06 21:35:26 +02:00
marko@hundin.mysql.fi
6af38c65be InnoDB: send diagnostic output to stderr or files
instead of stdout or fixed-size memory buffers
2004-04-06 16:14:43 +03:00
monty@mysql.com
0013516951 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-04-05 16:28:16 +03:00
marko@hundin.mysql.fi
f7f8efc263 InnoDB: Backport fil_path_to_mysql_datadir from MySQL 4.1.x 2004-04-05 15:40:56 +03:00
monty@mysql.com
42cf92ce37 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly
2004-04-05 13:56:05 +03:00
marko@hundin.mysql.fi
23a5fc5558 InnoDB: ignore intra-database foreign key references between tables
when dropping database (Bug #3058)
2004-04-02 16:25:48 +03:00
dlenev@jabberwock.localdomain
f6bff2e6c6 WL#1266 "Separate auto-set logic from TIMESTAMP type."
Final version of patch.

Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
clauses for TIMESTAMP field definition.
Current implementation allows only one such field per table and
uses several unireg types for storing info about this properties of
field. It should be replaced with better implementation when new
.frm format is introduced.
2004-04-02 10:12:53 +04:00
marko@hundin.mysql.fi
e00bf40360 InnoDB cleanup: fixing buffer overflows and quoting of quotes 2004-04-01 16:51:34 +03:00
monty@mysql.com
53c810cda4 merge fixes (use old code) 2004-03-18 00:16:04 +02:00
heikki@hundin.mysql.fi
43706715da ha_innodb.cc:
Add a comment that InnoDB always retrieves the row id, if the clustered index was internally generated by InnoDB. Then we know the 'ref' to the row.
2004-03-17 22:28:49 +02:00
heikki@hundin.mysql.fi
e8efe9c32a Many files:
Fix Bug #1942: do not retrieve all columns in a table if we only need the 'ref' of the row (usually, the PRIMARY KEY) to calculate an ORDER BY
2004-03-17 19:37:48 +02:00
monty@mysql.com
350b433569 merge with 4.0 2004-03-16 22:41:30 +02:00
acurtis@pcgem.rdg.cyberkinetica.com
0a27eef814 Cleanup ha_checktype() and redundant variables. 2004-03-02 10:08:50 +00:00
guilhem@mysql.com
bce65d4b76 Fix for BUG#3015
"(binlog, position) stored by InnoDB for a replication slave can be wrong".
This code contains conditional #if to distinguish between versions;
it should be merged into 4.1 and 5.0.
2004-03-01 15:15:58 +01:00
heikki@hundin.mysql.fi
b35e1f01bb ha_innodb.cc:
Add diagnostic code to analyze an assertion failure in ha_innodb.cc on line 2020 reported by a user (Bug #2903)
2004-02-24 17:38:47 +02:00
monty@mashka.mysql.fi
1ae05760ac Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mashka.mysql.fi:/home/my/mysql-4.1
2004-02-22 11:01:28 +02:00