diff options
author | unknown <monty@donna.mysql.com> | 2000-09-12 03:02:33 +0300 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-09-12 03:02:33 +0300 |
commit | fe4cccd6a43496395ec52e9043cd4350e5eac69d (patch) | |
tree | 051686baf31e5363765879f2437ada3abea6b71b /include | |
parent | 1dc6a46936306fbccaf19275e6f9dc4acc1e48a1 (diff) | |
download | mariadb-git-fe4cccd6a43496395ec52e9043cd4350e5eac69d.tar.gz |
Update to new root alloc, OPTIMIZE TABLE and some other changes
Docs/manual.texi:
Added chapter for binary log, updated the changelog, linux section, OPTIMIZE TABLE...
client/mysqladmin.c:
Fixed bug with pid-file handling.
client/mysqldump.c:
Version change
configure.in:
Version change
include/Makefile.am:
Fix for SCO to get sched.h removed.
include/global.h:
Increased MY_NFILE; Added thread_safe_increment
include/my_sys.h:
Better root_alloc
include/mysql.h:
Better root_alloc
include/mysys_err.h:
Fix for PREAD/PWRITE on windows
libmysql/libmysql.c:
Better root_alloc
myisam/mi_locking.c:
Fix for PREAD/PWRITE on windows
myisam/mi_static.c:
Fix for PREAD/PWRITE on windows
mysys/default.c:
Better root_alloc
mysys/errors.c:
Fix for PREAD/PWRITE on windows
mysys/my_alloc.c:
Better root_alloc
mysys/my_create.c:
Fix for PREAD/PWRITE on windows
mysys/my_fopen.c:
Fix for PREAD/PWRITE on windows
mysys/my_open.c:
Fix for PREAD/PWRITE on windows
mysys/my_pread.c:
Fix for PREAD/PWRITE on windows
mysys/tree.c:
Better root_alloc
readline/bind.c:
Removed compiler warning
readline/isearch.c:
Removed compiler warning
scripts/safe_mysqld.sh:
Allow use of MYSQL_UNIX_PORT and MYSQL_TCP_PORT
sql-bench/crash-me.sh:
Version change
sql-bench/limits/mysql-3.23.cfg:
Update to latest MySQL version
sql/filesort.cc:
Added more statistics
sql/ha_berkeley.h:
Fixed bug with ORDER BY
sql/ha_myisam.cc:
Added OPTIMIZE TABLE and cleaned up the repair code
sql/ha_myisam.h:
Added OPTIMIZE TABLE and cleaned up the repair code
sql/handler.cc:
Added OPTIMIZE TABLE and cleaned up the repair code
sql/handler.h:
Added OPTIMIZE TABLE and cleaned up the repair code
sql/item_func.cc:
Fixed comment
sql/item_timefunc.cc:
Fixed possible month bug
sql/mini_client.cc:
Use of new root_alloc
sql/mysql_priv.h:
Added OPTIMIZE TABLE and cleaned up the repair code
sql/mysqld.cc:
Added more statistics
sql/opt_range.cc:
Use of new root_alloc
sql/slave.cc:
Use of new root_alloc
sql/sql_acl.cc:
Use of new root_alloc
sql/sql_class.cc:
Use of new root_alloc
sql/sql_parse.cc:
Use of new root_alloc
sql/sql_select.cc:
Added more statistics
sql/sql_table.cc:
Added OPTIMIZE TABLE and cleaned up the repair code
sql/sql_udf.cc:
Use of new root_alloc
sql/sql_yacc.yy:
Fixed that OPTIMIZE TABLE can take many tables as arguments
sql/table.cc:
Use of new root_alloc
sql/thr_malloc.cc:
Use of new root_alloc
support-files/mysql.server.sh:
Removed usage of AWK
Diffstat (limited to 'include')
-rw-r--r-- | include/Makefile.am | 2 | ||||
-rw-r--r-- | include/global.h | 9 | ||||
-rw-r--r-- | include/my_sys.h | 16 | ||||
-rw-r--r-- | include/mysql.h | 4 | ||||
-rw-r--r-- | include/mysys_err.h | 1 |
5 files changed, 25 insertions, 7 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index 39940f1db12..3f6ed988fbb 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -35,7 +35,7 @@ noinst_HEADERS = global.h config-win.h \ SUPERCLEANFILES = mysql_version.h # Some include files that may be moved and patched by configure -DISTCLEANFILES = $(distdir)/sched.h +DISTCLEANFILES = sched.h all-local: my_config.h my_global.h diff --git a/include/global.h b/include/global.h index 57b4c07b045..0934f2931fd 100644 --- a/include/global.h +++ b/include/global.h @@ -383,7 +383,7 @@ typedef SOCKET_SIZE_TYPE size_socket; #ifndef FN_LIBCHAR #define FN_LIBCHAR '/' #define FN_ROOTDIR "/" -#define MY_NFILE 127 /* This is only used to save filenames */ +#define MY_NFILE 1024 /* This is only used to save filenames */ #endif /* #define EXT_IN_LIBNAME */ @@ -855,5 +855,12 @@ typedef char bool; /* Ordinary boolean values 0 1 */ #endif #endif +#ifndef THREAD +#define thread_safe_increment(V,L) (V)++ +#define thread_safe_add(V,C,L) (V)+=(C) +#define thread_safe_sub(V,C,L) (V)-=(C) +#define statistic_increment(V,L) (V)++ +#define statistic_add(V,C,L) (V)+=(C) +#endif #endif /* _global_h */ diff --git a/include/my_sys.h b/include/my_sys.h index 01f42e9878d..e47d2837433 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -104,6 +104,9 @@ extern int NEAR my_errno; /* Last error in mysys */ #define MIN_COMPRESS_LENGTH 50 /* Don't compress small bl. */ #define KEYCACHE_BLOCK_SIZE 1024 + /* root_alloc flags */ +#define MY_KEEP_PREALLOC 1 + /* defines when allocating data */ #ifdef SAFEMALLOC @@ -240,6 +243,9 @@ extern struct my_file_info { my_string name; enum file_type type; +#if defined(THREAD) && !defined(HAVE_PREAD) + pthread_mutex_t mutex; +#endif } my_file_info[MY_NFILE]; @@ -329,15 +335,17 @@ typedef struct st_changeable_var { #define ST_USED_MEM_DEFINED typedef struct st_used_mem { /* struct for once_alloc */ struct st_used_mem *next; /* Next block in use */ - unsigned int left; /* memory left in block */ - unsigned int size; /* size of block */ + unsigned int left; /* memory left in block */ + unsigned int size; /* Size of block */ } USED_MEM; typedef struct st_mem_root { USED_MEM *free; USED_MEM *used; + USED_MEM *pre_alloc; unsigned int min_malloc; unsigned int block_size; + void (*error_handler)(void); } MEM_ROOT; #endif @@ -532,9 +540,9 @@ extern void my_free_lock(byte *ptr,myf flags); #define my_free_lock(A,B) my_free((A),(B)) #endif #define alloc_root_inited(A) ((A)->min_malloc != 0) -void init_alloc_root(MEM_ROOT *mem_root,uint block_size); +void init_alloc_root(MEM_ROOT *mem_root, uint block_size, uint pre_alloc_size); gptr alloc_root(MEM_ROOT *mem_root,unsigned int Size); -void free_root(MEM_ROOT *root); +void free_root(MEM_ROOT *root, myf MyFLAGS); char *strdup_root(MEM_ROOT *root,const char *str); char *memdup_root(MEM_ROOT *root,const char *str,uint len); void load_defaults(const char *conf_file, const char **groups, diff --git a/include/mysql.h b/include/mysql.h index b738c8535fe..5c2646b592d 100644 --- a/include/mysql.h +++ b/include/mysql.h @@ -49,8 +49,10 @@ typedef struct st_used_mem { /* struct for once_alloc */ typedef struct st_mem_root { USED_MEM *free; USED_MEM *used; + USED_MEM *pre_alloc; unsigned int min_malloc; unsigned int block_size; + void (*error_handler)(void); } MEM_ROOT; #endif @@ -74,7 +76,7 @@ extern char *mysql_unix_port; #define IS_BLOB(n) ((n) & BLOB_FLAG) #define IS_NUM(t) ((t) <= FIELD_TYPE_INT24 || (t) == FIELD_TYPE_YEAR) #define IS_NUM_FIELD(f) ((f)->flags & NUM_FLAG) -#define INTERNAL_NUM_FIELD(f) (((f)->type <= FIELD_TYPE_INT24 && (f)->type != FIELD_TYPE_TIMESTAMP || (f)->length == 14 || (f)->length == 8) || (f)->type == FIELD_TYPE_YEAR) +#define INTERNAL_NUM_FIELD(f) (((f)->type <= FIELD_TYPE_INT24 && ((f)->type != FIELD_TYPE_TIMESTAMP || (f)->length == 14 || (f)->length == 8)) || (f)->type == FIELD_TYPE_YEAR) typedef struct st_mysql_field { char *name; /* Name of column */ diff --git a/include/mysys_err.h b/include/mysys_err.h index 7f5c3e1908b..660bb60edee 100644 --- a/include/mysys_err.h +++ b/include/mysys_err.h @@ -50,6 +50,7 @@ extern const char * NEAR globerrs[]; /* my_error_messages is here */ #define EE_DISK_FULL 20 #define EE_CANT_MKDIR 21 #define EE_UNKNOWN_CHARSET 22 +#define EE_OUT_OF_FILERESOURCES 23 #ifdef __cplusplus } |