summaryrefslogtreecommitdiff
path: root/sql/ha_berkeley.cc
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2001-01-22 04:46:32 +0200
committerunknown <monty@donna.mysql.com>2001-01-22 04:46:32 +0200
commite99292d4690304e6e04f70904a91331642cdbe44 (patch)
tree706d31806ab806cae4a610724441da534fb9f793 /sql/ha_berkeley.cc
parent75c376fbbbce097f360551024e17fe1662b1f6ef (diff)
downloadmariadb-git-e99292d4690304e6e04f70904a91331642cdbe44.tar.gz
keep bk happy
Docs/manual.texi: Changelog mysql-test/mysql-test-run.sh: Added missing --user sql/ha_berkeley.cc: Fixed bug in SHOW LOGS sql/item_func.cc: Cleanup; Fixed possible problem with NULL sql/mini_client.cc: cleanup sql/slave.cc: Cleanup sql/sql_repl.cc: Fixed timing problem where we could miss a broadcast sql/sql_show.cc: Fixed bug in SHOW LOGS when there wasn't any log files
Diffstat (limited to 'sql/ha_berkeley.cc')
-rw-r--r--sql/ha_berkeley.cc60
1 files changed, 33 insertions, 27 deletions
diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc
index a2057382e62..0c5f09c4b36 100644
--- a/sql/ha_berkeley.cc
+++ b/sql/ha_berkeley.cc
@@ -253,27 +253,33 @@ int berkeley_show_logs(THD *thd)
{
DBUG_PRINT("error", ("log_archive failed (error %d)", error));
db_env->err(db_env, error, "log_archive: DB_ARCH_ABS");
+ if (error== DB_NOTFOUND)
+ error=0; // No log files
goto err;
}
-
- for (a = all_logs, f = free_logs; *a; ++a)
+ /* Error is 0 here */
+ if (all_logs)
{
- packet->length(0);
- net_store_data(packet,*a);
- net_store_data(packet,"BDB");
- if (*f && strcmp(*a, *f) == 0)
+ for (a = all_logs, f = free_logs; *a; ++a)
{
- ++f;
- net_store_data(packet, SHOW_LOG_STATUS_FREE);
- }
- else
- net_store_data(packet, SHOW_LOG_STATUS_INUSE);
+ packet->length(0);
+ net_store_data(packet,*a);
+ net_store_data(packet,"BDB");
+ if (f && *f && strcmp(*a, *f) == 0)
+ {
+ ++f;
+ net_store_data(packet, SHOW_LOG_STATUS_FREE);
+ }
+ else
+ net_store_data(packet, SHOW_LOG_STATUS_INUSE);
- if (my_net_write(&thd->net,(char*) packet->ptr(),packet->length()))
- goto err;
+ if (my_net_write(&thd->net,(char*) packet->ptr(),packet->length()))
+ {
+ error=1;
+ goto err;
+ }
+ }
}
- error=0;
-
err:
free_root(&show_logs_root,MYF(0));
my_pthread_setspecific_ptr(THR_MALLOC,old_root);
@@ -317,12 +323,12 @@ void berkeley_cleanup_log_files(void)
}
if (names)
- { /* purecov: tested */
- char **np; /* purecov: tested */
- for (np = names; *np; ++np) /* purecov: tested */
- my_delete(*np, MYF(MY_WME)); /* purecov: tested */
+ { /* purecov: tested */
+ char **np; /* purecov: tested */
+ for (np = names; *np; ++np) /* purecov: tested */
+ my_delete(*np, MYF(MY_WME)); /* purecov: tested */
- free(names); /* purecov: tested */
+ free(names); /* purecov: tested */
}
DBUG_VOID_RETURN;
@@ -526,9 +532,9 @@ int ha_berkeley::open(const char *name, int mode, uint test_if_locked)
{
if ((error=db_create(ptr, db_env, 0)))
{
- close(); /* purecov: inspected */
- my_errno=error; /* purecov: inspected */
- DBUG_RETURN(1); /* purecov: inspected */
+ close(); /* purecov: inspected */
+ my_errno=error; /* purecov: inspected */
+ DBUG_RETURN(1); /* purecov: inspected */
}
sprintf(part,"key%02d",++used_keys);
key_type[i]=table->key_info[i].flags & HA_NOSAME ? DB_NOOVERWRITE : 0;
@@ -539,9 +545,9 @@ int ha_berkeley::open(const char *name, int mode, uint test_if_locked)
if ((error=((*ptr)->open(*ptr, name_buff, part, DB_BTREE,
open_mode, 0))))
{
- close(); /* purecov: inspected */
- my_errno=error; /* purecov: inspected */
- DBUG_RETURN(1); /* purecov: inspected */
+ close(); /* purecov: inspected */
+ my_errno=error; /* purecov: inspected */
+ DBUG_RETURN(1); /* purecov: inspected */
}
}
}
@@ -1042,6 +1048,7 @@ int ha_berkeley::update_row(const byte * old_row, byte * new_row)
ulong thd_options = table->in_use ? table->in_use->options : 0;
bool primary_key_changed;
DBUG_ENTER("update_row");
+ LINT_INIT(error);
statistic_increment(ha_update_count,&LOCK_status);
if (table->time_stamp)
@@ -1066,7 +1073,6 @@ int ha_berkeley::update_row(const byte * old_row, byte * new_row)
}
sub_trans = transaction;
- LINT_INIT(error);
for (uint retry=0 ; retry < berkeley_trans_retry ; retry++)
{
key_map changed_keys = 0;