Commit graph

277 commits

Author SHA1 Message Date
heikki@hundin.mysql.fi
89ecfd7fa6 Many files:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
2004-10-07 20:53:20 +03:00
heikki@hundin.mysql.fi
784445a4ef ha_innodb.cc:
Merge manually the InnoDB mysqldump -l crash patch (crash with LOCK TABLES ... LOCAL) from 4.0 to 4.1; some code cleanup
2004-10-07 16:08:15 +03:00
monty@mysql.com
62f3cd6a31 Merge with 4.0 for 4.1 release
Noteworthy:
- New HANDLER code
- New multi-update-grant-check code
- Table lock code in ha_innodb.cc was not applied
2004-10-06 19:14:33 +03:00
heikki@hundin.mysql.fi
3985d58ad2 ha_innodb.cc:
Raise maximum column prefix len to 767 bytes, so that MySQL can create a column prefix index of 255 UTF-8 characters (each takes 3 bytes at the maximum); add comments about why innobase_get_at_most_n_mbchars() works ok
dict0mem.h:
  Raise maximum column prefix len to 767 bytes, so that MySQL can create a column prefix index of 255 UTF-8 characters (each takes 3 bytes at the maximum)
row0mysql.c:
  If MySQL tries to create a column prefix index longer that 255 UTF-8 characters, give an error, and drop the table from the InnoDB internal data dictionary. MySQL did not drop the table there in its own error handling.
2004-10-05 17:08:22 +03:00
heikki@hundin.mysql.fi
c4c398bce3 ha_innodb.cc:
A partial bugfix to a multibyte charset / column prefix index bug: my_charpos() does not handle right some cases, we try to mask the bug for ASCII chars < 128 in the UTF-8 charset
2004-10-01 21:43:19 +03:00
heikki@hundin.mysql.fi
d7a6614d63 Merge heikki@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-4.1
2004-10-01 20:02:34 +03:00
heikki@hundin.mysql.fi
1390ce0f75 Many files:
Fix bug introduced by the prefix key + multibyte charsets patch today
2004-10-01 20:01:25 +03:00
dlenev@mysql.com
53209cc4fc Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-ryan
2004-10-01 18:55:17 +04:00
dlenev@brandersnatch.localdomain
2511990c97 Support for TIMESTAMP columns holding NULL values. Unlike all other
column types TIMESTAMP is NOT NULL by default, so in order to have 
TIMESTAMP column holding NULL valaues you have to specify NULL as
one of its attributes (this needed for backward compatibility).

Main changes:
Replaced TABLE::timestamp_default_now/on_update_now members with
TABLE::timestamp_auto_set_type flag which is used everywhere
for determining if we should auto-set value of TIMESTAMP field 
during this operation or not. We are also use Field_timestamp::set_time()
instead of handler::update_timestamp() in handlers.
2004-10-01 18:54:06 +04:00
marko@hundin.mysql.fi
76cda983a9 Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1
2004-10-01 14:17:05 +03:00
jan@hundin.mysql.fi
bd5dc4513b Added more comments on the code and made some code polishing. 2004-10-01 13:32:44 +03:00
marko@hundin.mysql.fi
d7ea8e7c6c InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
marko@hundin.mysql.fi
9f92688b64 Made innodb_autoextend_increment accessible as a global variable. 2004-09-30 12:31:41 +03:00
marko@hundin.mysql.fi
c03049dfd9 InnoDB: Corrected typos in DBUG_ statements 2004-09-17 17:16:02 +03:00
jan@hundin.mysql.fi
762c24f29a Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-09-16 21:32:05 +03:00
marko@hundin.mysql.fi
a660499cd9 Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1
2004-09-16 19:09:38 +03:00
heikki@hundin.mysql.fi
d6b4c4f90e row0mysql.h:
Improve the comment on stored_select_lock_type
ha_innodb.cc:
  Let InnoDB remember select_lock_type inside LOCK TABLES, also over plain consistent read SELECTs; fix Bug #5538 : assertion failure when using mysqldump with the -l option; in MERGING this patch to 4.1, there may be PROBLEMS; that is because previous patch was never merged to 4.1; Heikki Tuuri has to polish the code in 4.1 after this patch has been merged.
2004-09-13 19:05:39 +03:00
sergefp@mysql.com
13fdbc99cf Fix for BUG#5117:
* Renamed handler::estimate_number_of_rows to handler::estimate_rows_upper_bound function, which can also return "unknown"
 * made filesort to use full sort buffer if number of rows to sort is not known.
2004-09-13 06:14:25 +04:00
marko@hundin.mysql.fi
934a5c0b99 InnoDB: Add configuration option innodb_autoextend_increment 2004-09-07 16:26:38 +03:00
monty@mysql.com
9d8555c0f0 Merge with 4.0 to get latest bug fixes 2004-09-04 15:59:49 +03:00
jan@hundin.mysql.fi
a48db602dd Fixed unique prefix key bug for multibyte character sets (BUG #4521) for
InnoDB. This fixes also a second part of the same problem with prefix keys
on a multibyte string column for InnoDB.
2004-09-03 15:26:29 +03:00
heikki@hundin.mysql.fi
40c0fde904 ha_innodb.cc:
If ALTER TABLE ... DROP FOREIGN KEY ... fails because of a wrong constraint name, return a table handler error number 150 instead of 152; the value 152 was misleading, as it referred to '152 = Cannot delete a parent row', whereas '150 = Foreign key constraint is incorrectly formed' is less misleading
2004-09-01 16:41:09 +03:00
serg@serg.mylan
62722e7b05 merged 2004-08-20 00:52:43 +02:00
marko@hundin.mysql.fi
1773e759e4 ha_innodb.cc:
innobase_mysql_tmpfile(): call dup() and my_close() on the file
  returned by create_temp_file()
  in order to avoid memory leak caused by my_open() being paired with close()
2004-08-19 23:22:16 +03:00
serg@serg.mylan
e1237cbc53 manually merged 2004-08-18 19:57:55 +02:00
heikki@hundin.mysql.fi
6feb6ea545 srv0start.c, ut0mem.c, ut0dbg.c, ut0dbg.h, srv0start.h:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
mysqld.cc, ha_innodb.cc:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
2004-08-18 01:48:01 +03:00
marko@hundin.mysql.fi
cd6292d219 InnoDB: Use create_temp_file() when available 2004-08-10 14:17:32 +03:00
marko@hundin.mysql.fi
3cb09c9817 InnoDB: Add option for disabling innodb_status.<pid> files.
InnoDB: Implement tmpfile() differently on Windows (Bug #3998)
2004-08-06 15:55:50 +03:00
marko@hundin.mysql.fi
9edc3d8b9d ha_innodb.cc:
ha_innobase::create(): pass the query string as UTF-8
  to row_table_add_foreign_constraints()  (Bug #4649)
2004-07-30 16:08:19 +03:00
jan@hundin.mysql.fi
3ca686c5fb Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-07-21 08:52:12 +03:00
jan@hundin.mysql.fi
0449396a67 Added innodb_locks_unsafe_for_binlog option. This option turns off Innodb
next-key locking. Using this option the locks InnoDB sets on index 
  records do not affect the ``gap'' before that index record. Thus, this option
  allows phantom problem.
2004-07-20 14:15:38 +03:00
serg@serg.mylan
1f0cd873c5 manual merged (blame me!) 2004-07-20 00:53:24 +02:00
marko@hundin.mysql.fi
a323342728 InnoDB: LOCK TABLE clean-up 2004-07-12 16:47:22 +03:00
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