Commit d49bf802 authored by monty@mashka.mysql.fi's avatar monty@mashka.mysql.fi
Browse files

Removed wrong mutex lock (hangup in kill on HPUX)

all free_defaults() on exit in mysql.cc;  Should fix problem with SSL
parent a9c1508d
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -14373,6 +14373,10 @@ If this is enabled, a user can't create new users with the GRANT
command, if the user doesn't have @code{INSERT} privilege to the
@code{mysql.user} table or any column in this table.
@item --skip-bdb
Disable usage of BDB tables. This will save memory and may speed up some
things.
@item --skip-concurrent-insert
Turn off the ability to select and insert at the same time on @code{MyISAM}
tables. (This is only to be used if you think you have found a bug in this
@@ -14392,6 +14396,10 @@ flush-privileges} or @code{mysqladmin reload}.)
Never use host name cache for faster name-ip resolution, but query DNS server
on every connect instead.  @xref{DNS}.
@item --skip-innodb
Disable usage of Innodb tables.  This will save memory and disk space and
speed up some things.
@item --skip-external-locking (was --skip-locking)
Don't use system locking.  To use @code{isamchk} or @code{myisamchk} you must
shut down the server.  @xref{Stability}.  Note that in MySQL Version
@@ -38620,6 +38628,9 @@ an auto-extending 10 MB file @file{ibdata1} to the @code{datadir}
of MySQL. (In MySQL-4.0.0 and 4.0.1 the datafile is 64 MB and not
auto-extending.)
If you don't want to use @code{InnoDB} tables, you can add the
@code{skip-innodb} option to your MySQL option file.
But to get good performance you MUST explicitly set the InnoDB parameters
listed in the following examples.
@@ -40571,13 +40582,14 @@ BDB tables:
@item @code{--bdb-no-recover} @tab Don't start Berkeley DB in recover mode.
@item @code{--bdb-shared-data} @tab Start Berkeley DB in multi-process mode (Don't use @code{DB_PRIVATE} when initialising Berkeley DB)
@item @code{--bdb-tmpdir=directory} @tab Berkeley DB tempfile name.
@item @code{--skip-bdb} @tab Don't use berkeley db.
@item @code{--skip-bdb} @tab Disable usage of BDB tables.
@item @code{-O bdb_max_lock=1000} @tab Set the maximum number of locks possible. @xref{SHOW VARIABLES}.
@end multitable
If you use @code{--skip-bdb}, MySQL will not initialise the
Berkeley DB library and this will save a lot of memory. Of course,
you cannot use @code{BDB} tables if you are using this option.
you cannot use @code{BDB} tables if you are using this option.  If you try
to create an BDB table, MySQL will instead create a MyISAM table.
Normally you should start @code{mysqld} without @code{--bdb-no-recover} if you
intend to use BDB tables.  This may, however, give you problems when you
+7 −1
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ typedef struct st_status


static HashTable ht;
static char **defaults_argv;

enum enum_info_type { INFO_INFO,INFO_ERROR,INFO_RESULT};
typedef enum enum_info_type INFO_TYPE;
@@ -317,15 +318,19 @@ int main(int argc,char *argv[])
    status.add_to_history=1;
  status.exit_status=1;
  load_defaults("my",load_default_groups,&argc,&argv);
  defaults_argv=argv;
  if (get_options(argc, (char **) argv))
  {
    free_defaults(defaults_argv);
    my_end(0);
    exit(1);
  }
  free_defaults(argv);
  if (status.batch && !status.line_buff &&
      !(status.line_buff=batch_readline_init(max_allowed_packet+512,stdin)))
  {
    free_defaults(defaults_argv);
    exit(1);
  }
  glob_buffer.realloc(512);
  mysql_server_init(0, NULL, (char**) server_default_groups);
  completion_hash_init(&ht, 128);
@@ -420,6 +425,7 @@ sig_handler mysql_end(int sig)
  my_free(default_prompt,MYF(MY_ALLOW_ZERO_PTR));
  my_free(current_prompt,MYF(MY_ALLOW_ZERO_PTR));
  mysql_server_end();
  free_defaults(defaults_argv);
  my_end(info_flag ? MY_CHECK_ERROR | MY_GIVE_INFO : 0);
  exit(status.exit_status);
}
+3 −0
Original line number Diff line number Diff line
@@ -254,7 +254,10 @@ int main(int argc,char *argv[])
  load_defaults("my",load_default_groups,&argc,&argv);
  save_argv = argv;				/* Save for free_defaults */
  if ((ho_error=handle_options(&argc, &argv, my_long_options, get_one_option)))
  {
    free_defaults(save_argv);
    exit(ho_error);
  }

  if (argc == 0)
  {
+6 −0
Original line number Diff line number Diff line
@@ -471,9 +471,15 @@ int main(int argc, char **argv)
  /* argv is changed in the program */
  argv_to_free= argv;
  if (get_options(&argc, &argv))
  {
    free_defaults(argv_to_free);
    return(1);
  }
  if (!(sock= db_connect(current_host,current_db,current_user,opt_password)))
  {
    free_defaults(argv_to_free);
    return(1); /* purecov: deadcode */
  }
  if (lock_tables)
    lock_table(sock, argc, argv);
  for (; *argv != NULL; argv++)
+18 −7
Original line number Diff line number Diff line
@@ -10,12 +10,14 @@ change master to master_host='127.0.0.1',master_port=MASTER_PORT,
master_user='root';
reset master;
slave start;
drop table if exists t1;
drop table if exists t1, t2, t3, t4;
create temporary table temp_table (a char(80) not null);
insert into temp_table values ("testing temporary tables");
create table t1 (s text);
insert into t1 values('Could not break slave'),('Tried hard');
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	60	master-bin.001	234	slave-relay-bin.001	275	master-bin.001	Yes	Yes			0		0	234	275
127.0.0.1	root	MASTER_PORT	60	master-bin.001	417	slave-relay-bin.001	458	master-bin.001	Yes	Yes			0		0	417	458
select * from t1;
s
Could not break slave
@@ -30,6 +32,11 @@ Log_name
master-bin.001
master-bin.002
master-bin.003
create table t3 select * from temp_table;
select * from t3;
a
testing temporary tables
drop table temp_table, t3;
insert into t2 values(1234);
set insert_id=1234;
insert into t2 values(NULL);
@@ -42,7 +49,7 @@ master-bin.003
insert into t2 values (65);
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	60	master-bin.003	155	slave-relay-bin.001	755	master-bin.003	Yes	Yes			0		0	155	755
127.0.0.1	root	MASTER_PORT	60	master-bin.003	290	slave-relay-bin.001	1073	master-bin.003	Yes	Yes			0		0	290	1073
select * from t2;
m
34
@@ -50,8 +57,11 @@ m
67
123
1234
create temporary table temp_table (a char(80) not null);
insert into temp_table values ("testing temporary tables part 2");
drop table if exists t3;
create table t3 (n int);
create table t4 select * from temp_table;
show master logs;
Log_name
master-bin.003
@@ -60,12 +70,13 @@ master-bin.005
master-bin.006
show master status;
File	Position	Binlog_do_db	Binlog_ignore_db
master-bin.006	445		
slave stop;
slave start;
master-bin.006	838		
select * from t4;
a
testing temporary tables part 2
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	60	master-bin.006	445	slave-relay-bin.004	1229	master-bin.006	Yes	Yes			0		0	445	1229
127.0.0.1	root	MASTER_PORT	60	master-bin.006	838	slave-relay-bin.004	1816	master-bin.006	Yes	Yes			0		0	838	1816
lock tables t3 read;
select count(*) from t3 where n >= 4;
count(*)
Loading