1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-02 19:25:03 +03:00

1077 Commits

Author SHA1 Message Date
monty@mysql.com
e42c980967 Table definition cache, part 2
The table opening process now works the following way:
- Create common TABLE_SHARE object
- Read the .frm file and unpack it into the TABLE_SHARE object
- Create a TABLE object based on the information in the TABLE_SHARE
  object and open a handler to the table object

Other noteworthy changes:
- In TABLE_SHARE the most common strings are now LEX_STRING's
- Better error message when table is not found
- Variable table_cache is now renamed 'table_open_cache'
- New variable 'table_definition_cache' that is the number of table defintions that will be cached
- strxnmov() calls are now fixed to avoid overflows
- strxnmov() will now always add one end \0 to result
- engine objects are now created with a TABLE_SHARE object instead of a TABLE object.
- After creating a field object one must call field->init(table) before using it

- For a busy system this change will give you:
 - Less memory usage for table object
 - Faster opening of tables (if it's has been in use or is in table definition cache)
 - Allow you to cache many table definitions objects
 - Faster drop of table
2005-11-23 22:45:02 +02:00
unknown
136c91ddf6 BUG #14524
Patch that fixes crashing when partition uses blackole for 
underlying tables.


mysql-test/r/partition.result:
  BUG #14524 New test result
mysql-test/t/partition.test:
  BUG #14524
  
  New test
sql/ha_partition.cc:
  BUG# 14524
  
  Added new class var m_no_locks to keep track of the absense of locks. If 
  '0', then lock_count returns 0, which keeps thr_multi_lock from crashing
  in the case of the underlying table being ha_blackhole.
sql/ha_partition.h:
  BUG #14524
  
  Added new class var m_no_locks to keep track of lock count
sql/lock.cc:
  BUG #14524
  
  DBUG PRINTs and ENTERs to make tracking the bug easier. I think these are 
  useful regardless of this bug.
sql/sql_partition.cc:
  BUG #14524
  
  Changed umlaut o to allow fixing bug 14524 using DDD (file would not display
  in DDD)
2005-11-18 17:02:27 -08:00
patg@krsna.patg.net
f6cd0148b8 BUG #14524
Patch that fixes crashing when partition uses blackole for 
underlying tables.
2005-11-18 17:02:27 -08:00
unknown
ba009e820e some small changes to help get 5.1 compiling cleanly on Windows and with Visual C++ 2005 2005-11-07 17:15:23 +01:00
reggie@poseidon.ndb.mysql.com
473dac3541 some small changes to help get 5.1 compiling cleanly on Windows and with Visual C++ 2005 2005-11-07 17:15:23 +01:00
unknown
6b3a9caef9 Make storage engines "pluggable", handlerton work
Makefile.am:
  Changes to autoconf subst
config/ac-macros/ha_berkeley.m4:
  simplify
config/ac-macros/ha_ndbcluster.m4:
  simplify
config/ac-macros/ha_partition.m4:
  simplify
configure.in:
  strip configure of storage engine specific cruft and simplify
extra/Makefile.am:
  changes to autoconf/automake subst
libmysqld/Makefile.am:
  only compile storage engines if required.
  make find object file a little smarter
libmysqld/examples/Makefile.am:
  changes to autoconf subst
mysql-test/Makefile.am:
  remove storage engine specific cruft
mysql-test/r/ps_1general.result:
  cannot gaurantee order of results from 'show storage engines'
mysql-test/r/show_check.result:
  fix test - frm file fails to be deleted if it is invalid
mysql-test/r/sql_mode.result:
  isam does not exist, test may need to be redone/fixed in 5.0
mysql-test/r/warnings.result:
  isam no longer exists
mysql-test/t/ps_1general.test:
  cannot gaurantee order of results from 'show storage engines'
mysql-test/t/show_check.test:
  fix test - frm file fails to be deleted if it is invalid
mysql-test/t/sql_mode.test:
  isam does not exist, test may need to be redone/fixed in 5.0
mysql-test/t/system_mysql_db_fix.test:
  change isam to myisam
mysql-test/t/view.test:
  change isam to myisam
mysql-test/t/warnings.test:
  isam no longer exists
sql/Makefile.am:
  Make storage engines "pluggable" stage 1
  only compile storage engines if included
sql/examples/ha_example.cc:
  handlerton work
sql/examples/ha_example.h:
  handlerton work
sql/examples/ha_tina.cc:
  handlerton work
sql/examples/ha_tina.h:
  handlerton work
sql/ha_archive.cc:
  handlerton work
sql/ha_archive.h:
  handlerton work
sql/ha_berkeley.cc:
  handlerton work
sql/ha_berkeley.h:
  handlerton work
sql/ha_blackhole.cc:
  handlerton work
sql/ha_federated.cc:
  handlerton work
sql/ha_federated.h:
  handlerton work
sql/ha_heap.cc:
  handlerton work
sql/ha_innodb.cc:
  handlerton work
sql/ha_innodb.h:
  handlerton work
sql/ha_myisam.cc:
  handlerton work
sql/ha_myisammrg.cc:
  handlerton work
sql/ha_ndbcluster.cc:
  handlerton work
sql/ha_ndbcluster.h:
  handlerton work
sql/ha_partition.cc:
  handlerton work
sql/handler.cc:
  start removing storage engine specific cruft
sql/handler.h:
  start removing storage engine specific cruft
  db_type for binlog handlerton
  handlerton flag for not-user-selectable storage engines
sql/lex.h:
  start removing storage engine specific cruft
sql/log.cc:
  handlerton work
  give binlog handlerton a 'real' db_type
sql/mysql_priv.h:
  start removing storage engine specific cruft
sql/mysqld.cc:
  start removing storage engine specific cruft
sql/set_var.cc:
  start removing storage engine specific cruft
sql/sp_head.cc:
  start removing storage engine specific cruft
sql/sql_class.cc:
  start removing storage engine specific cruft
sql/sql_class.h:
  start removing storage engine specific cruft
sql/sql_lex.h:
  start removing storage engine specific cruft
sql/sql_manager.cc:
  start removing storage engine specific cruft
sql/sql_manager.h:
  start removing storage engine specific cruft
sql/sql_parse.cc:
  start removing storage engine specific cruft
sql/sql_partition.cc:
  start removing storage engine specific cruft
sql/sql_prepare.cc:
  start removing storage engine specific cruft
sql/sql_show.cc:
  start removing storage engine specific cruft
sql/sql_table.cc:
  changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
  start removing storage engine specific cruft
sql/sql_update.cc:
  changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
sql/sql_yacc.yy:
  start removing storage engine specific cruft
  test if we should throw error
sql/table.cc:
  changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
sql/table.h:
  changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
sql/unireg.cc:
  changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
storage/ndb/include/kernel/kernel_types.h:
  added my_config.h
storage/ndb/include/ndb_global.h.in:
  added my_config.h
storage/ndb/include/ndb_types.h.in:
  added my_config.h
config/ac-macros/storage.m4:
  New BitKeeper file ``config/ac-macros/storage.m4''
sql/handlerton.cc.in:
  New BitKeeper file ``sql/handlerton.cc.in''
2005-11-07 16:25:06 +01:00
acurtis@poseidon.ndb.mysql.com
c01a3b5e5f Make storage engines "pluggable", handlerton work 2005-11-07 16:25:06 +01:00
unknown
9314a20745 Fix of crashed 5.1 tree (wrong merge + wrong pullout patch forced us to create a new 5.1 tree)
This is a merge of 5.0 -> 5.1 + some code from old 5.1 tree to get all tests to work and keep the .frm format the same as the old 5.1 tree.


BitKeeper/etc/ignore:
  added libmysqld/sql_plugin.cc
include/Makefile.am:
  Added plugin.hd
include/m_ctype.h:
  Added my_strchr
include/my_base.h:
  Added HA_USES_PARSER
  Merge with old 5.1 tree
libmysqld/Makefile.am:
  Added sql_plugin.cc
mysql-test/r/ndb_gis.result:
  Fixed results after merge
sql/Makefile.am:
  Addes sql_plugin.h and sql_plugin.cc
sql/ha_heap.h:
  Indentation fix
sql/ha_partition.cc:
  Made partition_hton visible outside
  After merge fixes (for call to get_new_handler)
sql/handler.cc:
  Added partition_hton to handlerton
sql/handler.h:
  Added partion to handlerton
  Updated mysql_unpack_partion() from old 5.1 tree
sql/mysql_priv.h:
  Added sql_plugin.h
sql/records.cc:
  After merge fix
sql/share/errmsg.txt:
  Added new errors messages from old 5.1 tree
sql/sql_partition.cc:
  Removed compiler warnings
  Updated mysql_unpack_partition() from latest 5.1 tree
sql/structs.h:
  Update KEY from latest 5.1 tree (to get table.cc to compile)
sql/table.cc:
  Merged .frm format from 5.0, new 5.1 and old 5.1 tree
  (We now use same format as the old 5.1 tree)
  Note that this patch includes code for HA_USE_PARSER which is not usable until rest of 5.1 tree is restored
sql/unireg.cc:
  Merged .frm format from 5.0, new 5.1 and old 5.1 tree
  (We now use same format as the old 5.1 tree)
  Note that this patch includes code for HA_USE_PARSER which is not usable until rest of 5.1 tree is restored
strings/Makefile.am:
  Added my_strchr.c
include/plugin.h:
  New BitKeeper file ``include/plugin.h''
sql/sql_plugin.cc:
  New BitKeeper file ``sql/sql_plugin.cc''
sql/sql_plugin.h:
  New BitKeeper file ``sql/sql_plugin.h''
strings/my_strchr.c:
  New BitKeeper file ``strings/my_strchr.c''
2005-11-05 13:20:35 +02:00
monty@mysql.com
cdf64f0f57 Fix of crashed 5.1 tree (wrong merge + wrong pullout patch forced us to create a new 5.1 tree)
This is a merge of 5.0 -> 5.1 + some code from old 5.1 tree to get all tests to work and keep the .frm format the same as the old 5.1 tree.
2005-11-05 13:20:35 +02:00
unknown
11c503567f Handle default engine type better for
partitioned tables


mysql-test/r/partition.result:
  New test cases for SHOW CREATE TABLE
mysql-test/r/partition_range.result:
  New test cases for SHOW CREATE TABLE
mysql-test/t/partition.test:
  New test cases for SHOW CREATE TABLE
mysql-test/t/partition_range.test:
  New test cases for SHOW CREATE TABLE
sql/handler.h:
  Handle default engine type better
sql/sql_partition.cc:
  Handle default engine type better
sql/sql_show.cc:
  Handle default engine type better
sql/sql_table.cc:
  Handle default engine type better
sql/sql_yacc.yy:
  Handle default engine type better
sql/table.cc:
  Handle default engine type better
sql/unireg.cc:
  Handle default engine type better
2005-09-20 10:29:59 -04:00
pappa@c-1309e253.1238-1-64736c10.cust.bredbandsbolaget.se
2530fcde11 Handle default engine type better for
partitioned tables
2005-09-20 10:29:59 -04:00
unknown
4e0c218194 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into  c-0d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1


sql/sql_partition.cc:
  Auto merged
2005-09-14 18:16:36 -04:00
pappa@c-0d08e253.1238-1-64736c10.cust.bredbandsbolaget.se
b636832ba1 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into  c-0d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1
2005-09-14 18:16:36 -04:00
unknown
dc4e76ca78 Bug #13154:
Used AND when modulo should have been used to calculate partition id
for PARTITION BY KEY and SUBPARTITION BY KEY


mysql-test/r/partition.result:
  New test for Bug #13154
mysql-test/t/partition.test:
  New test for Bug #13154
2005-09-14 18:15:40 -04:00
pappa@c-0d08e253.1238-1-64736c10.cust.bredbandsbolaget.se
1494ef61c7 Bug #13154:
Used AND when modulo should have been used to calculate partition id
for PARTITION BY KEY and SUBPARTITION BY KEY
2005-09-14 18:15:40 -04:00
unknown
4ab6caf6fb Bug #13179 partition info in mysqldump makes it hard to use dump in different sized cluster 2005-09-14 17:30:23 +02:00
tulin@dl145c.mysql.com
b127139206 Bug #13179 partition info in mysqldump makes it hard to use dump in different sized cluster 2005-09-14 17:30:23 +02:00
unknown
8d7cbdacae Test to see if my commit emails go through 2005-08-26 21:11:56 -04:00
pappa@c-4a09e253.1238-1-64736c10.cust.bredbandsbolaget.se
4c9216a37b Test to see if my commit emails go through 2005-08-26 21:11:56 -04:00
unknown
c4beb17f79 Merge 5.0 -> 5.1
Fixes +
Adapted to new name resolution context after WL #2486


sql/sql_base.cc:
  Merge error fix + bug fix
sql/sql_partition.cc:
  Adapted to new name resolution context after WL #2486
2005-08-26 20:56:19 -04:00
pappa@c-4a09e253.1238-1-64736c10.cust.bredbandsbolaget.se
d6f11ee980 Merge 5.0 -> 5.1
Fixes +
Adapted to new name resolution context after WL #2486
2005-08-26 20:56:19 -04:00
unknown
7b79f72885 WL #2602, #2603, #2604
Added new syntax for partition management


mysql-test/t/partition_error.test:
  New line
sql/ha_partition.cc:
  Added support for DROP PARTITION on-line
sql/ha_partition.h:
  Added support for DROP PARTITION on-line
sql/handler.h:
  Introduced state of partition
  Introduced extra list of temporary partitions
  Removed no_full_parts
  A couple of methods to check for duplicate names of partitions
  Adaptions of default checks to be useful from ALTER TABLE
  partition management
  New method on handler to drop partitions
  New method to check for foreign keys on table
sql/lex.h:
  COALESCE and REORGANISE used by ALTER TABLE x COALESCE/REORGANISE PARTITION
sql/mysql_priv.h:
  Parser needs method to check if partition management command is ongoing
sql/share/errmsg.txt:
  A number of new error messages for partition management
sql/sql_lex.h:
  Adapted the ALTER_INFO data structure for partition management
sql/sql_partition.cc:
  Couple of new routines + adaption of existing for new
  partition management functionality
sql/sql_table.cc:
  bin log writing into separate subroutine to minimise code
  duplication.
  Lots of new code to handle partition management
sql/sql_yacc.yy:
  New syntax for partition management
  Fixed a few errors in the parser part for partitioning
2005-08-19 10:26:05 -04:00
pappa@c-4a09e253.1238-1-64736c10.cust.bredbandsbolaget.se
5e91e260e6 WL #2602, #2603, #2604
Added new syntax for partition management
2005-08-19 10:26:05 -04:00
unknown
39803f9d3d BUG #12097 patch
sql/handler.h:
  Fixed so that I store list of longlong's for list and
  a longlong value for range end instead of an item tree
  reference.
sql/sql_partition.cc:
  Fixed so that I store list of longlong's for list and
  a longlong value for range end instead of an item tree
  reference.
sql/sql_yacc.yy:
  Fixed so that I store list of longlong's for list and
  a longlong value for range end instead of an item tree
  reference.
2005-07-22 14:47:05 -04:00
pappa@c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se
e08a37bcdf BUG #12097 patch 2005-07-22 14:47:05 -04:00
unknown
cd483c5520 Patch for push of wl1354 Partitioning 2005-07-18 13:31:02 +02:00
mronstrom@mysql.com
67087e2aa7 Patch for push of wl1354 Partitioning 2005-07-18 13:31:02 +02:00