mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
More debug info
Fix DBUG_ASSERT() Optimization for BDB tables Fix for BDB under Win98 Docs/manual.texi: Removed wrong info bdb/os_win32/os_rename.c: Fix for windows 98 configure.in: Better options for MAC OS X include/dbug.h: Fix DBUG_ASSERT() mysys/thr_lock.c: More DBUG messages sql/ha_berkeley.cc: Use cursor in remove_key sql/lock.cc: Fix possible problem when pre-unlocking tables in SELECT sql/sql_select.cc: More DBUG messages sql/violite.c: Fix DBUG messages
This commit is contained in:
parent
0ce7e16ef3
commit
8e9c21de2b
9 changed files with 27 additions and 21 deletions
|
@ -32591,9 +32591,6 @@ tblTemp1.fldOrder_ID > 100;
|
|||
The following conditions hold for an @code{INSERT ... SELECT} statement:
|
||||
|
||||
@itemize @minus
|
||||
@item
|
||||
The query cannot contain an @code{ORDER BY} clause.
|
||||
|
||||
@item
|
||||
The target table of the @code{INSERT} statement cannot appear in the
|
||||
@code{FROM} clause of the @code{SELECT} part of the query because it's
|
||||
|
|
|
@ -47,7 +47,7 @@ __os_rename(dbenv, old, new)
|
|||
*/
|
||||
if (MoveFileEx(old, new, MOVEFILE_REPLACE_EXISTING) != TRUE)
|
||||
ret = __os_win32_errno();
|
||||
if (ret == ENOENT && MoveFile(old, new) == TRUE)
|
||||
if ((ret == ENOENT || ret == EIO) && MoveFile(old, new) == TRUE)
|
||||
ret = 0;
|
||||
}
|
||||
if (ret != 0)
|
||||
|
|
|
@ -797,10 +797,8 @@ case $SYSTEM_TYPE in
|
|||
*darwin*)
|
||||
if test "$ac_cv_prog_gcc" = "yes"
|
||||
then
|
||||
CFLAGS="$CFLAGS -traditional-cpp -DHAVE_DARWIN_THREADS"
|
||||
CXXFLAGS="$CXXFLAGS -traditional-cpp -DHAVE_DARWIN_THREADS"
|
||||
CFLAGS="$CFLAGS -traditional-cpp -DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE"
|
||||
CXXFLAGS="$CXXFLAGS -traditional-cpp -DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE"
|
||||
CFLAGS="$CFLAGS -traditional-cpp -DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ"
|
||||
CXXFLAGS="$CXXFLAGS -traditional-cpp -DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ"
|
||||
MAX_C_OPTIMIZE="-O"
|
||||
with_named_curses=""
|
||||
fi
|
||||
|
|
|
@ -66,7 +66,7 @@ extern void _db_unlock_file();
|
|||
#define DEBUGGER_ON _no_db_=0
|
||||
#define DBUG_LOCK_FILE { _db_lock_file(); }
|
||||
#define DBUG_UNLOCK_FILE { _db_unlock_file(); }
|
||||
#define DBUG_ASSERT(A) A
|
||||
#define DBUG_ASSERT(A) assert(A)
|
||||
#else /* No debugger */
|
||||
|
||||
#define DBUG_ENTER(a1)
|
||||
|
|
|
@ -736,7 +736,7 @@ void thr_unlock(THR_LOCK_DATA *data)
|
|||
data->type == TL_WRITE_ALLOW_WRITE));
|
||||
else
|
||||
{
|
||||
DBUG_PRINT("lock",("No locks to free"));
|
||||
DBUG_PRINT("lock",("No waiting read locks to free"));
|
||||
}
|
||||
}
|
||||
else if (data &&
|
||||
|
|
|
@ -1181,9 +1181,11 @@ int ha_berkeley::remove_key(DB_TXN *trans, uint keynr, const byte *record,
|
|||
DBUG_ENTER("remove_key");
|
||||
DBUG_PRINT("enter",("index: %d",keynr));
|
||||
|
||||
if (keynr == primary_key ||
|
||||
((table->key_info[keynr].flags & (HA_NOSAME | HA_NULL_PART_KEY)) ==
|
||||
HA_NOSAME))
|
||||
if (keynr == active_index && cursor)
|
||||
error=cursor->c_del(cursor,0);
|
||||
else if (keynr == primary_key ||
|
||||
((table->key_info[keynr].flags & (HA_NOSAME | HA_NULL_PART_KEY)) ==
|
||||
HA_NOSAME))
|
||||
{ // Unique key
|
||||
dbug_assert(keynr == primary_key || prim_key->data != key_buff2);
|
||||
error=key_file[keynr]->del(key_file[keynr], trans,
|
||||
|
@ -1312,7 +1314,10 @@ int ha_berkeley::index_init(uint keynr)
|
|||
an active cursor at this point
|
||||
*/
|
||||
if (cursor)
|
||||
{
|
||||
DBUG_PRINT("note",("Closing active cursor"));
|
||||
cursor->c_close(cursor);
|
||||
}
|
||||
active_index=keynr;
|
||||
if ((error=key_file[keynr]->cursor(key_file[keynr], transaction, &cursor,
|
||||
table->reginfo.lock_type >
|
||||
|
@ -1659,12 +1664,13 @@ int ha_berkeley::external_lock(THD *thd, int lock_type)
|
|||
if (!thd->transaction.bdb_lock_count++)
|
||||
{
|
||||
changed_rows=0;
|
||||
transaction=0; // Safety
|
||||
/* First table lock, start transaction */
|
||||
if ((thd->options & (OPTION_NOT_AUTO_COMMIT | OPTION_BEGIN |
|
||||
OPTION_TABLE_LOCK)) &&
|
||||
!thd->transaction.all.bdb_tid)
|
||||
{
|
||||
DBUG_ASSERT(thd->transaction.stmt.bdb_tid != 0);
|
||||
DBUG_ASSERT(thd->transaction.stmt.bdb_tid == 0);
|
||||
/* We have to start a master transaction */
|
||||
DBUG_PRINT("trans",("starting transaction all"));
|
||||
if ((error=txn_begin(db_env, 0,
|
||||
|
|
11
sql/lock.cc
11
sql/lock.cc
|
@ -169,8 +169,11 @@ static int lock_external(TABLE **tables,uint count)
|
|||
void mysql_unlock_tables(THD *thd, MYSQL_LOCK *sql_lock)
|
||||
{
|
||||
DBUG_ENTER("mysql_unlock_tables");
|
||||
thr_multi_unlock(sql_lock->locks,sql_lock->lock_count);
|
||||
VOID(unlock_external(thd,sql_lock->table,sql_lock->table_count));
|
||||
if (sql_lock->lock_count)
|
||||
{
|
||||
thr_multi_unlock(sql_lock->locks,sql_lock->lock_count);
|
||||
VOID(unlock_external(thd,sql_lock->table,sql_lock->table_count));
|
||||
}
|
||||
my_free((gptr) sql_lock,MYF(0));
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
@ -213,7 +216,7 @@ void mysql_unlock_read_tables(THD *thd, MYSQL_LOCK *sql_lock)
|
|||
if (i != found)
|
||||
{
|
||||
thr_multi_unlock(lock,i-found);
|
||||
sql_lock->lock_count-=found;
|
||||
sql_lock->lock_count= found;
|
||||
}
|
||||
|
||||
/* Then to the same for the external locks */
|
||||
|
@ -232,7 +235,7 @@ void mysql_unlock_read_tables(THD *thd, MYSQL_LOCK *sql_lock)
|
|||
if (i != found)
|
||||
{
|
||||
VOID(unlock_external(thd,table,i-found));
|
||||
sql_lock->table_count-=found;
|
||||
sql_lock->table_count=found;
|
||||
}
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
|
|
@ -2516,6 +2516,7 @@ static void
|
|||
join_free(JOIN *join)
|
||||
{
|
||||
JOIN_TAB *tab,*end;
|
||||
DBUG_ENTER("join_free");
|
||||
|
||||
if (join->table)
|
||||
{
|
||||
|
@ -2556,6 +2557,7 @@ join_free(JOIN *join)
|
|||
join->tmp_table_param.copy_funcs.delete_elements();
|
||||
delete [] join->tmp_table_param.copy_field;
|
||||
join->tmp_table_param.copy_field=0;
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -154,7 +154,7 @@ int vio_read(Vio * vio, gptr buf, int size)
|
|||
{
|
||||
int r;
|
||||
DBUG_ENTER("vio_read");
|
||||
DBUG_PRINT("enter", ("sd=%d, buf=%p, size=%d", vio->sd, buf, size));
|
||||
DBUG_PRINT("enter", ("sd=%d size=%d", vio->sd, size));
|
||||
#if defined( __WIN__) || defined(OS2)
|
||||
if (vio->type == VIO_TYPE_NAMEDPIPE)
|
||||
{
|
||||
|
@ -188,7 +188,7 @@ int vio_write(Vio * vio, const gptr buf, int size)
|
|||
{
|
||||
int r;
|
||||
DBUG_ENTER("vio_write");
|
||||
DBUG_PRINT("enter", ("sd=%d, buf=%p, size=%d", vio->sd, buf, size));
|
||||
DBUG_PRINT("enter", ("sd=%d size=%d", vio->sd, size));
|
||||
#if defined( __WIN__) || defined(OS2)
|
||||
if ( vio->type == VIO_TYPE_NAMEDPIPE)
|
||||
{
|
||||
|
@ -303,7 +303,7 @@ int vio_keepalive(Vio* vio, my_bool set_keep_alive)
|
|||
int r=0;
|
||||
uint opt = 0;
|
||||
DBUG_ENTER("vio_keepalive");
|
||||
DBUG_PRINT("enter", ("sd=%d, set_keep_alive=%d", vio->sd, (int)
|
||||
DBUG_PRINT("enter", ("sd=%d set_keep_alive=%d", vio->sd, (int)
|
||||
set_keep_alive));
|
||||
if (vio->type != VIO_TYPE_NAMEDPIPE)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue