mariadb/myisam/mi_static.c
unknown b21cf962e3 concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
myisam_max_extra_sort_file_size is depricated
Ensure that myisam_data_pointer_size is honoured when creating new MyISAM files
Changed default value of myisam_data_pointer_size from 4 to 6 to get rid of 'table-is-full' errors



include/myisam.h:
  Change type of myisam_block_size and myisam_concurrent_insert to make them changeable in mysqld.cc
  Removed not used varaible myisam_max_extra_temp_length
include/thr_lock.h:
  Added extra parameter to get_status
myisam/mi_create.c:
  Ensure that myisam_data_pointer_size is honoured
myisam/mi_dynrec.c:
  If 'append_insert_at_end' is set, only write at end of myisam record file
myisam/mi_locking.c:
  Add extra argument to 'mi_get_status' to allow thr_lock to signal that we want to do a concurrent insert
  If this is used, we will append new insert rows at end of data file.
  Change mi_check_status() to allow concurrent_inserts even if there are holes in the file when myisam_concurent_insert=2
myisam/mi_static.c:
  Change behavior of myisam_concurrent_insert so that setting this to 2 allows inserts even if there is a hole in the data file.
  Default value is 2 for MyISAM direct usage but will be set to 1 (old default) by mysqld.cc
myisam/mi_statrec.c:
  If 'append_insert_at_end' is set, only write at end of myisam record file
myisam/mi_write.c:
  If 'append_insert_at_end' is set, only write at end of myisam record file
myisam/myisamdef.h:
  Support for insert-at-end even if there is holes in data file
mysql-test/r/gis-rtree.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/group_min_max.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/index_merge.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/index_merge_ror.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/merge.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/myisam.result:
  Test of concurrent_insert=2
mysql-test/r/null.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/preload.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/ps_1general.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/range.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/variables.result:
  concurrent_insert is now a integer, not a boolean
  myisam_extra_sort_file_size is deleted
mysql-test/r/view.result:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/t/index_merge.test:
  Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/t/myisam.test:
  Test of concurrent_insert=2
mysql-test/t/ps_1general.test:
  Drop test table
mysql-test/t/variables.test:
  concurrent_insert is now a integer, not a boolean
  myisam_extra_sort_file_size is deleted
mysql-test/t/view.test:
  Drop tables that may be left from previous tests
mysys/thr_lock.c:
  Extra paramter to get_status to signal if concurrent_insert was used
sql/mysqld.cc:
  concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
  myisam_max_extra_sort_file_size is depricated
sql/set_var.cc:
  concurrent-insert is now an integer, not a bool
  myisam_max_extra_sort_file_size is deleted
2005-05-13 12:08:08 +03:00

62 lines
2.2 KiB
C

/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/*
Static variables for MyISAM library. All definied here for easy making of
a shared library
*/
#ifndef _global_h
#include "myisamdef.h"
#endif
LIST *myisam_open_list=0;
uchar NEAR myisam_file_magic[]=
{ (uchar) 254, (uchar) 254,'\007', '\001', };
uchar NEAR myisam_pack_file_magic[]=
{ (uchar) 254, (uchar) 254,'\010', '\001', };
my_string myisam_log_filename=(char*) "myisam.log";
File myisam_log_file= -1;
uint myisam_quick_table_bits=9;
ulong myisam_block_size= MI_KEY_BLOCK_LENGTH; /* Best by test */
my_bool myisam_flush=0, myisam_delay_key_write=0, myisam_single_user=0;
#if defined(THREAD) && !defined(DONT_USE_RW_LOCKS)
ulong myisam_concurrent_insert= 2;
#else
ulong myisam_concurrent_insert= 0;
#endif
my_off_t myisam_max_temp_length= MAX_FILE_SIZE;
ulong myisam_bulk_insert_tree_size=8192*1024;
ulong myisam_data_pointer_size=4;
/*
read_vec[] is used for converting between P_READ_KEY.. and SEARCH_
Position is , == , >= , <= , > , <
*/
uint NEAR myisam_read_vec[]=
{
SEARCH_FIND, SEARCH_FIND | SEARCH_BIGGER, SEARCH_FIND | SEARCH_SMALLER,
SEARCH_NO_FIND | SEARCH_BIGGER, SEARCH_NO_FIND | SEARCH_SMALLER,
SEARCH_FIND | SEARCH_PREFIX, SEARCH_LAST, SEARCH_LAST | SEARCH_SMALLER,
MBR_CONTAIN, MBR_INTERSECT, MBR_WITHIN, MBR_DISJOINT, MBR_EQUAL
};
uint NEAR myisam_readnext_vec[]=
{
SEARCH_BIGGER, SEARCH_BIGGER, SEARCH_SMALLER, SEARCH_BIGGER, SEARCH_SMALLER,
SEARCH_BIGGER, SEARCH_SMALLER, SEARCH_SMALLER
};