summaryrefslogtreecommitdiff
path: root/sql/unireg.cc
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-04-08 17:56:45 +0300
committerunknown <monty@mysql.com>2004-04-08 17:56:45 +0300
commit10e15762b8e38ae09d89e6489de6f2fe68cfd85e (patch)
tree1eb8cd825c2490f5f90d6e08cd2b0338ce489853 /sql/unireg.cc
parent46bd7be2409e80b36de3cd0d49af33557ffa74a9 (diff)
downloadmariadb-git-10e15762b8e38ae09d89e6489de6f2fe68cfd85e.tar.gz
Don't enable HA_EXTRA_WRITE_CACHE if too few rows
Revert main parts of patch for online index builds. Should be done differently Added support for %lx in my_snprintf() sql/ha_myisam.cc: Don't enable HA_EXTRA_WRITE_CACHE if too few rows sql/handler.h: Indentaion fix sql/mysql_priv.h: Removed real_alter_table, mysql_add_column and mysql_drop_column sql/sql_class.cc: After merge fix sql/sql_insert.cc: Don't user bulk_insert if only one row (common case) sql/sql_parse.cc: Added mysql_create_index() and mysql_drop_index() as these are only wrappers for mysql_alter_table() sql/sql_table.cc: Revert main parts of patch for online index builds Changed back to use tabs to make merges possible between trees sql/unireg.cc: Added comments and minor cleanup strings/my_vsnprintf.c: Added support for %lx. Proper long support
Diffstat (limited to 'sql/unireg.cc')
-rw-r--r--sql/unireg.cc53
1 files changed, 43 insertions, 10 deletions
diff --git a/sql/unireg.cc b/sql/unireg.cc
index 4af1c832b57..8d3e304b5da 100644
--- a/sql/unireg.cc
+++ b/sql/unireg.cc
@@ -46,12 +46,29 @@ static bool make_empty_rec(int file, enum db_type table_type,
List<create_field> &create_fields,
uint reclength,uint null_fields);
+/*
+ Create a frm (table definition) file
+
+ SYNOPSIS
+ mysql_create_frm()
+ thd Thread handler
+ file_name Name of file (including database and .frm)
+ create_info create info parameters
+ create_fields Fields to create
+ keys number of keys to create
+ key_info Keys to create
+ db_file Handler to use. May be zero, in which case we use
+ create_info->db_type
+ RETURN
+ 0 ok
+ 1 error
+*/
-int mysql_create_frm(THD *thd, my_string file_name,
- HA_CREATE_INFO *create_info,
- List<create_field> &create_fields,
- uint keys, KEY *key_info,
- handler *db_file)
+bool mysql_create_frm(THD *thd, my_string file_name,
+ HA_CREATE_INFO *create_info,
+ List<create_field> &create_fields,
+ uint keys, KEY *key_info,
+ handler *db_file)
{
uint reclength,info_length,screens,key_info_length,maxlength,null_fields;
File file;
@@ -166,9 +183,29 @@ err:
err2:
VOID(my_close(file,MYF(MY_WME)));
err3:
+ my_delete(file_name,MYF(0));
DBUG_RETURN(1);
} /* mysql_create_frm */
+
+/*
+ Create a frm (table definition) file and the tables
+
+ SYNOPSIS
+ mysql_create_frm()
+ thd Thread handler
+ file_name Name of file (including database and .frm)
+ create_info create info parameters
+ create_fields Fields to create
+ keys number of keys to create
+ key_info Keys to create
+ db_file Handler to use. May be zero, in which case we use
+ create_info->db_type
+ RETURN
+ 0 ok
+ 1 error
+*/
+
int rea_create_table(THD *thd, my_string file_name,
HA_CREATE_INFO *create_info,
List<create_field> &create_fields,
@@ -179,12 +216,8 @@ int rea_create_table(THD *thd, my_string file_name,
if (mysql_create_frm(thd, file_name, create_info,
create_fields, keys, key_info, NULL) ||
ha_create_table(file_name,create_info,0))
- goto err;
+ DBUG_RETURN(1);
DBUG_RETURN(0);
-
-err:
- my_delete(file_name,MYF(0));
- DBUG_RETURN(1);
} /* rea_create_table */