Commit c531b432 authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

merge with 3.23.52

parents ae1ec6e1 a101405b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+9 −1
Original line number Diff line number Diff line
@@ -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.
+13 −11
Original line number Diff line number Diff line
@@ -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. */

+12 −15
Original line number Diff line number Diff line
@@ -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
+9 −3
Original line number Diff line number Diff line
@@ -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. */
Loading