Commit 27da7974 authored by unknown's avatar unknown

merge with 3.23.52


BitKeeper/etc/config:
  Auto merged
Docs/manual.texi:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
parents c9b3bcb2 b0e2ef2d
......@@ -80,5 +80,5 @@ EOF
fi
else
echo "commit failed because '$BK_STATUS', sorry life is hard..."
echo "commit failed because '$BK_STATUS', you may need to re-clone..."
fi
......@@ -50831,6 +50831,7 @@ users use this code as the rest of the code and because of this we are
not yet 100% confident in this code.
@menu
* News-3.23.53:: Changes in release 3.23.53
* News-3.23.52:: Changes in release 3.23.52
* News-3.23.51:: Changes in release 3.23.51 (31 May 2002)
* News-3.23.50:: Changes in release 3.23.50 (21 Apr 2002)
......@@ -50887,8 +50888,15 @@ not yet 100% confident in this code.
* News-3.23.0:: Changes in release 3.23.0 (05 Aug 1999: Alpha)
@end menu
@node News-3.23.52, News-3.23.51, News-3.23.x, News-3.23.x
@node News-3.23.53, News-3.23.52, News-3.23.x, News-3.23.x
@appendixsubsec Changes in release 3.23.53
@itemize @bullet
@end itemize
@node News-3.23.52, News-3.23.51, News-3.23.53, News-3.23.x
@appendixsubsec Changes in release 3.23.52
@itemize @bullet
@item
Fixed problem with @code{UNSIGNED BIGINT} on AIX.
......@@ -25,33 +25,37 @@ can wait inside InnoDB */
#ifdef __WIN__
typedef void* os_thread_t;
typedef ulint os_thread_id_t; /* In Windows the thread id
is an unsigned long int */
#else
typedef pthread_t os_thread_t;
typedef os_thread_t os_thread_id_t; /* In Unix we use the thread
handle itself as the id of
the thread */
#endif
#define os_thread_id_t os_thread_t
/* Define a function pointer type to use in a typecast */
typedef void* (*os_posix_f_t) (void*);
/*******************************************************************
Compares two threads or thread ids for equality */
Compares two thread ids for equality. */
ibool
os_thread_eq(
/*=========*/
/* out: TRUE if equal */
os_thread_t a, /* in: OS thread or thread id */
os_thread_t b); /* in: OS thread or thread id */
os_thread_id_t a, /* in: OS thread or thread id */
os_thread_id_t b); /* in: OS thread or thread id */
/********************************************************************
Converts an OS thread or thread id to a ulint. It is NOT guaranteed that
the ulint is unique for the thread though! */
Converts an OS thread id to a ulint. It is NOT guaranteed that the ulint is
unique for the thread though! */
ulint
os_thread_pf(
/*=========*/
/* out: unsigned long int */
os_thread_t a); /* in: thread or thread id */
os_thread_id_t a); /* in: thread or thread id */
/********************************************************************
Creates a new thread of execution. The execution starts from
the function given. The start function takes a void* parameter
......@@ -69,10 +73,8 @@ os_thread_create(
#endif
void* arg, /* in: argument to start
function */
os_thread_id_t* thread_id); /* out: id of created
thread; currently this is
identical to the handle to
the thread */
os_thread_id_t* thread_id); /* out: id of the created
thread */
/*********************************************************************
A thread calling this function ends its execution. */
......
......@@ -19,14 +19,14 @@ Created 9/8/1995 Heikki Tuuri
#include "srv0srv.h"
/*******************************************************************
Compares two threads or thread ids for equality */
Compares two thread ids for equality. */
ibool
os_thread_eq(
/*=========*/
/* out: TRUE if equal */
os_thread_t a, /* in: OS thread or thread id */
os_thread_t b) /* in: OS thread or thread id */
os_thread_id_t a, /* in: OS thread or thread id */
os_thread_id_t b) /* in: OS thread or thread id */
{
#ifdef __WIN__
if (a == b) {
......@@ -44,13 +44,13 @@ os_thread_eq(
}
/********************************************************************
Converts an OS thread or thread id to a ulint. It is NOT guaranteed that
the ulint is unique for the thread though! */
Converts an OS thread id to a ulint. It is NOT guaranteed that the ulint is
unique for the thread though! */
ulint
os_thread_pf(
/*=========*/
os_thread_t a)
os_thread_id_t a)
{
#ifdef UNIV_HPUX
/* In HP-UX a pthread_t is a struct of 3 fields: field1, field2,
......@@ -64,15 +64,15 @@ os_thread_pf(
/*********************************************************************
Returns the thread identifier of current thread. Currently the thread
identifier is the thread handle itself. Note that in HP-UX pthread_t is
a struct of 3 fields. */
identifier in Unix is the thread handle itself. Note that in HP-UX
pthread_t is a struct of 3 fields. */
os_thread_id_t
os_thread_get_curr_id(void)
/*=======================*/
{
#ifdef __WIN__
return(GetCurrentThread());
return(GetCurrentThreadId());
#else
return(pthread_self());
#endif
......@@ -95,11 +95,8 @@ os_thread_create(
#endif
void* arg, /* in: argument to start
function */
os_thread_id_t* thread_id __attribute__((unused)))
/* out: id of created
thread; currently this is
identical to the handle to
the thread */
os_thread_id_t* thread_id) /* out: id of the created
thread */
{
#ifdef __WIN__
os_thread_t thread;
......@@ -121,7 +118,7 @@ os_thread_create(
ut_a(SetThreadPriority(thread, srv_query_thread_priority));
}
*thread_id = thread;
*thread_id = win_thread_id;
return(thread);
#else
......
......@@ -259,7 +259,7 @@ convert_error_code_to_mysql(
extern "C" {
/*****************************************************************
Prints info of a THD object (== user session thread) to the
standard output. NOTE that mysql/innobase/trx/trx0trx.c must contain
standard output. NOTE that /mysql/innobase/trx/trx0trx.c must contain
the prototype for this function! */
void
......@@ -404,6 +404,9 @@ ha_innobase::update_thd(
return(0);
}
#ifdef notdefined
/* The code here appears for documentational purposes only. Not used
or tested yet. Will be used in 4.1. */
/*********************************************************************
Call this when you have opened a new table handle in HANDLER, before you
call index_read_idx() etc. Actually, we can let the cursor stay open even
......@@ -411,14 +414,15 @@ over a transaction commit! Then you should call this before every operation,
fecth next etc. This function inits the necessary things even after a
transaction commit. */
/* TODO: THIS CODE HAS NOT BEEN TESTED!!! */
void
ha_innobase::init_table_handle_for_HANDLER(void)
/*============================================*/
{
row_prebuilt_t* prebuilt;
ut_a(0); /* the code has not been used or tested yet; to prevent
inadvertent usage we assert an error here */
/* If current thd does not yet have a trx struct, create one.
If the current handle does not yet have a prebuilt struct, create
one. Update the trx pointers in the prebuilt struct. Normally
......@@ -458,6 +462,7 @@ ha_innobase::init_table_handle_for_HANDLER(void)
prebuilt->read_just_key = FALSE;
}
#endif
/*************************************************************************
Opens an InnoDB database. */
......@@ -2509,6 +2514,7 @@ ha_innobase::rnd_pos(
Stores a reference to the current row to 'ref' field of the handle. Note
that in the case where we have generated the clustered index for the
table, the function parameter is illogical: we MUST ASSUME that 'record'
is the current 'position' of the handle, because if row ref is actually
the row id internally generated in InnoDB, then 'record' does not contain
it. We just guess that the row id must be for the record where the handle
was positioned the last time. */
......
......@@ -164,7 +164,8 @@ class ha_innobase: public handler
void free_foreign_key_create_info(char* str);
THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to,
enum thr_lock_type lock_type);
void init_table_handle_for_HANDLER(); /* TODO: NOT TESTED!!! */
/* void init_table_handle_for_HANDLER(); Not tested or used yet, code
included for documentational purposes only */
longlong get_auto_increment();
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment