mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Give an error if you use a BLOB(X) where X > 255
Fixes for MIT pthreads
This commit is contained in:
@ -465,7 +465,7 @@ Functions for Use in @code{SELECT} and @code{WHERE} Clauses
|
||||
MySQL table types
|
||||
|
||||
* MyISAM:: MyISAM tables
|
||||
* MERGE::
|
||||
* MERGE:: MERGE tables
|
||||
* ISAM:: ISAM tables
|
||||
* HEAP:: HEAP tables
|
||||
* BDB:: BDB or Berkeley_db tables
|
||||
@ -813,6 +813,7 @@ MySQL change history
|
||||
|
||||
Changes in release 3.23.x (Recommended; beta)
|
||||
|
||||
* News-3.23.27::
|
||||
* News-3.23.26:: Changes in release 3.23.26
|
||||
* News-3.23.25:: Changes in release 3.23.25
|
||||
* News-3.23.24:: Changes in release 3.23.24
|
||||
@ -838,7 +839,7 @@ Changes in release 3.23.x (Recommended; beta)
|
||||
* News-3.23.4:: Changes in release 3.23.4
|
||||
* News-3.23.3:: Changes in release 3.23.3
|
||||
* News-3.23.2:: Changes in release 3.23.2
|
||||
* News-3.23.1::
|
||||
* News-3.23.1:: Changes in release 3.23.1
|
||||
* News-3.23.0:: Changes in release 3.23.0
|
||||
|
||||
Changes in release 3.22.x
|
||||
@ -5884,16 +5885,6 @@ shell> ./configure --with-mit-threads
|
||||
Building in a non-source directory is not supported when using
|
||||
MIT-pthreads, because we want to minimize our changes to this code.
|
||||
|
||||
@item
|
||||
MIT-pthreads doesn't support the @code{AF_UNIX} protocol used to implement
|
||||
UNIX sockets. This means that if you compile using MIT-pthreads, all
|
||||
connections must be made using TCP/IP (which is a little slower). If you
|
||||
find after building @strong{MySQL} that you cannot connect to the local
|
||||
server, it may be that your client is attempting to connect to
|
||||
@code{localhost} using a UNIX socket as the default. Try making a TCP/IP
|
||||
connection with @code{mysql} by using a host option (@code{-h} or
|
||||
@code{--host}) to specify the local host name explicitly.
|
||||
|
||||
@item
|
||||
The checks that determine whether or not to use MIT-pthreads occur only
|
||||
during the part of the configuration process that deals with the server
|
||||
@ -38113,6 +38104,7 @@ version. The replication and BerkeleyDB code is still under development,
|
||||
though, so 3.23 is not released as a stable version yet.
|
||||
|
||||
@menu
|
||||
* News-3.23.27:: Changes in release 3.23.27
|
||||
* News-3.23.26:: Changes in release 3.23.26
|
||||
* News-3.23.25:: Changes in release 3.23.25
|
||||
* News-3.23.24:: Changes in release 3.23.24
|
||||
@ -38142,7 +38134,16 @@ though, so 3.23 is not released as a stable version yet.
|
||||
* News-3.23.0:: Changes in release 3.23.0
|
||||
@end menu
|
||||
|
||||
@node News-3.23.26, News-3.23.25, News-3.23.x, News-3.23.x
|
||||
@node News-3.23.27, News-3.23.26, News-3.23.x, News-3.23.x
|
||||
@appendixsubsec Changes in release 3.23.27
|
||||
@itemize @bullet
|
||||
@item
|
||||
You can now have sockets even with @code{mit-pthreads}
|
||||
@item
|
||||
Small portability fixes
|
||||
@end itemize
|
||||
|
||||
@node News-3.23.26, News-3.23.25, News-3.23.27, News-3.23.x
|
||||
@appendixsubsec Changes in release 3.23.26
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
@ -1862,8 +1862,8 @@ AC_SUBST(server_scripts)
|
||||
|
||||
if test "$with_posix_threads" = "no" -o "$with_mit_threads" = "yes"
|
||||
then
|
||||
# MIT pthreads does not support connecting with unix sockets
|
||||
AC_DEFINE(HAVE_THREADS_WITHOUT_SOCKETS)
|
||||
# MIT pthreads does now support connecting with unix sockets
|
||||
# AC_DEFINE(HAVE_THREADS_WITHOUT_SOCKETS)
|
||||
fi
|
||||
|
||||
# Some usefull subst
|
||||
|
@ -192,7 +192,7 @@ int chk_del(MI_CHECK *param, register MI_INFO *info, uint test_flag)
|
||||
}
|
||||
DBUG_RETURN(0);
|
||||
wrong:
|
||||
param->retry_without_quick=1; // Don't use quick repair
|
||||
param->retry_without_quick=1; /* Don't use quick repair */
|
||||
if (test_flag & T_VERBOSE) puts("");
|
||||
mi_check_print_error(param,"record delete-link-chain corrupted");
|
||||
DBUG_RETURN(1);
|
||||
@ -292,7 +292,7 @@ int chk_size(MI_CHECK *param, register MI_INFO *info)
|
||||
error=1;
|
||||
mi_check_print_error(param,"Size of datafile is: %-8s Should be: %s",
|
||||
llstr(size,buff), llstr(skr,buff2));
|
||||
param->retry_without_quick=1; // Don't use quick repair
|
||||
param->retry_without_quick=1; /* Don't use quick repair */
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -291,9 +291,9 @@ static int NEAR_F merge_many_buff(MI_SORT_PARAM *info, uint keys,
|
||||
temp=from_file; from_file=to_file; to_file=temp;
|
||||
*maxbuffer= (int) (lastbuff-buffpek)-1;
|
||||
}
|
||||
close_cached_file(to_file); // This holds old result
|
||||
close_cached_file(to_file); /* This holds old result */
|
||||
if (to_file == t_file)
|
||||
*t_file=t_file2; // Copy result file
|
||||
*t_file=t_file2; /* Copy result file */
|
||||
|
||||
DBUG_RETURN(*maxbuffer >= MERGEBUFF2); /* Return 1 if interrupted */
|
||||
} /* merge_many_buff */
|
||||
|
@ -273,6 +273,7 @@ public:
|
||||
virtual uint max_keys() const =0;
|
||||
virtual uint max_key_parts() const =0;
|
||||
virtual uint max_key_length()const =0;
|
||||
virtual uint max_key_part_length() { return 255; }
|
||||
virtual uint min_record_length(uint options) const { return 1; }
|
||||
virtual bool low_byte_first() const { return 1; }
|
||||
virtual bool is_crashed() const { return 0; }
|
||||
|
@ -809,7 +809,7 @@ static void server_init(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SYS_UN_H) && !defined(HAVE_mit_thread)
|
||||
#if defined(HAVE_SYS_UN_H)
|
||||
/*
|
||||
** Create the UNIX socket
|
||||
*/
|
||||
@ -2694,7 +2694,7 @@ The default values (after parsing the command line arguments) are:\n\n");
|
||||
if (opt_slow_logname)
|
||||
printf("update log: %s\n",opt_slow_logname);
|
||||
printf("TCP port: %d\n",mysql_port);
|
||||
#if defined(HAVE_SYS_UN_H) && !defined(HAVE_mit_thread)
|
||||
#if defined(HAVE_SYS_UN_H)
|
||||
printf("Unix socket: %s\n",mysql_unix_port);
|
||||
#endif
|
||||
if (my_disable_locking)
|
||||
|
@ -416,7 +416,8 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
|
||||
{
|
||||
if (f_is_blob(sql_field->pack_flag))
|
||||
{
|
||||
if ((length=column->length) > file->max_key_length())
|
||||
if ((length=column->length) > file->max_key_length() ||
|
||||
length > file->max_key_part_length())
|
||||
{
|
||||
my_error(ER_WRONG_SUB_KEY,MYF(0));
|
||||
DBUG_RETURN(-1);
|
||||
|
@ -491,6 +491,8 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
|
||||
else
|
||||
outparam->primary_key = MAX_KEY; // we do not have a primary key
|
||||
}
|
||||
else
|
||||
outparam->primary_key= MAX_KEY;
|
||||
x_free((gptr) disk_buff);
|
||||
disk_buff=0;
|
||||
if (new_field_pack_flag <= 1)
|
||||
|
Reference in New Issue
Block a user