diff options
author | monty@hundin.mysql.fi <> | 2001-10-08 04:58:07 +0300 |
---|---|---|
committer | monty@hundin.mysql.fi <> | 2001-10-08 04:58:07 +0300 |
commit | 88aff4bf851e8f0d67cc7cd860d445e0fb234717 (patch) | |
tree | f8a3cf3164d5a5550378074ac8d3bf4afe105683 /merge/mrg_create.c | |
parent | e80123501939a6e19dcc33efa837c15f5ca60641 (diff) | |
download | mariadb-git-88aff4bf851e8f0d67cc7cd860d445e0fb234717.tar.gz |
Updated manual about embedded version.
Speed up column-completion in 'mysql'
Don't use ISAM if HAVE_ISAM is not defined
A lot of fixes for the embedded version. All libraries are now included in libmysqld.a
Changed arguments to convert_dirname() to make it more general.
Renamed files in the 'merge' directory to all use a common prefix.
Don't compile both assembler and C functions on x86
Diffstat (limited to 'merge/mrg_create.c')
-rw-r--r-- | merge/mrg_create.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/merge/mrg_create.c b/merge/mrg_create.c new file mode 100644 index 00000000000..d92b617f4ba --- /dev/null +++ b/merge/mrg_create.c @@ -0,0 +1,61 @@ +/* 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 */ + +/* Create a MERGE-file */ + +#include "mrg_def.h" + + /* create file named 'name' and save filenames in it + table_names should be NULL or a vector of string-pointers with + a NULL-pointer last + */ + +int mrg_create(const char *name, const char**table_names) +{ + int save_errno; + uint errpos; + File file; + char buff[FN_REFLEN],*end; + DBUG_ENTER("mrg_create"); + + errpos=0; + if ((file = my_create(fn_format(buff,name,"",MRG_NAME_EXT,4),0, + O_RDWR | O_TRUNC,MYF(MY_WME))) < 0) + goto err; + errpos=1; + if (table_names) + for ( ; *table_names ; table_names++) + { + strmov(buff,*table_names); + fn_same(buff,name,4); + *(end=strend(buff))='\n'; + if (my_write(file,*table_names,(uint) (end-buff+1), + MYF(MY_WME | MY_NABP))) + goto err; + } + if (my_close(file,MYF(0))) + goto err; + DBUG_RETURN(0); + +err: + save_errno=my_errno; + switch (errpos) { + case 1: + VOID(my_close(file,MYF(0))); + } + my_errno=save_errno; /* Return right errocode */ + DBUG_RETURN(-1); +} /* mrg_create */ |