• unknown's avatar
    Updated manual about embedded version. · cef1d752
    unknown authored
    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
    
    
    BitKeeper/deleted/.del-mf_pack2.c~f07795bbcf57be7:
      Delete: mysys/mf_pack2.c
    Docs/manual.texi:
      Updated chapter about embedded version
    acinclude.m4:
      Fix for using BDB and InnoDB with embedded
    client/completion_hash.cc:
      Speed up memory allocation
    client/completion_hash.h:
      Speed up memory allocation
    client/mysql.cc:
      Speed up memory allocation
    client/mysqldump.c:
      Fix to use now convert_dirname
    client/mysqltest.c:
      Fixed memory allocation bugs.
      Added --basedir=#, --compress=#, --server-arg, --server-file.
      Fixes for embedded version
      Changed silent mode to -s instead of -q
    include/my_global.h:
      Update to use HAVE_ISAM
    include/my_sys.h:
      Cleanup of fn_format()
    include/mysql.h:
      Prepare FIELD struct for 4.1
    include/mysql_embed.h:
      Don't use ISAM in embedded version
    innobase/include/srv0srv.h:
      Make InnoDB startup/shutdown silent in embedded version
    innobase/log/log0log.c:
      Make InnoDB startup/shutdown silent in embedded version
    innobase/srv/srv0srv.c:
      Make InnoDB startup/shutdown silent in embedded version
    innobase/srv/srv0start.c:
      Make InnoDB startup/shutdown silent in embedded version
    isam/isamlog.c:
      new convert_dirname
    libmysql/libmysql.c:
      Prepare for 4.1
    libmysqld/Makefile.am:
      Changed to create one libmysqld.a file that includes all other libraries.
    libmysqld/examples/Makefile.am:
      Changed to use new libmysqld.a
    libmysqld/examples/test-run:
      Lot's of fixes to get new mysqltest with embedded MySQL to work.
    libmysqld/lib_sql.cc:
      Changed type of arguments for mysql_server_init() to make code more portable.
    libmysqld/libmysqld.c:
      Cleanup
    merge/Makefile.am:
      Rename to use common prefix.
    merge/mrg_close.c:
      Rename to use common prefix.
    merge/mrg_create.c:
      Rename to use common prefix.
    merge/mrg_def.h:
      Rename to use common prefix.
    merge/mrg_delete.c:
      Rename to use common prefix.
    merge/mrg_extra.c:
      Rename to use common prefix.
    merge/mrg_info.c:
      Rename to use common prefix.
    merge/mrg_locking.c:
      Rename to use common prefix.
    merge/mrg_open.c:
      Rename to use common prefix.
    merge/mrg_panic.c:
      Rename to use common prefix.
    merge/mrg_rrnd.c:
      Rename to use common prefix.
    merge/mrg_rsame.c:
      Rename to use common prefix.
    merge/mrg_static.c:
      Rename to use common prefix.
    merge/mrg_update.c:
      Rename to use common prefix.
    myisam/myisamlog.c:
      Use new convert_dirname
    myisammrg/Makefile.am:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_close.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_create.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_def.h:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_delete.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_extra.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_info.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_locking.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_open.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_panic.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_queue.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_rfirst.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_rkey.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_rlast.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_rnext.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_rprev.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_rrnd.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_rsame.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_static.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_update.c:
      Renamed mymrgdef.h -> myrg_def.h
    myisammrg/myrg_write.c:
      Renamed mymrgdef.h -> myrg_def.h
    mysql-test/include/master-slave.inc:
      Use short filenames for sockets (portability problem on Mac OS X)
    mysql-test/mysql-test-run.sh:
      cleanup
    mysql-test/r/auto_increment.result:
      Cleanup of tests for embedded version
    mysql-test/r/func_system.result:
      Cleanup of tests for embedded version
    mysql-test/r/isam.result:
      Cleanup of tests for embedded version
    mysql-test/r/lock.result:
      Cleanup of tests for embedded version
    mysql-test/r/show_check.result:
      Cleanup of tests for embedded version
    mysql-test/t/auto_increment.test:
      Cleanup of tests for embedded version
    mysql-test/t/backup.test:
      Cleanup of tests for embedded version
    mysql-test/t/count_distinct2-master.opt:
      Cleanup of tests for embedded version
    mysql-test/t/count_distinct2.test:
      Cleanup of tests for embedded version
    mysql-test/t/create.test:
      Cleanup of tests for embedded version
    mysql-test/t/flush.test:
      Cleanup of tests for embedded version
    mysql-test/t/func_system.test:
      Cleanup of tests for embedded version
    mysql-test/t/isam.test:
      Cleanup of tests for embedded version
    mysql-test/t/kill.test:
      Cleanup of tests for embedded version
    mysql-test/t/lock.test:
      Cleanup of tests for embedded version
    mysql-test/t/order_fill_sortbuf-master.opt:
      Cleanup of tests for embedded version
    mysql-test/t/rpl000015.test:
      Use short filenames for sockets (portability problem on Mac OS X)
    mysql-test/t/rpl000016.test:
      Use short filenames for sockets (portability problem on Mac OS X)
    mysql-test/t/rpl000017.test:
      Use short filenames for sockets (portability problem on Mac OS X)
    mysql-test/t/rpl000018.test:
      Use short filenames for sockets (portability problem on Mac OS X)
    mysql-test/t/show_check.test:
      Move ISAM specific tests to isam.test
    mysql-test/t/status.test:
      Cleanup of tests for embedded version
    mysql-test/t/tablelock.test:
      Cleanup
    mysys/Makefile.am:
      Removed not used mf_pack2.c
    mysys/charset.c:
      new convert_dirname
    mysys/default.c:
      new convert_dirname
    mysys/mf_dirname.c:
      Changed convert_dirname() to be more general
    mysys/mf_format.c:
      Changed bit flags to fn_format() to defines.
      Added handling of relative filenames
    BitKeeper/etc/ignore:
      Added libmysqld/examples/test-gdbinit scripts/mysql_explain_log to the ignore list
    mysys/mf_pack.c:
      new convert_dirname
    mysys/mf_tempfile.c:
      new convert_dirname
    scripts/Makefile.am:
      Adde mysql_explain_log
    scripts/mysql_config.sh:
      Added support of --libmysqld-libs
    sql/Makefile.am:
      Fix to use 'innodb_system_libs'
    sql/ha_innobase.cc:
      Make InnoDB startup/shutdown silent in embedded version
    sql/ha_isam.cc:
      Added handling of HAVE_ISAM
    sql/ha_isammrg.cc:
      Added handling of HAVE_ISAM
    sql/ha_myisam.cc:
      Handle relative paths;  Needed to support BACKUP TABLE in embedded version
    sql/ha_myisammrg.cc:
      Rename of filenames
    sql/handler.cc:
      Added handling of HAVE_ISAM
    sql/item_func.cc:
      Fix for ecc (Intel Compiler)
    sql/mysql_priv.h:
      Added global variable 'mysql_embedded'
    sql/mysqld.cc:
      Use HAVE_ISAM
    sql/sql_parse.cc:
      Use new convert_dirname
    sql/sql_select.cc:
      Fix for ecc (Intel Compiler)
    sql/sql_table.cc:
      Added handling of relative filenames
    strings/Makefile.am:
      Don't compile both assembler and C functions on x86
    strings/bchange.c:
      cleanup
    cef1d752
mrg_create.c 1.78 KB
/* 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 */