Commit 9a46698e authored by monty@narttu.mysql.fi's avatar monty@narttu.mysql.fi

Merge with 4.0.11

parents f4e1a2f2 045ac4b8
...@@ -486,6 +486,8 @@ repl-tests/test-repl/sum-wlen-slave.master.re ...@@ -486,6 +486,8 @@ repl-tests/test-repl/sum-wlen-slave.master.re
repl-tests/test-repl/sum-wlen-slave.master.reje repl-tests/test-repl/sum-wlen-slave.master.reje
scripts/fill_func_tables scripts/fill_func_tables
scripts/fill_func_tables.sql scripts/fill_func_tables.sql
scripts/fill_help_tables
scripts/fill_help_tables.sql
scripts/make_binary_distribution scripts/make_binary_distribution
scripts/msql2mysql scripts/msql2mysql
scripts/mysql_config scripts/mysql_config
...@@ -570,6 +572,9 @@ strings/ctype_autoconf.c ...@@ -570,6 +572,9 @@ strings/ctype_autoconf.c
strings/ctype_extra_sources.c strings/ctype_extra_sources.c
support-files/MacOSX/Description.plist support-files/MacOSX/Description.plist
support-files/MacOSX/Info.plist support-files/MacOSX/Info.plist
support-files/MacOSX/StartupParameters.plist
support-files/MacOSX/postinstall
support-files/MacOSX/preinstall
support-files/binary-configure support-files/binary-configure
support-files/my-huge.cnf support-files/my-huge.cnf
support-files/my-large.cnf support-files/my-large.cnf
...@@ -596,5 +601,3 @@ vio/test-ssl ...@@ -596,5 +601,3 @@ vio/test-ssl
vio/test-sslclient vio/test-sslclient
vio/test-sslserver vio/test-sslserver
vio/viotest-ssl vio/viotest-ssl
scripts/fill_help_tables.sql
scripts/fill_help_tables
...@@ -11,7 +11,7 @@ done ...@@ -11,7 +11,7 @@ done
commands="\ commands="\
$make -k clean || true $make -k clean || true
/bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache /bin/rm -rf */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache bdb/dist/autom4te.cache autom4te.cache innobase/autom4te.cache;
aclocal || (echo \"Can't execute aclocal\" && exit 1) aclocal || (echo \"Can't execute aclocal\" && exit 1)
autoheader || (echo \"Can't execute autoheader\" && exit 1) autoheader || (echo \"Can't execute autoheader\" && exit 1)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
path=`dirname $0` path=`dirname $0`
. "$path/SETUP.sh" . "$path/SETUP.sh"
extra_flags="$pentium_cflags $debug_cflags" extra_flags="$pentium_cflags $debug_cflags -DBIG_TABLES"
c_warnings="$c_warnings $debug_extra_warnings" c_warnings="$c_warnings $debug_extra_warnings"
cxx_warnings="$cxx_warnings $debug_extra_warnings" cxx_warnings="$cxx_warnings $debug_extra_warnings"
extra_configs="$pentium_configs $debug_configs" extra_configs="$pentium_configs $debug_configs"
......
...@@ -18,6 +18,7 @@ bk@admin.bk ...@@ -18,6 +18,7 @@ bk@admin.bk
davida@isil.mysql.com davida@isil.mysql.com
gluh@gluh.(none) gluh@gluh.(none)
gluh@gluh.mysql.r18.ru gluh@gluh.mysql.r18.ru
greg@mysql.com
guilhem@mysql.com guilhem@mysql.com
gweir@work.mysql.com gweir@work.mysql.com
heikki@donna.mysql.fi heikki@donna.mysql.fi
......
This diff is collapsed.
#!/usr/bin/perl -w
#
# Do-pkg - convert a binary distribution into a Mac OS X PKG and put it
# inside a Disk Image (.dmg)
#
# Use the "--help" option for more info!
#
# written by Lenz Grimmer <lenz@mysql.com>
#
use Getopt::Long;
Getopt::Long::Configure ("bundling");
$opt_dry_run= undef;
$opt_help= undef;
$opt_log= undef;
$opt_mail= "";
$opt_suffix= undef;
$opt_verbose= undef;
$opt_version= undef;
GetOptions(
"dry-run",
"help|h",
"log|l:s",
"mail|m=s",
"suffix=s",
"verbose|v",
"version=s",
) || &print_help;
# Include helper functions
chomp($PWD= `pwd`);
$LOGGER= "$PWD/logger.pm";
if (-f $LOGGER)
{
do "$LOGGER";
}
else
{
die "ERROR: $LOGGER cannot be found!\n";
}
$PM= "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker";
$TMP= "/tmp/PKGBUILD";
$PKGROOT= "$TMP/PMROOT";
$PKGDEST= "$TMP/PKG";
$RESOURCE_DIR= "$TMP/Resources";
$SUFFIX= $opt_suffix;
$VERSION= $opt_version;
($MAJOR, $MINOR, $RELEASE)= split(/\./, $VERSION);
$NAME= "mysql$SUFFIX-$VERSION";
chomp($HOST= `hostname`);
chomp($ID= `whoami`);
$HOST=~ /^([^.-]*)/;
$HOST= $1;
$LOGFILE= "$PWD/Logs/$HOST-$MAJOR.$MINOR$SUFFIX.log";
$BUILDDIR= "$PWD/$HOST";
$SUPFILEDIR= <$BUILDDIR/mysql*-$VERSION/support-files/MacOSX>;
$TAR= <$BUILDDIR/$NAME-apple-darwin*-powerpc.tar.gz>;
$INFO= <$SUPFILEDIR/Info.plist>;
$DESC= <$SUPFILEDIR/Description.plist>;
@RESOURCES= qw/ ReadMe.txt postinstall preinstall /;
&print_help("") if ($opt_help || !$opt_suffix || !$opt_version);
#
# Override predefined Log file name
#
if (defined $opt_log)
{
if ($opt_log ne "")
{
if ($opt_log =~ /^\/.*/)
{
$LOGFILE= $opt_log;
}
else
{
$LOGFILE= $PWD . "/" . $opt_log;
}
}
}
# Creating the UFS disk image requires root privileges
die("You must be root to run this script!") if ($ID ne "root" && !$opt_dry_run);
foreach $file ($TAR, $INFO, $DESC)
{
&abort("Unable to find $file!") if (!-f $file);
}
# Remove old temporary build directories first
&logger("Cleaning up temporary build directories");
&run_command("rm -rf $TMP", "Could not clean up $TMP!");
&logger("Creating temp directories");
foreach $dir ($TMP, $PKGROOT, $PKGDEST, $RESOURCE_DIR)
{
if (!-d $dir)
{
&run_command("mkdir $dir", "Could not make directory $dir!");
}
}
foreach $resfile (@RESOURCES)
{
$command= "cp $SUPFILEDIR/$resfile $RESOURCE_DIR";
&run_command($command, "Error while copying $SUPFILEDIR/$resfile to $RESOURCE_DIR");
}
# Extract the binary tarball and create the "mysql" symlink
&logger("Extracting $TAR to $PKGROOT");
&run_command("gnutar zxf $TAR -C $PKGROOT", "Unable to extract $TAR!");
&run_command("cd $PKGROOT ; ln -s mysql* ./mysql", "Unable to create symlink!");
&run_command("chown -R root.wheel $PKGROOT/*", "Cannot chown $PKGROOT!");
# Now build the PGK using PackageMaker
# The "|| true" is a nasty hack to work around a problem with Package Maker
# returning a non-zero value, even though the package was created correctly
&logger("Running PackageMaker");
$command= "$PM -build -p $PKGDEST/$NAME.pkg -f $PKGROOT -r $RESOURCE_DIR -i $INFO -d $DESC || true";
&run_command($command, "Error while building package!");
&logger("Removing $PKGROOT");
&run_command("rm -rf $PKGROOT", "Unable to remove $PKGROOT!");
# Determine the size of the Disk image to be created and add a 5% safety
# margin for filesystem overhead
&logger("Determining required disk image size for $PKGDEST");
if (! $opt_dry_run)
{
chomp($_= `du -sk $PKGDEST`);
@size= split();
$size= int($size[0]+($size[0]*0.05));
&logger("Disk image size: $size KB");
}
&abort("Zero bytes? Something is wrong here!") if ($size == 0);
# Now create and mount the disk image
$TMPNAME= $NAME . ".tmp";
&logger("Creating temporary Disk image $TMPNAME.dmg");
$command= "hdiutil create $TMPNAME -size ${size}k -ov -fs UFS -volname $NAME";
&run_command($command, "Unable to create disk image $TMPNAME.dmg!");
&logger("Attaching Disk image $TMPNAME.dmg");
&run_command("hdid $TMPNAME.dmg", "Unable to attach $TMPNAME.dmg!");
# Install the PKG into the .dmg
chomp($mountpoint=`mount | grep "\/Volumes\/$NAME" | cut -f3 -d" "`) if (!$opt_dry_run);
&logger("Copying $PKGDEST/$NAME.pkg to Disk image /Volumes/$NAME");
&run_command("ditto $PKGDEST /Volumes/$NAME", "Could not copy $PKGDEST to /Volumes/$NAME!");
&run_command("ditto $RESOURCE_DIR/ReadMe.txt /Volumes/$NAME", "Could not copy $RESOURCE_DIR/ReadMe.txt to /Volumes/$NAME!");
chomp($mountpoint=`mount | grep "\/Volumes\/$NAME" | cut -f1 -d" "`) if (!$opt_dry_run);
&abort("/Volumes/$NAME not attached!") if (!$mountpoint && !$opt_dry_run);
&logger("Unmounting $mountpoint");
&run_command("hdiutil detach $mountpoint", "Unable to detach $mountpoint");
&run_command("rm -f $NAME.dmg", "Unable to remove $NAME.dmg!") if (-f "$NAME.dmg");
&logger("Compressing disk image");
$command= "hdiutil convert $TMPNAME.dmg -format UDZO -imagekey zlib-level=9 -o $NAME.dmg";
&run_command($command, "Unable to compress disk image!");
# Final cleanups
&logger("Removing $TMPNAME.dmg");
&run_command("rm -f $TMPNAME.dmg", "Unable to remove $TMPNAME.dmg!");
&logger("Removing $TMP");
&run_command("rm -rf $TMP", "Unable to remove $TMP!");
&logger("SUCCESS: $NAME.dmg created.") if (!$opt_dry_run);
exit 0;
sub print_help
{
my $message= $_[0];
if ($message ne "")
{
print "\n";
print "ERROR: $message\n";
}
print <<EOF;
Usage: Do-pkg <options> --suffix=<suffix> --version=<version>
Creates a Mac OS X installation package (PKG) and stores it inside
a Disk Image (.dmg) file. You need to create a binary distribution
tarball with scripts/make_binary_distribution first!
NOTE: You need to run this script with root privileges (required
to create the disk image)
Options:
--dry-run Dry run without executing
-h, --help Print this help
-l, --log[=<filename>] Write a log file [to <filename>]
(default is "$LOGFILE")
-m, --mail=<address> Mail a failure report to the given address
(and include a log file snippet, if logging
is enabled)
Note that the \@-Sign needs to be quoted!
Example: --mail=user\\\@domain.com
--suffix=<suffix> The package suffix (e.g. "-standard" or "-pro)
--version=<version> The MySQL version number (e.g. 4.0.11-gamma)
-v, --verbose Verbose execution
EOF
exit 1;
}
# Helper functions
#
# Create a log entry
#
sub logger
{
my $message=$_[0];
print timestamp() . " " . $message . "\n" if $opt_verbose;
if (defined $opt_log && !$opt_dry_run)
{
open LOG, ">>$LOGFILE" or die "Can't open logfile $LOGFILE!";
print LOG timestamp() . " " . $message . "\n";
close LOG;
}
}
#
# run_command(<command>,<error message>)
# Execute the given command or die with the respective error message
# Just print out the command when doing a dry run
#
sub run_command
{
my $command= $_[0];
my $errormsg= $_[1];
if ($opt_dry_run)
{
print "$command\n";
}
else
{
&logger($command);
$command.= " >> $LOGFILE 2>&1" if defined $opt_log;
$command.= " > /dev/null" if (!$opt_verbose && !$opt_log);
system($command) == 0 or &abort("$errormsg\n");
}
}
#
# abort(<message>)
# Exit with giving out the given error message or by sending
# it via email to the given mail address (including a log file snippet,
# if available)
#
sub abort
{
my $message= $_[0];
my $messagefile;
$message= "ERROR: " . $message;
&logger($message);
if ($opt_mail && !$opt_dry_run)
{
$messagefile= "/tmp/message.$$";
$subject= "Bootstrap of $REPO failed";
open(TMP,">$messagefile");
print TMP "$message\n\n";
close TMP;
if (defined $opt_log)
{
system("tail -n 40 $LOGFILE >> $messagefile");
}
system("mail -s \"$subject\" $opt_mail < $messagefile");
unlink($messagefile);
}
exit 1;
}
# Create a time stamp for logging purposes
sub timestamp
{
return &ymd() . " " . &hms();
}
#
# return the current time as a string (HH:MM:SS)
#
sub hms
{
my @ta= localtime(time());
my $h= $ta[2];
$h= "0" . "$h" if ($h <= 9);
my $m= $ta[1];
$m= "0" . "$m" if ($m <= 9);
my $s= $ta[0];
$s="0" . "$s" if ($s <= 9);
return "$h:$m:$s";
}
#
# return the current date as a string (YYYYMMDD)
#
sub ymd
{
my @ta=localtime(time());
my $d=$ta[3];
$d="0" . "$d" if ($d <= 9);
my $m=$ta[4]+1;
$m="0" . "$m" if ($m <= 9);
my $y=1900+$ta[5];
return "$y$m$d";
}
...@@ -22,7 +22,7 @@ targets = manual.txt mysql.info manual.html ...@@ -22,7 +22,7 @@ targets = manual.txt mysql.info manual.html
BUILT_SOURCES = $(targets) manual_toc.html include.texi BUILT_SOURCES = $(targets) manual_toc.html include.texi
EXTRA_DIST = $(noinst_SCRIPTS) $(BUILT_SOURCES) mysqld_error.txt \ EXTRA_DIST = $(noinst_SCRIPTS) $(BUILT_SOURCES) mysqld_error.txt \
INSTALL-BINARY mirrors.texi INSTALL-BINARY reservedwords.texi
all: $(targets) txt_files all: $(targets) txt_files
......
...@@ -987,8 +987,8 @@ case $SYSTEM_TYPE in ...@@ -987,8 +987,8 @@ case $SYSTEM_TYPE in
# Fixes for HPUX 11.0 compiler # Fixes for HPUX 11.0 compiler
if test "$ac_cv_prog_gcc" = "no" if test "$ac_cv_prog_gcc" = "no"
then then
CFLAGS="$CFLAGS +DD64 -DHAVE_BROKEN_INLINE" CFLAGS="$CFLAGS -DHAVE_BROKEN_INLINE"
CXXFLAGS="$CXXFLAGS +DD64 +O2" CXXFLAGS="$CXXFLAGS +O2"
MAX_C_OPTIMIZE="" MAX_C_OPTIMIZE=""
MAX_CXX_OPTIMIZE="" MAX_CXX_OPTIMIZE=""
fi fi
...@@ -2274,7 +2274,9 @@ AC_ARG_WITH(extra-charsets, ...@@ -2274,7 +2274,9 @@ AC_ARG_WITH(extra-charsets,
AC_MSG_CHECKING("character sets") AC_MSG_CHECKING("character sets")
if test "$extra_charsets" = none; then if test "$extra_charsets" = no; then
CHARSETS=""
elif test "$extra_charsets" = none; then
CHARSETS="" CHARSETS=""
elif test "$extra_charsets" = complex; then elif test "$extra_charsets" = complex; then
CHARSETS="$CHARSETS_COMPLEX" CHARSETS="$CHARSETS_COMPLEX"
...@@ -2669,7 +2671,6 @@ AC_OUTPUT(Makefile extra/Makefile mysys/Makefile isam/Makefile dnl ...@@ -2669,7 +2671,6 @@ AC_OUTPUT(Makefile extra/Makefile mysys/Makefile isam/Makefile dnl
include/Makefile sql-bench/Makefile tools/Makefile dnl include/Makefile sql-bench/Makefile tools/Makefile dnl
tests/Makefile Docs/Makefile support-files/Makefile dnl tests/Makefile Docs/Makefile support-files/Makefile dnl
support-files/MacOSX/Makefile mysql-test/Makefile dnl support-files/MacOSX/Makefile mysql-test/Makefile dnl
netware/Makefile dnl
include/mysql_version.h dnl include/mysql_version.h dnl
, , [ , , [
test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
......
...@@ -49,6 +49,21 @@ ...@@ -49,6 +49,21 @@
/* The following is parameter to ha_rkey() how to use key */ /* The following is parameter to ha_rkey() how to use key */
/* We define a complete-field prefix of a key value as a prefix where the
last included field in the prefix contains the full field, not just some bytes
from the start of the field. A partial-field prefix is allowed to
contain only a few first bytes from the last included field.
Below HA_READ_KEY_EXACT, ..., HA_READ_BEFORE_KEY can take a
complete-field prefix of a key value as the search key. HA_READ_PREFIX
and HA_READ_PREFIX_LAST could also take a partial-field prefix, but
currently (4.0.10) they are only used with complete-field prefixes. MySQL uses
a padding trick to implement LIKE 'abc%' queries.
NOTE that in InnoDB HA_READ_PREFIX_LAST will NOT work with a partial-field
prefix because InnoDB currently strips spaces from the end of varchar
fields! */
enum ha_rkey_function { enum ha_rkey_function {
HA_READ_KEY_EXACT, /* Find first record else error */ HA_READ_KEY_EXACT, /* Find first record else error */
HA_READ_KEY_OR_NEXT, /* Record or next record */ HA_READ_KEY_OR_NEXT, /* Record or next record */
......
...@@ -444,6 +444,11 @@ int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, ...@@ -444,6 +444,11 @@ int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
struct timespec *abstime); struct timespec *abstime);
#endif #endif
#if defined(HPUX10)
#define pthread_attr_getstacksize(A,B) my_pthread_attr_getstacksize(A,B)
void my_pthread_attr_getstacksize(pthread_attr_t *attrib, size_t *size);
#endif
#if defined(HAVE_POSIX1003_4a_MUTEX) && !defined(DONT_REMAP_PTHREAD_FUNCTIONS) #if defined(HAVE_POSIX1003_4a_MUTEX) && !defined(DONT_REMAP_PTHREAD_FUNCTIONS)
#undef pthread_mutex_trylock #undef pthread_mutex_trylock
#define pthread_mutex_trylock(a) my_pthread_mutex_trylock((a)) #define pthread_mutex_trylock(a) my_pthread_mutex_trylock((a))
......
...@@ -2488,7 +2488,9 @@ ibuf_merge_or_delete_for_page( ...@@ -2488,7 +2488,9 @@ ibuf_merge_or_delete_for_page(
ulint old_bits; ulint old_bits;
ulint new_bits; ulint new_bits;
dulint max_trx_id; dulint max_trx_id;
ibool corruption_noticed = FALSE;
mtr_t mtr; mtr_t mtr;
char err_buf[500];
if (srv_force_recovery >= SRV_FORCE_NO_IBUF_MERGE) { if (srv_force_recovery >= SRV_FORCE_NO_IBUF_MERGE) {
...@@ -2540,7 +2542,38 @@ ibuf_merge_or_delete_for_page( ...@@ -2540,7 +2542,38 @@ ibuf_merge_or_delete_for_page(
block = buf_block_align(page); block = buf_block_align(page);
rw_lock_x_lock_move_ownership(&(block->lock)); rw_lock_x_lock_move_ownership(&(block->lock));
ut_a(fil_page_get_type(page) == FIL_PAGE_INDEX); if (fil_page_get_type(page) != FIL_PAGE_INDEX) {
corruption_noticed = TRUE;
ut_print_timestamp(stderr);
mtr_start(&mtr);
fprintf(stderr,
" InnoDB: Dump of the ibuf bitmap page:\n");
bitmap_page = ibuf_bitmap_get_map_page(space, page_no,
&mtr);
buf_page_print(bitmap_page);
mtr_commit(&mtr);
fprintf(stderr, "\nInnoDB: Dump of the page:\n");
buf_page_print(page);
fprintf(stderr,
"InnoDB: Error: corruption in the tablespace. Bitmap shows insert\n"
"InnoDB: buffer records to page n:o %lu though the page\n"
"InnoDB: type is %lu, which is not an index page!\n"
"InnoDB: We try to resolve the problem by skipping the insert buffer\n"
"InnoDB: merge for this page. Please run CHECK TABLE on your tables\n"
"InnoDB: to determine if they are corrupt after this.\n\n"
"InnoDB: Please make a detailed bug report and send it to\n"
"InnoDB: mysql@lists.mysql.com\n\n",
page_no, fil_page_get_type(page));
}
} }
n_inserts = 0; n_inserts = 0;
...@@ -2584,7 +2617,13 @@ loop: ...@@ -2584,7 +2617,13 @@ loop:
goto reset_bit; goto reset_bit;
} }
if (page) { if (corruption_noticed) {
rec_sprintf(err_buf, 450, ibuf_rec);
fprintf(stderr,
"InnoDB: Discarding record\n %s\n from the insert buffer!\n\n", err_buf);
} else if (page) {
/* Now we have at pcur a record which should be /* Now we have at pcur a record which should be
inserted to the index page; NOTE that the call below inserted to the index page; NOTE that the call below
copies pointers to fields in ibuf_rec, and we must copies pointers to fields in ibuf_rec, and we must
......
...@@ -120,6 +120,53 @@ page_cur_try_search_shortcut( ...@@ -120,6 +120,53 @@ page_cur_try_search_shortcut(
#endif #endif
/********************************************************************
Checks if the nth field in a record is a character type field which extends
the nth field in tuple, i.e., the field is longer or equal in length and has
common first characters. */
static
ibool
page_cur_rec_field_extends(
/*=======================*/
/* out: TRUE if rec field extends tuple
field */
dtuple_t* tuple, /* in: data tuple */
rec_t* rec, /* in: record */
ulint n) /* in: compare nth field */
{
dtype_t* type;
dfield_t* dfield;
byte* rec_f;
ulint rec_f_len;
dfield = dtuple_get_nth_field(tuple, n);
type = dfield_get_type(dfield);
rec_f = rec_get_nth_field(rec, n, &rec_f_len);
if (type->mtype == DATA_VARCHAR
|| type->mtype == DATA_CHAR
|| type->mtype == DATA_FIXBINARY
|| type->mtype == DATA_BINARY
|| type->mtype == DATA_BLOB
|| type->mtype == DATA_VARMYSQL
|| type->mtype == DATA_MYSQL) {
if (dfield_get_len(dfield) != UNIV_SQL_NULL
&& rec_f_len != UNIV_SQL_NULL
&& rec_f_len >= dfield_get_len(dfield)
&& 0 == cmp_data_data_slow(type, dfield_get_data(dfield),
dfield_get_len(dfield),
rec_f, dfield_get_len(dfield))) {
return(TRUE);
}
}
return(FALSE);
}
/******************************************************************** /********************************************************************
Searches the right position for a page cursor. */ Searches the right position for a page cursor. */
...@@ -239,16 +286,8 @@ page_cur_search_with_match( ...@@ -239,16 +286,8 @@ page_cur_search_with_match(
} else if (cmp == -1) { } else if (cmp == -1) {
if (mode == PAGE_CUR_LE_OR_EXTENDS if (mode == PAGE_CUR_LE_OR_EXTENDS
&& dfield_get_len(dtuple_get_nth_field(tuple, && page_cur_rec_field_extends(tuple, mid_rec,
cur_matched_fields)) cur_matched_fields)) {
== cur_matched_bytes
&& rec_get_nth_field_len(mid_rec,
cur_matched_fields)
!= UNIV_SQL_NULL) {
/* This means current dfield is not SQL
NULL, and the current rec field extends it */
low = mid; low = mid;
low_matched_fields = cur_matched_fields; low_matched_fields = cur_matched_fields;
low_matched_bytes = cur_matched_bytes; low_matched_bytes = cur_matched_bytes;
...@@ -296,16 +335,8 @@ page_cur_search_with_match( ...@@ -296,16 +335,8 @@ page_cur_search_with_match(
} else if (cmp == -1) { } else if (cmp == -1) {
if (mode == PAGE_CUR_LE_OR_EXTENDS if (mode == PAGE_CUR_LE_OR_EXTENDS
&& dfield_get_len(dtuple_get_nth_field(tuple, && page_cur_rec_field_extends(tuple, mid_rec,
cur_matched_fields)) cur_matched_fields)) {
== cur_matched_bytes
&& rec_get_nth_field_len(mid_rec,
cur_matched_fields)
!= UNIV_SQL_NULL) {
/* This means current dfield is not SQL
NULL, and the current rec field extends it */
low_rec = mid_rec; low_rec = mid_rec;
low_matched_fields = cur_matched_fields; low_matched_fields = cur_matched_fields;
low_matched_bytes = cur_matched_bytes; low_matched_bytes = cur_matched_bytes;
......
...@@ -1926,7 +1926,19 @@ row_sel_convert_mysql_key_to_innobase( ...@@ -1926,7 +1926,19 @@ row_sel_convert_mysql_key_to_innobase(
if (key_ptr > key_end) { if (key_ptr > key_end) {
/* The last field in key was not a complete /* The last field in key was not a complete
field but a prefix of it */ field but a prefix of it.
Print a warning about this! HA_READ_PREFIX_LAST
does not currently work in InnoDB with partial-field
key value prefixes. Since MySQL currently uses a
padding trick to calculate LIKE 'abc%' type queries
there should never be partial-field prefixes
in searches. */
ut_print_timestamp(stderr);
fprintf(stderr,
" InnoDB: Warning: using a partial-field key prefix in search\n");
ut_ad(dfield_get_len(dfield) != UNIV_SQL_NULL); ut_ad(dfield_get_len(dfield) != UNIV_SQL_NULL);
......
...@@ -81,7 +81,7 @@ ut_malloc_low( ...@@ -81,7 +81,7 @@ ut_malloc_low(
fprintf(stderr, fprintf(stderr,
" InnoDB: Fatal error: cannot allocate %lu bytes of\n" " InnoDB: Fatal error: cannot allocate %lu bytes of\n"
"InnoDB: memory with malloc! Total allocated memory\n" "InnoDB: memory with malloc! Total allocated memory\n"
"InnoDB: by InnoDB %lu bytes. Operating system errno: %d\n" "InnoDB: by InnoDB %lu bytes. Operating system errno: %lu\n"
"InnoDB: Cannot continue operation!\n" "InnoDB: Cannot continue operation!\n"
"InnoDB: Check if you should increase the swap file or\n" "InnoDB: Check if you should increase the swap file or\n"
"InnoDB: ulimits of your operating system.\n" "InnoDB: ulimits of your operating system.\n"
...@@ -89,7 +89,13 @@ ut_malloc_low( ...@@ -89,7 +89,13 @@ ut_malloc_low(
"InnoDB: a big enough maximum process size.\n" "InnoDB: a big enough maximum process size.\n"
"InnoDB: We now intentionally generate a seg fault so that\n" "InnoDB: We now intentionally generate a seg fault so that\n"
"InnoDB: on Linux we get a stack trace.\n", "InnoDB: on Linux we get a stack trace.\n",
n, ut_total_allocated_memory, errno); n, ut_total_allocated_memory,
#ifdef __WIN__
(ulint)GetLastError()
#else
(ulint)errno
#endif
);
/* Flush stderr to make more probable that the error /* Flush stderr to make more probable that the error
message gets in the error file before we generate a seg message gets in the error file before we generate a seg
......
...@@ -962,11 +962,11 @@ static int myisamchk(MI_CHECK *param, my_string filename) ...@@ -962,11 +962,11 @@ static int myisamchk(MI_CHECK *param, my_string filename)
uint key; uint key;
/* /*
We can't update the index in mi_sort_records if we have a We can't update the index in mi_sort_records if we have a
prefix compressed index prefix compressed or fulltext index
*/ */
my_bool update_index=1; my_bool update_index=1;
for (key=0 ; key < share->base.keys; key++) for (key=0 ; key < share->base.keys; key++)
if (share->keyinfo[key].flag & HA_BINARY_PACK_KEY) if (share->keyinfo[key].flag & (HA_BINARY_PACK_KEY|HA_FULLTEXT))
update_index=0; update_index=0;
error=mi_sort_records(param,info,filename,param->opt_sort_key, error=mi_sort_records(param,info,filename,param->opt_sort_key,
...@@ -1417,6 +1417,13 @@ static int mi_sort_records(MI_CHECK *param, ...@@ -1417,6 +1417,13 @@ static int mi_sort_records(MI_CHECK *param,
param->error_printed=0; param->error_printed=0;
DBUG_RETURN(-1); DBUG_RETURN(-1);
} }
if (keyinfo->flag & HA_FULLTEXT)
{
mi_check_print_error(param,"Can't sort table '%s' on FULLTEXT key %d",
name,sort_key+1);
param->error_printed=0;
DBUG_RETURN(-1);
}
if (!(param->testflag & T_SILENT)) if (!(param->testflag & T_SILENT))
{ {
printf("- Sorting records for MyISAM-table '%s'\n",name); printf("- Sorting records for MyISAM-table '%s'\n",name);
......
...@@ -1120,7 +1120,7 @@ run_testcase () ...@@ -1120,7 +1120,7 @@ run_testcase ()
slave_opt_file=$TESTDIR/$tname-slave.opt slave_opt_file=$TESTDIR/$tname-slave.opt
master_init_script=$TESTDIR/$tname-master.sh master_init_script=$TESTDIR/$tname-master.sh
slave_init_script=$TESTDIR/$tname-slave.sh slave_init_script=$TESTDIR/$tname-slave.sh
slave_master_info_file=$TESTDIR/$tname-slave-master-info.opt slave_master_info_file=$TESTDIR/$tname.slave-mi
echo $tname > $CURRENT_TEST echo $tname > $CURRENT_TEST
SKIP_SLAVE=`$EXPR \( $tname : rpl \) = 0` SKIP_SLAVE=`$EXPR \( $tname : rpl \) = 0`
if [ $USE_MANAGER = 1 ] ; then if [ $USE_MANAGER = 1 ] ; then
......
...@@ -8,6 +8,9 @@ select 9223372036854775807,-009223372036854775808; ...@@ -8,6 +8,9 @@ select 9223372036854775807,-009223372036854775808;
select +9999999999999999999,-9999999999999999999; select +9999999999999999999,-9999999999999999999;
+9999999999999999999 -9999999999999999999 +9999999999999999999 -9999999999999999999
10000000000000000000 -10000000000000000000 10000000000000000000 -10000000000000000000
select cast(9223372036854775808 as unsigned)+1;
cast(9223372036854775808 as unsigned)+1
9223372036854775809
select 9223372036854775808+1; select 9223372036854775808+1;
9223372036854775808+1 9223372036854775808+1
9223372036854775808 9223372036854775808
......
...@@ -131,7 +131,6 @@ a b ...@@ -131,7 +131,6 @@ a b
handler t2 read next; handler t2 read next;
a b a b
18 eee 18 eee
alter table t1 type=MyISAM;
handler t2 read next; handler t2 read next;
a b a b
19 fff 19 fff
...@@ -144,4 +143,8 @@ create table t1 (a int); ...@@ -144,4 +143,8 @@ create table t1 (a int);
insert into t1 values (17); insert into t1 values (17);
handler t2 read first; handler t2 read first;
Unknown table 't2' in HANDLER Unknown table 't2' in HANDLER
handler t1 open as t2;
alter table t1 type=MyISAM;
handler t2 read first;
Unknown table 't2' in HANDLER
drop table t1; drop table t1;
...@@ -1057,6 +1057,12 @@ create table t2 (b varchar(10) not null unique) type=innodb; ...@@ -1057,6 +1057,12 @@ create table t2 (b varchar(10) not null unique) type=innodb;
select t1.a from t1,t2 where t1.a=t2.b; select t1.a from t1,t2 where t1.a=t2.b;
a a
drop table t1,t2; drop table t1,t2;
create table t1 (a int not null, b int, primary key (a)) type = innodb;
create table t2 (a int not null, b int, primary key (a)) type = innodb;
insert into t1 values (10, 20);
insert into t2 values (10, 20);
update t1, t2 set t1.b = 150, t2.b = t1.b where t2.a = t1.a and t1.a = 10;
drop table t1,t2;
CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB; CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB;
CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id), FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE CASCADE ) TYPE=INNODB; CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id), FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE CASCADE ) TYPE=INNODB;
insert into t1 set id=1; insert into t1 set id=1;
......
...@@ -129,11 +129,14 @@ a b ...@@ -129,11 +129,14 @@ a b
handler t2 read next; handler t2 read next;
a b a b
18 eee 18 eee
alter table t1 type=innodb;
handler t2 read next;
a b
19 fff
handler t2 read last; handler t2 read last;
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
handler t2 close; handler t2 close;
handler t1 open as t2;
handler t2 read first;
a b
17 ddd
alter table t1 type=innodb;
handler t2 read first;
Unknown table 't2' in HANDLER
drop table if exists t1; drop table if exists t1;
...@@ -555,3 +555,14 @@ Table 'test.t1' doesn't exist ...@@ -555,3 +555,14 @@ Table 'test.t1' doesn't exist
drop table t2; drop table t2;
select * from t1 where id=2; select * from t1 where id=2;
Table 'test.t1' doesn't exist Table 'test.t1' doesn't exist
create table t1 (word char(20) not null);
select * from t1;
word
show status like "Qcache_queries_in_cache";
Variable_name Value
Qcache_queries_in_cache 1
load data infile '../../std_data/words.dat' into table t1;
show status like "Qcache_queries_in_cache";
Variable_name Value
Qcache_queries_in_cache 0
drop table t1;
...@@ -11,6 +11,13 @@ drop table if exists t1; ...@@ -11,6 +11,13 @@ drop table if exists t1;
select 0,256,00000000000000065536,2147483647,-2147483648,2147483648,+4294967296; select 0,256,00000000000000065536,2147483647,-2147483648,2147483648,+4294967296;
select 9223372036854775807,-009223372036854775808; select 9223372036854775807,-009223372036854775808;
select +9999999999999999999,-9999999999999999999; select +9999999999999999999,-9999999999999999999;
select cast(9223372036854775808 as unsigned)+1;
#
# We need to do a REPLACE here as the atof() function returns different
# values on True64 and HPUX11
#
--replace_result 9223372036854775800 9223372036854775808
select 9223372036854775808+1; select 9223372036854775808+1;
# #
# In 3.23 we have to disable the test of column to bigint as # In 3.23 we have to disable the test of column to bigint as
......
...@@ -65,15 +65,13 @@ handler t2 read a=(19) where b="yyy"; ...@@ -65,15 +65,13 @@ handler t2 read a=(19) where b="yyy";
handler t2 read first; handler t2 read first;
handler t2 read next; handler t2 read next;
alter table t1 type=MyISAM;
handler t2 read next; handler t2 read next;
--error 1064 --error 1064
handler t2 read last; handler t2 read last;
handler t2 close; handler t2 close;
# #
# DROP TABLE # DROP TABLE / ALTER TABLE
# #
handler t1 open as t2; handler t1 open as t2;
drop table t1; drop table t1;
...@@ -81,5 +79,9 @@ create table t1 (a int); ...@@ -81,5 +79,9 @@ create table t1 (a int);
insert into t1 values (17); insert into t1 values (17);
--error 1109 --error 1109
handler t2 read first; handler t2 read first;
handler t1 open as t2;
alter table t1 type=MyISAM;
--error 1109
handler t2 read first;
drop table t1; drop table t1;
...@@ -698,6 +698,12 @@ create table t1 (a varchar(10) not null) type=myisam; ...@@ -698,6 +698,12 @@ create table t1 (a varchar(10) not null) type=myisam;
create table t2 (b varchar(10) not null unique) type=innodb; create table t2 (b varchar(10) not null unique) type=innodb;
select t1.a from t1,t2 where t1.a=t2.b; select t1.a from t1,t2 where t1.a=t2.b;
drop table t1,t2; drop table t1,t2;
create table t1 (a int not null, b int, primary key (a)) type = innodb;
create table t2 (a int not null, b int, primary key (a)) type = innodb;
insert into t1 values (10, 20);
insert into t2 values (10, 20);
update t1, t2 set t1.b = 150, t2.b = t1.b where t2.a = t1.a and t1.a = 10;
drop table t1,t2;
# #
# Test of multi-table-delete with foreign key constraints # Test of multi-table-delete with foreign key constraints
......
...@@ -65,15 +65,15 @@ handler t2 read a=(19) where b="yyy"; ...@@ -65,15 +65,15 @@ handler t2 read a=(19) where b="yyy";
handler t2 read first; handler t2 read first;
handler t2 read next; handler t2 read next;
#
# We alter the table even if it's still in use by to test the Innodb
# delayed-drop code. This will generate a warning in the master.err log.
#
alter table t1 type=innodb;
handler t2 read next;
--error 1064 --error 1064
handler t2 read last; handler t2 read last;
handler t2 close; handler t2 close;
handler t1 open as t2;
handler t2 read first;
alter table t1 type=innodb;
--error 1109
handler t2 read first;
drop table if exists t1; drop table if exists t1;
...@@ -388,7 +388,6 @@ select * from mysql.db; ...@@ -388,7 +388,6 @@ select * from mysql.db;
enable_result_log; enable_result_log;
show status like "Qcache_queries_in_cache"; show status like "Qcache_queries_in_cache";
# #
# simple rename test # simple rename test
# #
...@@ -401,3 +400,14 @@ select * from t1 where id=2; ...@@ -401,3 +400,14 @@ select * from t1 where id=2;
drop table t2; drop table t2;
-- error 1146 -- error 1146
select * from t1 where id=2; select * from t1 where id=2;
#
# Load data invalidation test
#
create table t1 (word char(20) not null);
select * from t1;
show status like "Qcache_queries_in_cache";
load data infile '../../std_data/words.dat' into table t1;
show status like "Qcache_queries_in_cache";
drop table t1;
\ No newline at end of file
/* Copyright (C) 2000 MySQL AB /* Copyright (C) 2000-2003 MySQL AB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -393,6 +393,7 @@ int pthread_signal(int sig, void (*func)()) ...@@ -393,6 +393,7 @@ int pthread_signal(int sig, void (*func)())
#undef pthread_cond_wait #undef pthread_cond_wait
#undef pthread_cond_timedwait #undef pthread_cond_timedwait
#undef pthread_cond_t #undef pthread_cond_t
#undef pthread_attr_getstacksize
/***************************************************************************** /*****************************************************************************
** Patches for AIX and DEC OSF/1 3.2 ** Patches for AIX and DEC OSF/1 3.2
...@@ -465,6 +466,15 @@ int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, ...@@ -465,6 +466,15 @@ int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
} }
#endif #endif
#if defined(HPUX10)
void my_pthread_attr_getstacksize(pthread_attr_t *connection_attrib,
size_t *stack_size)
{
*stack_size= pthread_attr_getstacksize(*connection_attrib);
}
#endif
#ifdef HAVE_POSIX1003_4a_MUTEX #ifdef HAVE_POSIX1003_4a_MUTEX
/* /*
......
...@@ -402,6 +402,8 @@ void end_thr_alarm(void) ...@@ -402,6 +402,8 @@ void end_thr_alarm(void)
void thr_alarm_kill(pthread_t thread_id) void thr_alarm_kill(pthread_t thread_id)
{ {
uint i; uint i;
if (alarm_aborted)
return;
pthread_mutex_lock(&LOCK_alarm); pthread_mutex_lock(&LOCK_alarm);
for (i=0 ; i < alarm_queue.elements ; i++) for (i=0 ; i < alarm_queue.elements ; i++)
{ {
......
#! /bin/sh
args=" $*"
wine --debugmsg -all -- mwasmnlm $args
#! /bin/sh
# mwccnlm is having a hard time understanding "-I./../include"
# convert it to "-I../include"
args=" "`echo $* | sed -e 's/-I.\/../-I../g'`
wine --debugmsg -all -- mwccnlm $args
#! /bin/sh
export MYDEV="F:/mysql"
export MWCNWx86Includes="$MYDEV/libc/include"
export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib"
export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib"
export WINEPATH="$MYDEV/mw/bin"
export PATH="$PATH:$HOME/mysql/mysql-4.0/netware/mw"
#! /bin/sh
args=" $*"
wine --debugmsg -all -- mwldnlm $args
...@@ -760,7 +760,7 @@ void run_test(char *test) ...@@ -760,7 +760,7 @@ void run_test(char *test)
// create files // create files
snprintf(master_opt_file, PATH_MAX, "%s/%s-master.opt", test_dir, test); snprintf(master_opt_file, PATH_MAX, "%s/%s-master.opt", test_dir, test);
snprintf(slave_opt_file, PATH_MAX, "%s/%s-slave.opt", test_dir, test); snprintf(slave_opt_file, PATH_MAX, "%s/%s-slave.opt", test_dir, test);
snprintf(slave_master_info_file, PATH_MAX, "%s/%s-slave-master-info.opt", test_dir, test); snprintf(slave_master_info_file, PATH_MAX, "%s/%s.slave-mi", test_dir, test);
snprintf(reject_file, PATH_MAX, "%s/%s%s", result_dir, test, REJECT_SUFFIX); snprintf(reject_file, PATH_MAX, "%s/%s%s", result_dir, test, REJECT_SUFFIX);
snprintf(out_file, PATH_MAX, "%s/%s%s", result_dir, test, OUT_SUFFIX); snprintf(out_file, PATH_MAX, "%s/%s%s", result_dir, test, OUT_SUFFIX);
snprintf(err_file, PATH_MAX, "%s/%s%s", result_dir, test, ERR_SUFFIX); snprintf(err_file, PATH_MAX, "%s/%s%s", result_dir, test, ERR_SUFFIX);
......
#! /bin/sh
# show executed commands
# set -x
# stop on errors
set -e
BD=`pwd`
build=0
build_debug=0
skip_linux=0
# parse arguments
for arg do
case "$arg" in
--build) build=1 ;;
--build-debug) build_debug=1 ;;
--skip-linux) skip_linux=1 ;;
*) echo "$0: unrecognized option: $arg" ;;
esac
done
# run the auto tools
autotools()
{
for package in $BD $BD/innobase
do
echo "cd $package"
cd $package
rm -f config.cache
echo "aclocal"
aclocal
echo "autoheader"
autoheader
echo "libtoolize --force"
libtoolize --force
echo "aclocal"
aclocal
echo "automake --add-missing --force-missing"
automake --add-missing --force-missing
echo "autoconf"
autoconf
done
cd $BD
}
# check the source direcotry
echo "looking for \"$BD/sql/mysqld.cc\"..."
if test ! -r ./sql/mysqld.cc
then
echo "./netware/nwbootstrap must be started from the top source directory"
exit 1
fi
# clean
# make -j 2 -k distclean
rm -f NEW-RPMS/*
rm -f */.deps/*.P
# make files writeable
chmod -R u+rw,g+rw .
# skip linux?
if test $skip_linux -ne 1
then
echo "starting linux build..."
echo "autotools..."
autotools
echo "configuring for linux..."
./configure --without-docs --without-innodb
echo "building for linux..."
make clean all
echo "copying required linux binaries..."
rm -f */*.linux
cp extra/comp_err extra/comp_err.linux
cp libmysql/conf_to_src libmysql/conf_to_src.linux
cp libmysql/conf_to_src libmysql_r/conf_to_src.linux
cp sql/gen_lex_hash sql/gen_lex_hash.linux
cp strings/conf_to_src strings/conf_to_src.linux
echo "cleaning linux build..."
make clean distclean
fi
echo "starting netware build..."
# remove stale Makefile.in.bk files
rm -rf Makefile.in.bk
# start mw enviornment
chmod +x ./netware/nwconfigure
chmod +x ./netware/mw/mwenv
chmod +x ./netware/mw/mwasmnlm
chmod +x ./netware/mw/mwccnlm
chmod +x ./netware/mw/mwldnlm
. ./netware/mw/mwenv
# link nwconfigure
rm -f ./nwconfigure
ln ./netware/nwconfigure ./nwconfigure
# save old builds from previous run
if test -e *.tar.gz
then
rm -f *.tar.gz.old
rename .tar.gz .tar.gz.old *.tar.gz
fi
echo "autotools..."
autotools
# debug build
if test $build_debug -eq 1
then
echo "configuring for netware (debug)..."
./nwconfigure --with-debug=full
echo "building for netware (debug)..."
make clean bin-dist
# mark the debug build
rename .tar.gz -debug.tar.gz *.tar.gz
fi
# release build
if test $build -eq 1
then
echo "configuring for netware..."
./nwconfigure
echo "building for netware..."
make clean bin-dist
fi
echo "done"
#! /bin/sh
CMD="\
AR='mwldnlm' \
AR_FLAGS='-type library -o' \
AS='mwasmnlm' \
CC='mwccnlm -gccincludes' \
CFLAGS='-dialect c -proc 686 -bool on -relax_pointers -DUSE_OLD_FUNCTIONS' \
CXX='mwccnlm -gccincludes' \
CXXFLAGS='-dialect c++ -proc 686 -bool on -relax_pointers' \
LD='mwldnlm' \
LDFLAGS='-entry _LibCPrelude -exit _LibCPostlude -flags pseudopreemption' \
RANLIB=: \
STRIP=: \
./configure --host=i686-pc-netware $* \
--without-docs \
--enable-local-infile \
--with-extra-charsets=all \
--prefix=N:/mysql \
"
#rm -f config.cache config.log config.status
echo $CMD
eval $CMD
...@@ -183,7 +183,7 @@ done ...@@ -183,7 +183,7 @@ done
$CP mysql-test/include/*.inc $BASE/mysql-test/include $CP mysql-test/include/*.inc $BASE/mysql-test/include
$CP mysql-test/std_data/*.dat mysql-test/std_data/*.001 $BASE/mysql-test/std_data $CP mysql-test/std_data/*.dat mysql-test/std_data/*.001 $BASE/mysql-test/std_data
$CP mysql-test/t/*test mysql-test/t/*.opt mysql-test/t/*.sh $BASE/mysql-test/t $CP mysql-test/t/*test mysql-test/t/*.opt mysql-test/t/*.slave-mi mysql-test/t/*.sh $BASE/mysql-test/t
$CP mysql-test/r/*result mysql-test/r/*.require $BASE/mysql-test/r $CP mysql-test/r/*result mysql-test/r/*.require $BASE/mysql-test/r
if [ $BASE_SYSTEM != "netware" ] ; then if [ $BASE_SYSTEM != "netware" ] ; then
......
...@@ -37,7 +37,7 @@ WARNING: THIS PROGRAM IS STILL IN BETA. Comments/patches welcome. ...@@ -37,7 +37,7 @@ WARNING: THIS PROGRAM IS STILL IN BETA. Comments/patches welcome.
# Documentation continued at end of file # Documentation continued at end of file
my $VERSION = "1.17"; my $VERSION = "1.18";
my $opt_tmpdir = $ENV{TMPDIR} || "/tmp"; my $opt_tmpdir = $ENV{TMPDIR} || "/tmp";
...@@ -173,6 +173,7 @@ my $dbh = DBI->connect("dbi:mysql:$dsn;mysql_read_default_group=mysqlhotcopy", ...@@ -173,6 +173,7 @@ my $dbh = DBI->connect("dbi:mysql:$dsn;mysql_read_default_group=mysqlhotcopy",
# --- check that checkpoint table exists if specified --- # --- check that checkpoint table exists if specified ---
if ( $opt{checkpoint} ) { if ( $opt{checkpoint} ) {
$opt{checkpoint} = quote_names( $opt{checkpoint} );
eval { $dbh->do( qq{ select time_stamp, src, dest, msg eval { $dbh->do( qq{ select time_stamp, src, dest, msg
from $opt{checkpoint} where 1 != 1} ); from $opt{checkpoint} where 1 != 1} );
}; };
...@@ -183,6 +184,8 @@ if ( $opt{checkpoint} ) { ...@@ -183,6 +184,8 @@ if ( $opt{checkpoint} ) {
# --- check that log_pos table exists if specified --- # --- check that log_pos table exists if specified ---
if ( $opt{record_log_pos} ) { if ( $opt{record_log_pos} ) {
$opt{record_log_pos} = quote_names( $opt{record_log_pos} );
eval { $dbh->do( qq{ select host, time_stamp, log_file, log_pos, master_host, master_log_file, master_log_pos eval { $dbh->do( qq{ select host, time_stamp, log_file, log_pos, master_host, master_log_file, master_log_pos
from $opt{record_log_pos} where 1 != 1} ); from $opt{record_log_pos} where 1 != 1} );
}; };
...@@ -309,7 +312,7 @@ foreach my $rdb ( @db_desc ) { ...@@ -309,7 +312,7 @@ foreach my $rdb ( @db_desc ) {
$rdb->{files} = [ @db_files ]; $rdb->{files} = [ @db_files ];
$rdb->{index} = [ @index_files ]; $rdb->{index} = [ @index_files ];
my @hc_tables = map { "`$db`.`$_`" } @dbh_tables; my @hc_tables = map { quote_names("$db.$_") } @dbh_tables;
$rdb->{tables} = [ @hc_tables ]; $rdb->{tables} = [ @hc_tables ];
$rdb->{raid_dirs} = [ get_raid_dirs( $rdb->{files} ) ]; $rdb->{raid_dirs} = [ get_raid_dirs( $rdb->{files} ) ];
...@@ -569,7 +572,7 @@ sub copy_files { ...@@ -569,7 +572,7 @@ sub copy_files {
my @non_raid = map { "'$_'" } grep { ! m:/\d{2}/[^/]+$: } @$files; my @non_raid = map { "'$_'" } grep { ! m:/\d{2}/[^/]+$: } @$files;
# add files to copy and the destination directory # add files to copy and the destination directory
safe_system( @cp, @non_raid, "'$target'" ); safe_system( @cp, @non_raid, "'$target'" ) if (@non_raid);
foreach my $rd ( @$raid_dirs ) { foreach my $rd ( @$raid_dirs ) {
my @raid = map { "'$_'" } grep { m:$rd/: } @$files; my @raid = map { "'$_'" } grep { m:$rd/: } @$files;
...@@ -758,6 +761,16 @@ sub get_list_of_tables { ...@@ -758,6 +761,16 @@ sub get_list_of_tables {
return @dbh_tables; return @dbh_tables;
} }
sub quote_names {
my ( $name ) = @_;
# given a db.table name, add quotes
my ($db, $table, @cruft) = split( /\./, $name );
die "Invalid db.table name '$name'" if (@cruft || !defined $db || !defined $table );
return "`$db`.`$table`";
}
__END__ __END__
=head1 DESCRIPTION =head1 DESCRIPTION
......
...@@ -267,6 +267,9 @@ bool opt_large_files= sizeof(my_off_t) > 4; ...@@ -267,6 +267,9 @@ bool opt_large_files= sizeof(my_off_t) > 4;
#define GET_HA_ROWS GET_ULONG #define GET_HA_ROWS GET_ULONG
#endif #endif
#ifdef HAVE_LIBWRAP
char *libwrapName= NULL;
#endif
/* /*
Variables to store startup options Variables to store startup options
...@@ -1883,14 +1886,13 @@ struct utsname ...@@ -1883,14 +1886,13 @@ struct utsname
char nodename[FN_REFLEN]; char nodename[FN_REFLEN];
}; };
int uname(struct utsname *a) int uname(struct utsname *a)
{ {
return -1; return -1;
} }
#endif
#ifdef __WIN__
extern "C" pthread_handler_decl(handle_shutdown,arg) extern "C" pthread_handler_decl(handle_shutdown,arg)
{ {
MSG msg; MSG msg;
...@@ -1906,7 +1908,7 @@ extern "C" pthread_handler_decl(handle_shutdown,arg) ...@@ -1906,7 +1908,7 @@ extern "C" pthread_handler_decl(handle_shutdown,arg)
return 0; return 0;
} }
int __stdcall handle_kill(ulong ctrl_type) int STDCALL handle_kill(ulong ctrl_type)
{ {
if (ctrl_type == CTRL_CLOSE_EVENT || if (ctrl_type == CTRL_CLOSE_EVENT ||
ctrl_type == CTRL_SHUTDOWN_EVENT) ctrl_type == CTRL_SHUTDOWN_EVENT)
...@@ -1948,10 +1950,6 @@ extern "C" pthread_handler_decl(handle_shutdown,arg) ...@@ -1948,10 +1950,6 @@ extern "C" pthread_handler_decl(handle_shutdown,arg)
const char *load_default_groups[]= { "mysqld","server",0 }; const char *load_default_groups[]= { "mysqld","server",0 };
#ifdef HAVE_LIBWRAP
char *libwrapName=NULL;
#endif
bool open_log(MYSQL_LOG *log, const char *hostname, bool open_log(MYSQL_LOG *log, const char *hostname,
const char *opt_name, const char *extension, const char *opt_name, const char *extension,
const char *index_file_name, const char *index_file_name,
......
...@@ -70,6 +70,7 @@ int opt_sum_query(TABLE_LIST *tables, List<Item> &all_fields,COND *conds) ...@@ -70,6 +70,7 @@ int opt_sum_query(TABLE_LIST *tables, List<Item> &all_fields,COND *conds)
if (tl->table->map & where_tables) if (tl->table->map & where_tables)
return 0; return 0;
} }
else
used_tables|= tl->table->map; used_tables|= tl->table->map;
} }
......
v/* v/*
Modifikoval Petr -Bnajdr, snajdr@pvt.net, snajdr@cpress.cz v.0.01 -A Modifikoval Petr -Bnajdr, snajdr@pvt.net, snajdr@cpress.cz v.0.01
ISO LATIN-8852-2 ISO LATIN-8852-2
Dal-B verze Jan Pazdziora, adelton@fi.muni.cz-A Dal-B verze Jan Pazdziora, adelton@fi.muni.cz
Tue Nov 18 17:53:55 MET 1997 Tue Nov 18 17:53:55 MET 1997
Tue Dec 2 19:08:54 MET 1997 podle 3.21.15c Tue Dec 2 19:08:54 MET 1997 podle 3.21.15c
Thu May 7 17:40:49 MET DST 1998 podle 3.21.29 Thu May 7 17:40:49 MET DST 1998 podle 3.21.29
...@@ -147,7 +147,7 @@ v/* ...@@ -147,7 +147,7 @@ v/*
"Nalezen-Bch dk: %ld Zmnno: %ld Varovn: %ld", "Nalezen-Bch dk: %ld Zmnno: %ld Varovn: %ld",
"Nemohu vytvo-Bit nov thread (errno %d). Pokud je jet njak voln pam, podvejte se do manulu na st o chybch specifickch pro jednotliv operan systmy", "Nemohu vytvo-Bit nov thread (errno %d). Pokud je jet njak voln pam, podvejte se do manulu na st o chybch specifickch pro jednotliv operan systmy",
"Po-Bet sloupc neodpovd potu hodnot na dku %ld", "Po-Bet sloupc neodpovd potu hodnot na dku %ld",
"Nemohu znovuotev-Bt tabulku: '%-.64s', "Nemohu znovuotev-Bt tabulku: '%-.64s",
"Neplatn-B uit hodnoty NULL", "Neplatn-B uit hodnoty NULL",
"Regul-Brn vraz vrtil chybu '%-.64s'", "Regul-Brn vraz vrtil chybu '%-.64s'",
"Pokud nen-B dn GROUP BY klauzule, nen dovoleno souasn pouit GROUP poloek (MIN(),MAX(),COUNT()...) s ne GROUP polokami", "Pokud nen-B dn GROUP BY klauzule, nen dovoleno souasn pouit GROUP poloek (MIN(),MAX(),COUNT()...) s ne GROUP polokami",
...@@ -207,7 +207,7 @@ v/* ...@@ -207,7 +207,7 @@ v/*
"Tabulka '%-.64s' je ozna-Bena jako poruen a mla by bt opravena", "Tabulka '%-.64s' je ozna-Bena jako poruen a mla by bt opravena",
"Tabulka '%-.64s' je ozna-Bena jako poruen a posledn (automatick?) oprava se nezdaila", "Tabulka '%-.64s' je ozna-Bena jako poruen a posledn (automatick?) oprava se nezdaila",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
"BLOB feltet '%-.64s' kan ikke have en standard værdi", "BLOB feltet '%-.64s' kan ikke have en standard værdi",
"Ugyldigt database navn '%-.64s'", "Ugyldigt database navn '%-.64s'",
"Ugyldigt tabel navn '%-.64s'", "Ugyldigt tabel navn '%-.64s'",
"SELECT ville undersøge for mange poster og ville sandsynligvis tage meget lang tid. Undersøg WHERE delen og brug SET OPTION SQL_BIG_SELECTS=1 hvis udtrykket er korrekt" "SELECT ville undersøge for mange poster og ville sandsynligvis tage meget lang tid. Undersøg WHERE delen og brug SET OPTION SQL_BIG_SELECTS=1 hvis udtrykket er korrekt",
"Ukendt fejl", "Ukendt fejl",
"Ukendt procedure %s", "Ukendt procedure %s",
"Forkert antal parametre til proceduren %s", "Forkert antal parametre til proceduren %s",
...@@ -141,7 +141,7 @@ ...@@ -141,7 +141,7 @@
"Poster fundet: %ld Ændret: %ld Advarsler: %ld", "Poster fundet: %ld Ændret: %ld Advarsler: %ld",
"Kan ikke danne en ny tråd (fejl nr. %d). Hvis computeren ikke er løbet tør for hukommelse, kan du se i brugervejledningen for en mulig operativ-system - afhængig fejl", "Kan ikke danne en ny tråd (fejl nr. %d). Hvis computeren ikke er løbet tør for hukommelse, kan du se i brugervejledningen for en mulig operativ-system - afhængig fejl",
"Kolonne antallet stemmer ikke overens med antallet af værdier i post %ld", "Kolonne antallet stemmer ikke overens med antallet af værdier i post %ld",
"Kan ikke genåbne tabel '%-.64s', "Kan ikke genåbne tabel '%-.64s",
"Forkert brug af nulværdi (NULL)", "Forkert brug af nulværdi (NULL)",
"Fik fejl '%-.64s' fra regexp", "Fik fejl '%-.64s' fra regexp",
"Sammenblanding af GROUP kolonner (MIN(),MAX(),COUNT()...) uden GROUP kolonner er ikke tilladt, hvis der ikke er noget GROUP BY prædikat", "Sammenblanding af GROUP kolonner (MIN(),MAX(),COUNT()...) uden GROUP kolonner er ikke tilladt, hvis der ikke er noget GROUP BY prædikat",
...@@ -162,7 +162,7 @@ ...@@ -162,7 +162,7 @@
"Fik fejlmeddelelse fra fcntl()", "Fik fejlmeddelelse fra fcntl()",
"Modtog ikke datapakker i korrekt rækkefølge", "Modtog ikke datapakker i korrekt rækkefølge",
"Kunne ikke dekomprimere kommunikations-pakke (communication packet)", "Kunne ikke dekomprimere kommunikations-pakke (communication packet)",
"Fik fejlmeddelelse ved læsning af kommunikations-pakker (communication packets)" "Fik fejlmeddelelse ved læsning af kommunikations-pakker (communication packets)",
"Timeout-fejl ved læsning af kommunukations-pakker (communication packets)", "Timeout-fejl ved læsning af kommunukations-pakker (communication packets)",
"Fik fejlmeddelelse ved skrivning af kommunukations-pakker (communication packets)", "Fik fejlmeddelelse ved skrivning af kommunukations-pakker (communication packets)",
"Timeout-fejl ved skrivning af kommunukations-pakker (communication packets)", "Timeout-fejl ved skrivning af kommunukations-pakker (communication packets)",
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
"Tabellen '%-.64s' er markeret med fejl og bør repareres", "Tabellen '%-.64s' er markeret med fejl og bør repareres",
"Tabellen '%-.64s' er markeret med fejl og sidste (automatiske?) REPAIR fejlede", "Tabellen '%-.64s' er markeret med fejl og sidste (automatiske?) REPAIR fejlede",
"Advarsel: Visse data i tabeller der ikke understøtter transaktioner kunne ikke tilbagestilles", "Advarsel: Visse data i tabeller der ikke understøtter transaktioner kunne ikke tilbagestilles",
"Fler-udtryks transaktion krævede mere plads en 'max_binlog_cache_size' bytes. Forhøj værdien af denne variabel og prøv igen', "Fler-udtryks transaktion krævede mere plads en 'max_binlog_cache_size' bytes. Forhøj værdien af denne variabel og prøv igen",
"Denne handling kunne ikke udføres med kørende slave, brug først kommandoen STOP SLAVE", "Denne handling kunne ikke udføres med kørende slave, brug først kommandoen STOP SLAVE",
"Denne handling kræver en kørende slave. Konfigurer en slave og brug kommandoen START SLAVE", "Denne handling kræver en kørende slave. Konfigurer en slave og brug kommandoen START SLAVE",
"Denne server er ikke konfigureret som slave. Ret in config-filen eller brug kommandoen CHANGE MASTER TO", "Denne server er ikke konfigureret som slave. Ret in config-filen eller brug kommandoen CHANGE MASTER TO",
......
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
"Passende rijen: %ld Gewijzigd: %ld Waarschuwingen: %ld", "Passende rijen: %ld Gewijzigd: %ld Waarschuwingen: %ld",
"Kan geen nieuwe thread aanmaken (Errcode: %d). Indien er geen tekort aan geheugen is kunt u de handleiding consulteren over een mogelijke OS afhankelijke fout", "Kan geen nieuwe thread aanmaken (Errcode: %d). Indien er geen tekort aan geheugen is kunt u de handleiding consulteren over een mogelijke OS afhankelijke fout",
"Kolom aantal komt niet overeen met waarde aantal in rij %ld", "Kolom aantal komt niet overeen met waarde aantal in rij %ld",
"Kan tabel niet opnieuw openen: '%-.64s', "Kan tabel niet opnieuw openen: '%-.64s",
"Foutief gebruik van de NULL waarde", "Foutief gebruik van de NULL waarde",
"Fout '%-.64s' ontvangen van regexp", "Fout '%-.64s' ontvangen van regexp",
"Het mixen van GROUP kolommen (MIN(),MAX(),COUNT()...) met no-GROUP kolommen is foutief indien er geen GROUP BY clausule is", "Het mixen van GROUP kolommen (MIN(),MAX(),COUNT()...) met no-GROUP kolommen is foutief indien er geen GROUP BY clausule is",
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
"Kreeg fout van fcntl()", "Kreeg fout van fcntl()",
"Pakketten in verkeerde volgorde ontvangen", "Pakketten in verkeerde volgorde ontvangen",
"Communicatiepakket kon niet worden gedecomprimeerd", "Communicatiepakket kon niet worden gedecomprimeerd",
"Fout bij het lezen van communicatiepakketten" "Fout bij het lezen van communicatiepakketten",
"Timeout bij het lezen van communicatiepakketten", "Timeout bij het lezen van communicatiepakketten",
"Fout bij het schrijven van communicatiepakketten", "Fout bij het schrijven van communicatiepakketten",
"Timeout bij het schrijven van communicatiepakketten", "Timeout bij het schrijven van communicatiepakketten",
...@@ -209,7 +209,7 @@ ...@@ -209,7 +209,7 @@
"Tabel '%-.64s' staat als gecrashed gemarkeerd en dient te worden gerepareerd", "Tabel '%-.64s' staat als gecrashed gemarkeerd en dient te worden gerepareerd",
"Tabel '%-.64s' staat als gecrashed gemarkeerd en de laatste (automatische?) reparatie poging mislukte", "Tabel '%-.64s' staat als gecrashed gemarkeerd en de laatste (automatische?) reparatie poging mislukte",
"Waarschuwing: Roll back mislukt voor sommige buiten transacties gewijzigde tabellen", "Waarschuwing: Roll back mislukt voor sommige buiten transacties gewijzigde tabellen",
"Multi-statement transactie vereist meer dan 'max_binlog_cache_size' bytes opslag. Verhoog deze mysqld variabele en probeer opnieuw', "Multi-statement transactie vereist meer dan 'max_binlog_cache_size' bytes opslag. Verhoog deze mysqld variabele en probeer opnieuw",
"Deze operatie kan niet worden uitgevoerd met een actieve slave, doe eerst STOP SLAVE", "Deze operatie kan niet worden uitgevoerd met een actieve slave, doe eerst STOP SLAVE",
"Deze operatie vereist een actieve slave, configureer slave en doe dan START SLAVE", "Deze operatie vereist een actieve slave, configureer slave en doe dan START SLAVE",
"De server is niet geconfigureerd als slave, fix in configuratie bestand of met CHANGE MASTER TO", "De server is niet geconfigureerd als slave, fix in configuratie bestand of met CHANGE MASTER TO",
......
...@@ -166,7 +166,7 @@ ...@@ -166,7 +166,7 @@
"Result string is longer than max_allowed_packet", "Result string is longer than max_allowed_packet",
"The used table type doesn't support BLOB/TEXT columns", "The used table type doesn't support BLOB/TEXT columns",
"The used table type doesn't support AUTO_INCREMENT columns", "The used table type doesn't support AUTO_INCREMENT columns",
"INSERT DELAYED can't be used with table '%-.64s', because it is locked with LOCK TABLES", "INSERT DELAYED can't be used with table '%-.64s' because it is locked with LOCK TABLES",
"Incorrect column name '%-.100s'", "Incorrect column name '%-.100s'",
"The used table handler can't index column '%-.64s'", "The used table handler can't index column '%-.64s'",
"All tables in the MERGE table are not identically defined", "All tables in the MERGE table are not identically defined",
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
"Ligne trop grande. Le taille maximale d'une ligne, sauf les BLOBs, est %d. Changez le type de quelques colonnes en BLOB", "Ligne trop grande. Le taille maximale d'une ligne, sauf les BLOBs, est %d. Changez le type de quelques colonnes en BLOB",
"Débordement de la pile des tâches (Thread stack). Utilisées: %ld pour une pile de %ld. Essayez 'mysqld -O thread_stack=#' pour indiquer une plus grande valeur", "Débordement de la pile des tâches (Thread stack). Utilisées: %ld pour une pile de %ld. Essayez 'mysqld -O thread_stack=#' pour indiquer une plus grande valeur",
"Dépendance croisée dans une clause OUTER JOIN. Vérifiez la condition ON", "Dépendance croisée dans une clause OUTER JOIN. Vérifiez la condition ON",
"La colonne '%-.32s' fait partie d'un index UNIQUE ou INDEX mais n'est pas définie comme NOT NULL" "La colonne '%-.32s' fait partie d'un index UNIQUE ou INDEX mais n'est pas définie comme NOT NULL",
"Imposible de charger la fonction '%-.64s'", "Imposible de charger la fonction '%-.64s'",
"Impossible d'initialiser la fonction '%-.64s'; %-.80s", "Impossible d'initialiser la fonction '%-.64s'; %-.80s",
"Chemin interdit pour les bibliothèques partagées", "Chemin interdit pour les bibliothèques partagées",
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
"Enregistrements correspondants: %ld Modifiés: %ld Warnings: %ld", "Enregistrements correspondants: %ld Modifiés: %ld Warnings: %ld",
"Impossible de créer une nouvelle tâche (errno %d). S'il reste de la mémoire libre, consultez le manual pour trouver un éventuel bug dépendant de l'OS", "Impossible de créer une nouvelle tâche (errno %d). S'il reste de la mémoire libre, consultez le manual pour trouver un éventuel bug dépendant de l'OS",
"Column count doesn't match value count at row %ld", "Column count doesn't match value count at row %ld",
"Impossible de réouvrir la table: '%-.64s', "Impossible de réouvrir la table: '%-.64s",
"Utilisation incorrecte de la valeur NULL", "Utilisation incorrecte de la valeur NULL",
"Erreur '%-.64s' provenant de regexp", "Erreur '%-.64s' provenant de regexp",
"Mélanger les colonnes GROUP (MIN(),MAX(),COUNT()...) avec des colonnes normales est interdit s'il n'y a pas de clause GROUP BY", "Mélanger les colonnes GROUP (MIN(),MAX(),COUNT()...) avec des colonnes normales est interdit s'il n'y a pas de clause GROUP BY",
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
"Erreur reçue de fcntl() ", "Erreur reçue de fcntl() ",
"Paquets reçus dans le désordre", "Paquets reçus dans le désordre",
"Impossible de décompresser le paquet reçu", "Impossible de décompresser le paquet reçu",
"Erreur de lecture des paquets reçus" "Erreur de lecture des paquets reçus",
"Timeout en lecture des paquets reçus", "Timeout en lecture des paquets reçus",
"Erreur d'écriture des paquets envoyés", "Erreur d'écriture des paquets envoyés",
"Timeout d'écriture des paquets envoyés", "Timeout d'écriture des paquets envoyés",
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
"La table '%-.64s' est marquée 'crashed' et devrait être réparée", "La table '%-.64s' est marquée 'crashed' et devrait être réparée",
"La table '%-.64s' est marquée 'crashed' et le dernier 'repair' a échoué", "La table '%-.64s' est marquée 'crashed' et le dernier 'repair' a échoué",
"Attention: certaines tables ne supportant pas les transactions ont été changées et elles ne pourront pas être restituées", "Attention: certaines tables ne supportant pas les transactions ont été changées et elles ne pourront pas être restituées",
"Cette transaction à commandes multiples nécessite plus de 'max_binlog_cache_size' octets de stockage, augmentez cette variable de mysqld et réessayez', "Cette transaction à commandes multiples nécessite plus de 'max_binlog_cache_size' octets de stockage, augmentez cette variable de mysqld et réessayez",
"Cette opération ne peut être réalisée avec un esclave actif, faites STOP SLAVE d'abord", "Cette opération ne peut être réalisée avec un esclave actif, faites STOP SLAVE d'abord",
"Cette opération nécessite un esclave actif, configurez les esclaves et faites START SLAVE", "Cette opération nécessite un esclave actif, configurez les esclaves et faites START SLAVE",
"Le server n'est pas configuré comme un esclave, changez le fichier de configuration ou utilisez CHANGE MASTER TO", "Le server n'est pas configuré comme un esclave, changez le fichier de configuration ou utilisez CHANGE MASTER TO",
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
"Kann Datensatz nicht finden.", "Kann Datensatz nicht finden.",
"Falsche Information in Datei: '%-.64s'", "Falsche Information in Datei: '%-.64s'",
"Falsche Schlüssel-Datei für Tabelle '%-.64s'. Versuche zu reparieren!", "Falsche Schlüssel-Datei für Tabelle '%-.64s'. Versuche zu reparieren!",
"Alte Schlüssel-Datei für Tabelle '%-.64s'. Repariere! "Alte Schlüssel-Datei für Tabelle '%-.64s'. Repariere!",
"'%-.64s' ist nur lesbar.", "'%-.64s' ist nur lesbar.",
"Kein Speicher vorhanden (benötigt %d bytes). Server neu starten.", "Kein Speicher vorhanden (benötigt %d bytes). Server neu starten.",
"Kein Speicher zum Sortieren. sort_buffer_size sollte erhöht werden.", "Kein Speicher zum Sortieren. sort_buffer_size sollte erhöht werden.",
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
"Fehler von fcntl()", "Fehler von fcntl()",
"Empfangenes Paket ist nicht in Reihenfolge", "Empfangenes Paket ist nicht in Reihenfolge",
"Kommunikationspaket läßt sich nicht entpacken", "Kommunikationspaket läßt sich nicht entpacken",
"Fehler beim Lesen eines Kommunikationspakets" "Fehler beim Lesen eines Kommunikationspakets",
"Zeitüberschreitung beim Lesen eines Kommunikationspakets.", "Zeitüberschreitung beim Lesen eines Kommunikationspakets.",
"Fehler beim Schreiben eines Kommunikationspakets.", "Fehler beim Schreiben eines Kommunikationspakets.",
"Zeitüberschreitung beim Schreiben eines Kommunikationspakets.", "Zeitüberschreitung beim Schreiben eines Kommunikationspakets.",
...@@ -207,7 +207,7 @@ ...@@ -207,7 +207,7 @@
"Tabelle '%-.64s' ist als defekt makiert und sollte repariert werden", "Tabelle '%-.64s' ist als defekt makiert und sollte repariert werden",
"Tabelle '%-.64s' ist als defekt makiert und der letzte (automatische) Reparaturversuch schlug fehl.", "Tabelle '%-.64s' ist als defekt makiert und der letzte (automatische) Reparaturversuch schlug fehl.",
"Warnung: Das Rollback konnte bei einigen Tabellen, die nicht mittels Transaktionen geändert wurden, nicht ausgeführt werden.", "Warnung: Das Rollback konnte bei einigen Tabellen, die nicht mittels Transaktionen geändert wurden, nicht ausgeführt werden.",
"Multi-Statement Transaktionen benötigen mehr als 'max_binlog_cache_size' Bytes An Speicher. Diese mysqld-Variable vergrössern und erneut versuchen.', "Multi-Statement Transaktionen benötigen mehr als 'max_binlog_cache_size' Bytes An Speicher. Diese mysqld-Variable vergrössern und erneut versuchen.",
"Diese Operation kann nicht bei einem aktiven Slave durchgeführt werden. Das Kommand STOP SLAVE muss zuerst ausgeführt werden.", "Diese Operation kann nicht bei einem aktiven Slave durchgeführt werden. Das Kommand STOP SLAVE muss zuerst ausgeführt werden.",
"Diese Operation benötigt einen aktiven Slave. Slave konfigurieren und mittels START SLAVE aktivieren.", "Diese Operation benötigt einen aktiven Slave. Slave konfigurieren und mittels START SLAVE aktivieren.",
"Der Server ist nicht als Slave konfigiriert. Im Konfigurations-File oder mittel CHANGE MASTER TO beheben.", "Der Server ist nicht als Slave konfigiriert. Im Konfigurations-File oder mittel CHANGE MASTER TO beheben.",
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
"Falsche Tabellendefinition: Sämtliche MERGE-Tabellen müssen in derselben Datenbank sein.", "Falsche Tabellendefinition: Sämtliche MERGE-Tabellen müssen in derselben Datenbank sein.",
"Beim Versuch einen Lock anzufordern ist ein Deadlock aufgetreten. Es wird versucht die Transaktion erneut zu starten.", "Beim Versuch einen Lock anzufordern ist ein Deadlock aufgetreten. Es wird versucht die Transaktion erneut zu starten.",
"Der verwendete Tabellentyp unterstützt keinen FULLTEXT-Index.", "Der verwendete Tabellentyp unterstützt keinen FULLTEXT-Index.",
"Foreign_Key Beschränkung konnte nicht hinzugefügt werden." "Foreign_Key Beschränkung konnte nicht hinzugefügt werden.",
"Hinzufügen eines Kind-Datensatzes schlug aufgrund einer Foreign-Key Beschränkung fehl.", "Hinzufügen eines Kind-Datensatzes schlug aufgrund einer Foreign-Key Beschränkung fehl.",
"Löschen eines Eltern-Datensatzes schlug aufgrund einer Foreign-Key Beschränkung fehl.", "Löschen eines Eltern-Datensatzes schlug aufgrund einer Foreign-Key Beschränkung fehl.",
"Datensatz kann aufgrund einer Foreign-Key Beschränkung nicht gelöscht werden.", "Datensatz kann aufgrund einer Foreign-Key Beschränkung nicht gelöscht werden.",
...@@ -259,5 +259,5 @@ ...@@ -259,5 +259,5 @@
"Referenz '%-.64s' wird nicht unterstützt (%s)", "Referenz '%-.64s' wird nicht unterstützt (%s)",
"Für jede abgeleitete Tabelle muss ein eigener Alias angegeben werden.", "Für jede abgeleitete Tabelle muss ein eigener Alias angegeben werden.",
"Select %u wurde während der Optimierung reduziert.", "Select %u wurde während der Optimierung reduziert.",
"Tabelle '%-.64s', die in einem der SELECT-Befehle verwendet wurde kann nicht in %-.32s verwendet werden." "Tabelle '%-.64s', die in einem der SELECT-Befehle verwendet wurde kann nicht in %-.32s verwendet werden",
"Client does not support authentication protocol requested by server. Consider upgrading MySQL client" "Client does not support authentication protocol requested by server. Consider upgrading MySQL client",
\ No newline at end of file
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
"Got an error from fcntl()", "Got an error from fcntl()",
"Got packets out of order", "Got packets out of order",
"Couldn't uncompress communication packet", "Couldn't uncompress communication packet",
"Got an error reading communication packets" "Got an error reading communication packets",
"Got timeout reading communication packets", "Got timeout reading communication packets",
"Got an error writing communication packets", "Got an error writing communication packets",
"Got timeout writing communication packets", "Got timeout writing communication packets",
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
"Megegyezo sorok szama: %ld Valtozott: %ld Warnings: %ld", "Megegyezo sorok szama: %ld Valtozott: %ld Warnings: %ld",
"Uj thread letrehozasa nem lehetseges (Hibakod: %d). Amenyiben van meg szabad memoria, olvassa el a kezikonyv operacios rendszerfuggo hibalehetosegekrol szolo reszet", "Uj thread letrehozasa nem lehetseges (Hibakod: %d). Amenyiben van meg szabad memoria, olvassa el a kezikonyv operacios rendszerfuggo hibalehetosegekrol szolo reszet",
"Az oszlopban talalhato ertek nem egyezik meg a %ld sorban szamitott ertekkel", "Az oszlopban talalhato ertek nem egyezik meg a %ld sorban szamitott ertekkel",
"Nem lehet ujra-megnyitni a tablat: '%-.64s', "Nem lehet ujra-megnyitni a tablat: '%-.64s",
"A NULL ervenytelen hasznalata", "A NULL ervenytelen hasznalata",
"'%-.64s' hiba a regularis kifejezes hasznalata soran (regexp)", "'%-.64s' hiba a regularis kifejezes hasznalata soran (regexp)",
"A GROUP mezok (MIN(),MAX(),COUNT()...) kevert hasznalata nem lehetseges GROUP BY hivatkozas nelkul", "A GROUP mezok (MIN(),MAX(),COUNT()...) kevert hasznalata nem lehetseges GROUP BY hivatkozas nelkul",
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
"Hiba a fcntl() fuggvenyben", "Hiba a fcntl() fuggvenyben",
"Helytelen sorrendben erkezett adatcsomagok", "Helytelen sorrendben erkezett adatcsomagok",
"A kommunikacios adatcsomagok nem tomorithetok ki", "A kommunikacios adatcsomagok nem tomorithetok ki",
"HIba a kommunikacios adatcsomagok olvasasa soran" "HIba a kommunikacios adatcsomagok olvasasa soran",
"Idotullepes a kommunikacios adatcsomagok olvasasa soran", "Idotullepes a kommunikacios adatcsomagok olvasasa soran",
"Hiba a kommunikacios csomagok irasa soran", "Hiba a kommunikacios csomagok irasa soran",
"Idotullepes a kommunikacios csomagok irasa soran", "Idotullepes a kommunikacios csomagok irasa soran",
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
"Errore durante la rinominazione da '%-.64s' a '%-.64s' (errno: %d)", "Errore durante la rinominazione da '%-.64s' a '%-.64s' (errno: %d)",
"Errore durante la scrittura del file '%-.64s' (errno: %d)", "Errore durante la scrittura del file '%-.64s' (errno: %d)",
"'%-.64s' e` soggetto a lock contro i cambiamenti", "'%-.64s' e` soggetto a lock contro i cambiamenti",
"Operazione di ordinamento abbandonata" , "Operazione di ordinamento abbandonata",
"La view '%-.64s' non esiste per '%-.64s'", "La view '%-.64s' non esiste per '%-.64s'",
"Rilevato l'errore %d dal gestore delle tabelle", "Rilevato l'errore %d dal gestore delle tabelle",
"Il gestore delle tabelle per '%-.64s' non ha questa opzione", "Il gestore delle tabelle per '%-.64s' non ha questa opzione",
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
"%s: Forzata la chiusura del thread %ld utente: '%-.64s'\n", "%s: Forzata la chiusura del thread %ld utente: '%-.64s'\n",
"Impossibile creare il socket IP", "Impossibile creare il socket IP",
"La tabella '%-.64s' non ha nessun indice come quello specificatato dalla CREATE INDEX. Ricrea la tabella", "La tabella '%-.64s' non ha nessun indice come quello specificatato dalla CREATE INDEX. Ricrea la tabella",
"L'argomento 'Field separator' non e` quello atteso. Controlla il manuale"," "L'argomento 'Field separator' non e` quello atteso. Controlla il manuale",
"Non possono essere usate righe a lunghezza fissa con i BLOB. Usa 'FIELDS TERMINATED BY'.", "Non possono essere usate righe a lunghezza fissa con i BLOB. Usa 'FIELDS TERMINATED BY'.",
"Il file '%-.64s' deve essere nella directory del database e deve essere leggibile da tutti", "Il file '%-.64s' deve essere nella directory del database e deve essere leggibile da tutti",
"Il file '%-.64s' esiste gia`", "Il file '%-.64s' esiste gia`",
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
"La tabella '%-.64s' e` segnalata come corrotta e deve essere riparata", "La tabella '%-.64s' e` segnalata come corrotta e deve essere riparata",
"La tabella '%-.64s' e` segnalata come corrotta e l'ultima ricostruzione (automatica?) e` fallita", "La tabella '%-.64s' e` segnalata come corrotta e l'ultima ricostruzione (automatica?) e` fallita",
"Attenzione: Alcune delle modifiche alle tabelle non transazionali non possono essere ripristinate (roll back impossibile)", "Attenzione: Alcune delle modifiche alle tabelle non transazionali non possono essere ripristinate (roll back impossibile)",
"La transazione a comandi multipli (multi-statement) ha richiesto piu` di 'max_binlog_cache_size' bytes di disco: aumentare questa variabile di mysqld e riprovare', "La transazione a comandi multipli (multi-statement) ha richiesto piu` di 'max_binlog_cache_size' bytes di disco: aumentare questa variabile di mysqld e riprovare",
"Questa operazione non puo' essere eseguita con un database 'slave' che gira, lanciare prima STOP SLAVE", "Questa operazione non puo' essere eseguita con un database 'slave' che gira, lanciare prima STOP SLAVE",
"Questa operaione richiede un database 'slave', configurarlo ed eseguire START SLAVE", "Questa operaione richiede un database 'slave', configurarlo ed eseguire START SLAVE",
"Il server non e' configurato come 'slave', correggere il file di configurazione cambiando CHANGE MASTER TO", "Il server non e' configurato come 'slave', correggere il file di configurazione cambiando CHANGE MASTER TO",
......
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
"Got an error from fcntl()", "Got an error from fcntl()",
"Got packets out of order", "Got packets out of order",
"Couldn't uncompress communication packet", "Couldn't uncompress communication packet",
"Got an error reading communication packets" "Got an error reading communication packets",
"Got timeout reading communication packets", "Got timeout reading communication packets",
"Got an error writing communication packets", "Got an error writing communication packets",
"Got timeout writing communication packets", "Got timeout writing communication packets",
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
"일치하는 Rows : %ld개 변경됨: %ld개 경고: %ld개", "일치하는 Rows : %ld개 변경됨: %ld개 경고: %ld개",
"새로운 쓰레드를 만들 수 없습니다.(에러번호 %d). 만약 여유메모리가 있다면 OS-dependent버그 의 메뉴얼 부분을 찾아보시오.", "새로운 쓰레드를 만들 수 없습니다.(에러번호 %d). 만약 여유메모리가 있다면 OS-dependent버그 의 메뉴얼 부분을 찾아보시오.",
"Row %ld에서 칼럼 카운트와 value 카운터와 일치하지 않습니다.", "Row %ld에서 칼럼 카운트와 value 카운터와 일치하지 않습니다.",
"테이블을 다시 열수 없군요: '%-.64s', "테이블을 다시 열수 없군요: '%-.64s",
"NULL 값을 잘못 사용하셨군요...", "NULL 값을 잘못 사용하셨군요...",
"regexp에서 '%-.64s'가 났습니다.", "regexp에서 '%-.64s'가 났습니다.",
"Mixing of GROUP 칼럼s (MIN(),MAX(),COUNT()...) with no GROUP 칼럼s is illegal if there is no GROUP BY clause", "Mixing of GROUP 칼럼s (MIN(),MAX(),COUNT()...) with no GROUP 칼럼s is illegal if there is no GROUP BY clause",
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
"fcntl() 함수로부터 에러가 발생하였습니다.", "fcntl() 함수로부터 에러가 발생하였습니다.",
"순서가 맞지않는 패킷을 받았습니다.", "순서가 맞지않는 패킷을 받았습니다.",
"통신 패킷의 압축해제를 할 수 없었습니다.", "통신 패킷의 압축해제를 할 수 없었습니다.",
"통신 패킷을 읽는 중 오류가 발생하였습니다." "통신 패킷을 읽는 중 오류가 발생하였습니다.",
"통신 패킷을 읽는 중 timeout이 발생하였습니다.", "통신 패킷을 읽는 중 timeout이 발생하였습니다.",
"통신 패킷을 기록하는 중 오류가 발생하였습니다.", "통신 패킷을 기록하는 중 오류가 발생하였습니다.",
"통신 패팃을 기록하는 중 timeout이 발생하였습니다.", "통신 패팃을 기록하는 중 timeout이 발생하였습니다.",
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
"Blob feltet '%-.64s' kan ikkje ha ein standard verdi", "Blob feltet '%-.64s' kan ikkje ha ein standard verdi",
"Ugyldig database namn '%-.64s'", "Ugyldig database namn '%-.64s'",
"Ugyldig tabell namn '%-.64s'", "Ugyldig tabell namn '%-.64s'",
"SELECT ville underskje for mange postar og ville sannsynligvis ta veldig lang tid. Undersk WHERE klausulen og bruk SET OPTION SQL_BIG_SELECTS=1 om SELECTen er korrekt" "SELECT ville underskje for mange postar og ville sannsynligvis ta veldig lang tid. Undersk WHERE klausulen og bruk SET OPTION SQL_BIG_SELECTS=1 om SELECTen er korrekt",
"Ukjend feil", "Ukjend feil",
"Ukjend prosedyre %s", "Ukjend prosedyre %s",
"Feil parameter tal til prosedyra %s", "Feil parameter tal til prosedyra %s",
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
"Rows matched: %ld Changed: %ld Warnings: %ld", "Rows matched: %ld Changed: %ld Warnings: %ld",
"Can't create a new thread (errno %d). If you are not out of available memory you can consult the manual for any possible OS dependent bug", "Can't create a new thread (errno %d). If you are not out of available memory you can consult the manual for any possible OS dependent bug",
"Column count doesn't match value count at row %ld", "Column count doesn't match value count at row %ld",
"Can't reopen table: '%-.64s', "Can't reopen table: '%-.64s",
"Invalid use of NULL value", "Invalid use of NULL value",
"Got error '%-.64s' from regexp", "Got error '%-.64s' from regexp",
"Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause", "Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause",
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
"Got an error from fcntl()", "Got an error from fcntl()",
"Got packets out of order", "Got packets out of order",
"Couldn't uncompress communication packet", "Couldn't uncompress communication packet",
"Got an error reading communication packets" "Got an error reading communication packets",
"Got timeout reading communication packets", "Got timeout reading communication packets",
"Got an error writing communication packets", "Got an error writing communication packets",
"Got timeout writing communication packets", "Got timeout writing communication packets",
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
"Blob feltet '%-.64s' kan ikke ha en standard verdi", "Blob feltet '%-.64s' kan ikke ha en standard verdi",
"Ugyldig database navn '%-.64s'", "Ugyldig database navn '%-.64s'",
"Ugyldig tabell navn '%-.64s'", "Ugyldig tabell navn '%-.64s'",
"SELECT ville undersøke for mange poster og ville sannsynligvis ta veldig lang tid. Undersøk WHERE klausulen og bruk SET OPTION SQL_BIG_SELECTS=1 om SELECTen er korrekt" "SELECT ville undersøke for mange poster og ville sannsynligvis ta veldig lang tid. Undersøk WHERE klausulen og bruk SET OPTION SQL_BIG_SELECTS=1 om SELECTen er korrekt",
"Ukjent feil", "Ukjent feil",
"Ukjent prosedyre %s", "Ukjent prosedyre %s",
"Feil parameter antall til prosedyren %s", "Feil parameter antall til prosedyren %s",
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
"Rows matched: %ld Changed: %ld Warnings: %ld", "Rows matched: %ld Changed: %ld Warnings: %ld",
"Can't create a new thread (errno %d). If you are not out of available memory you can consult the manual for any possible OS dependent bug", "Can't create a new thread (errno %d). If you are not out of available memory you can consult the manual for any possible OS dependent bug",
"Column count doesn't match value count at row %ld", "Column count doesn't match value count at row %ld",
"Can't reopen table: '%-.64s', "Can't reopen table: '%-.64s",
"Invalid use of NULL value", "Invalid use of NULL value",
"Got error '%-.64s' from regexp", "Got error '%-.64s' from regexp",
"Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause", "Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause",
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
"Got an error from fcntl()", "Got an error from fcntl()",
"Got packets out of order", "Got packets out of order",
"Couldn't uncompress communication packet", "Couldn't uncompress communication packet",
"Got an error reading communication packets" "Got an error reading communication packets",
"Got timeout reading communication packets", "Got timeout reading communication packets",
"Got an error writing communication packets", "Got an error writing communication packets",
"Got timeout writing communication packets", "Got timeout writing communication packets",
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
"%s: Wymuszenie zamknicia w?tku %ld uytkownik: '%-.64s'\n", "%s: Wymuszenie zamknicia w?tku %ld uytkownik: '%-.64s'\n",
"Nie mona stworzy socket'u IP", "Nie mona stworzy socket'u IP",
"Tabela '%-.64s' nie ma indeksu takiego jak w CREATE INDEX. Stwrz tabel", "Tabela '%-.64s' nie ma indeksu takiego jak w CREATE INDEX. Stwrz tabel",
"Nie oczekiwano separatora. Sprawd podrcznik"," "Nie oczekiwano separatora. Sprawd podrcznik",
"Nie mona uy staej dugo?ci wiersza z polami typu BLOB. Uyj 'fields terminated by'.", "Nie mona uy staej dugo?ci wiersza z polami typu BLOB. Uyj 'fields terminated by'.",
"Plik '%-.64s' musi znajdowa sie w katalogu bazy danych lub mie prawa czytania przez wszystkich", "Plik '%-.64s' musi znajdowa sie w katalogu bazy danych lub mie prawa czytania przez wszystkich",
"Plik '%-.64s' ju istnieje", "Plik '%-.64s' ju istnieje",
...@@ -142,7 +142,7 @@ ...@@ -142,7 +142,7 @@
"Rows matched: %ld Changed: %ld Warnings: %ld", "Rows matched: %ld Changed: %ld Warnings: %ld",
"Can't create a new thread (errno %d). If you are not out of available memory you can consult the manual for any possible OS dependent bug", "Can't create a new thread (errno %d). If you are not out of available memory you can consult the manual for any possible OS dependent bug",
"Column count doesn't match value count at row %ld", "Column count doesn't match value count at row %ld",
"Can't reopen table: '%-.64s', "Can't reopen table: '%-.64s",
"Invalid use of NULL value", "Invalid use of NULL value",
"Got error '%-.64s' from regexp", "Got error '%-.64s' from regexp",
"Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause", "Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause",
...@@ -163,7 +163,7 @@ ...@@ -163,7 +163,7 @@
"Got an error from fcntl()", "Got an error from fcntl()",
"Got packets out of order", "Got packets out of order",
"Couldn't uncompress communication packet", "Couldn't uncompress communication packet",
"Got an error reading communication packets" "Got an error reading communication packets",
"Got timeout reading communication packets", "Got timeout reading communication packets",
"Got an error writing communication packets", "Got an error writing communication packets",
"Got timeout writing communication packets", "Got timeout writing communication packets",
...@@ -202,7 +202,7 @@ ...@@ -202,7 +202,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
"Linhas que combinaram: %ld - Alteradas: %ld - Avisos: %ld", "Linhas que combinaram: %ld - Alteradas: %ld - Avisos: %ld",
"Não pode criar uma nova 'thread' (erro no. %d). Se você não estiver sem memória disponível, você pode consultar o manual sobre um possível 'bug' dependente do sistema operacional", "Não pode criar uma nova 'thread' (erro no. %d). Se você não estiver sem memória disponível, você pode consultar o manual sobre um possível 'bug' dependente do sistema operacional",
"Contagem de colunas não confere com a contagem de valores na linha %ld", "Contagem de colunas não confere com a contagem de valores na linha %ld",
"Não pode reabrir a tabela '%-.64s', "Não pode reabrir a tabela '%-.64s",
"Uso inválido do valor NULL", "Uso inválido do valor NULL",
"Obteve erro '%-.64s' em regexp", "Obteve erro '%-.64s' em regexp",
"Mistura de colunas agrupadas (com MIN(), MAX(), COUNT(), ...) com colunas não agrupadas é ilegal, se não existir uma cláusula de agrupamento (cláusula GROUP BY)", "Mistura de colunas agrupadas (com MIN(), MAX(), COUNT(), ...) com colunas não agrupadas é ilegal, se não existir uma cláusula de agrupamento (cláusula GROUP BY)",
......
...@@ -202,7 +202,7 @@ ...@@ -202,7 +202,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
" '%-.64s' GROUP BY", " '%-.64s' GROUP BY",
" '%-.64s'", " '%-.64s'",
" , ", " , ",
" " " ",
" : '%-.64s'", " : '%-.64s'",
" '%-.64s'", " '%-.64s'",
" '%-.64s'", " '%-.64s'",
...@@ -141,7 +141,7 @@ ...@@ -141,7 +141,7 @@
" : %ld : %ld : %ld", " : %ld : %ld : %ld",
" ( %d). - , OS- ", " ( %d). - , OS- ",
" %ld", " %ld",
" : '%-.64s', " : '%-.64s",
" NULL", " NULL",
"REGEXP '%-.64s'", "REGEXP '%-.64s'",
" (MIN(),MAX(),COUNT()...) GROUP BY", " (MIN(),MAX(),COUNT()...) GROUP BY",
...@@ -162,7 +162,7 @@ ...@@ -162,7 +162,7 @@
"fcntl() ", "fcntl() ",
" ", " ",
" ", " ",
" " " ",
" ", " ",
" ", " ",
" ", " ",
......
...@@ -146,7 +146,7 @@ ...@@ -146,7 +146,7 @@
"Rows matched: %ld Changed: %ld Warnings: %ld", "Rows matched: %ld Changed: %ld Warnings: %ld",
"Can't create a new thread (errno %d). If you are not out of available memory, you can consult the manual for a possible OS-dependent bug", "Can't create a new thread (errno %d). If you are not out of available memory, you can consult the manual for a possible OS-dependent bug",
"Column count doesn't match value count at row %ld", "Column count doesn't match value count at row %ld",
"Can't reopen table: '%-.64s', "Can't reopen table: '%-.64s",
"Invalid use of NULL value", "Invalid use of NULL value",
"Got error '%-.64s' from regexp", "Got error '%-.64s' from regexp",
"Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause", "Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause",
...@@ -167,7 +167,7 @@ ...@@ -167,7 +167,7 @@
"Got an error from fcntl()", "Got an error from fcntl()",
"Got packets out of order", "Got packets out of order",
"Couldn't uncompress communication packet", "Couldn't uncompress communication packet",
"Got an error reading communication packets" "Got an error reading communication packets",
"Got timeout reading communication packets", "Got timeout reading communication packets",
"Got an error writing communication packets", "Got an error writing communication packets",
"Got timeout writing communication packets", "Got timeout writing communication packets",
...@@ -206,7 +206,7 @@ ...@@ -206,7 +206,7 @@
"Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Some non-transactional changed tables couldn't be rolled back", "Some non-transactional changed tables couldn't be rolled back",
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again",
"This operation cannot be performed with a running slave, run STOP SLAVE first", "This operation cannot be performed with a running slave, run STOP SLAVE first",
"This operation requires a running slave, configure slave and do START SLAVE", "This operation requires a running slave, configure slave and do START SLAVE",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
......
...@@ -139,7 +139,7 @@ ...@@ -139,7 +139,7 @@
"Líneas correspondientes: %ld Cambiadas: %ld Avisos: %ld", "Líneas correspondientes: %ld Cambiadas: %ld Avisos: %ld",
"No puedo crear un nuevo thread (errno %d). Si tu está con falta de memoria disponible, tu puedes consultar el Manual para posibles problemas con SO", "No puedo crear un nuevo thread (errno %d). Si tu está con falta de memoria disponible, tu puedes consultar el Manual para posibles problemas con SO",
"El número de columnas no corresponde al número en la línea %ld", "El número de columnas no corresponde al número en la línea %ld",
"No puedo reabrir tabla: '%-.64s', "No puedo reabrir tabla: '%-.64s",
"Invalido uso de valor NULL", "Invalido uso de valor NULL",
"Obtenido error '%-.64s' de regexp", "Obtenido error '%-.64s' de regexp",
"Mezcla de columnas GROUP (MIN(),MAX(),COUNT()...) con no GROUP columnas es ilegal si no hat la clausula GROUP BY", "Mezcla de columnas GROUP (MIN(),MAX(),COUNT()...) con no GROUP columnas es ilegal si no hat la clausula GROUP BY",
...@@ -160,7 +160,7 @@ ...@@ -160,7 +160,7 @@
"Obtenido un error de fcntl()", "Obtenido un error de fcntl()",
"Obtenido paquetes desordenados", "Obtenido paquetes desordenados",
"No puedo descomprimir paquetes de comunicación", "No puedo descomprimir paquetes de comunicación",
"Obtenido un error leyendo paquetes de comunicación" "Obtenido un error leyendo paquetes de comunicación",
"Obtenido timeout leyendo paquetes de comunicación", "Obtenido timeout leyendo paquetes de comunicación",
"Obtenido un error de escribiendo paquetes de comunicación", "Obtenido un error de escribiendo paquetes de comunicación",
"Obtenido timeout escribiendo paquetes de comunicación", "Obtenido timeout escribiendo paquetes de comunicación",
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
"Tabla '%-.64s' está marcada como crashed y debe ser reparada", "Tabla '%-.64s' está marcada como crashed y debe ser reparada",
"Tabla '%-.64s' está marcada como crashed y la última reparación (automactica?) falló", "Tabla '%-.64s' está marcada como crashed y la última reparación (automactica?) falló",
"Aviso: Algunas tablas no transancionales no pueden tener rolled back", "Aviso: Algunas tablas no transancionales no pueden tener rolled back",
"Multipla transición necesita mas que 'max_binlog_cache_size' bytes de almacenamiento. Aumente esta variable mysqld y tente de nuevo', "Multipla transición necesita mas que 'max_binlog_cache_size' bytes de almacenamiento. Aumente esta variable mysqld y tente de nuevo",
"Esta operación no puede ser hecha con el esclavo funcionando, primero use STOP SLAVE", "Esta operación no puede ser hecha con el esclavo funcionando, primero use STOP SLAVE",
"Esta operación necesita el esclavo funcionando, configure esclavo y haga el START SLAVE", "Esta operación necesita el esclavo funcionando, configure esclavo y haga el START SLAVE",
"El servidor no está configurado como esclavo, edite el archivo config file o con CHANGE MASTER TO", "El servidor no está configurado como esclavo, edite el archivo config file o con CHANGE MASTER TO",
......
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
"Kan inte skapa IP socket", "Kan inte skapa IP socket",
"Tabellen '%-.64s' har inget index som motsvarar det angivna i CREATE INDEX. Skapa om tabellen", "Tabellen '%-.64s' har inget index som motsvarar det angivna i CREATE INDEX. Skapa om tabellen",
"Fält separatorerna är inte emotsägande eller för långa. Kontrollera mot manualen", "Fält separatorerna är inte emotsägande eller för långa. Kontrollera mot manualen",
"Man kan inte använda fast radlängd med blobs. Använd 'fields terminated by'." "Man kan inte använda fast radlängd med blobs. Använd 'fields terminated by'",
"Textfilen '%' måste finnas i databas biblioteket eller vara läsbar för alla", "Textfilen '%' måste finnas i databas biblioteket eller vara läsbar för alla",
"Filen '%-.64s' existerar redan", "Filen '%-.64s' existerar redan",
"Rader: %ld Bortagna: %ld Dubletter: %ld Varningar: %ld", "Rader: %ld Bortagna: %ld Dubletter: %ld Varningar: %ld",
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
"Kan inte generera ett unikt filnamn %s.(1-999)\n", "Kan inte generera ett unikt filnamn %s.(1-999)\n",
"Tabell '%-.64s' kan inte uppdateras emedan den är låst för läsning", "Tabell '%-.64s' kan inte uppdateras emedan den är låst för läsning",
"Tabell '%-.64s' är inte låst med LOCK TABLES", "Tabell '%-.64s' är inte låst med LOCK TABLES",
"BLOB fält '%-.64s' kan inte ha ett DEFAULT värde" "BLOB fält '%-.64s' kan inte ha ett DEFAULT värde",
"Felaktigt databas namn '%-.64s'", "Felaktigt databas namn '%-.64s'",
"Felaktigt tabell namn '%-.64s'", "Felaktigt tabell namn '%-.64s'",
"Den angivna frågan skulle troligen ta mycket long tid! Kontrollar din WHERE och använd SET OPTION SQL_BIG_SELECTS=1 ifall du vill hantera stora joins", "Den angivna frågan skulle troligen ta mycket long tid! Kontrollar din WHERE och använd SET OPTION SQL_BIG_SELECTS=1 ifall du vill hantera stora joins",
...@@ -117,7 +117,7 @@ ...@@ -117,7 +117,7 @@
"Tabeller måste ha minst 1 kolumn", "Tabeller måste ha minst 1 kolumn",
"Tabellen '%-.64s' är full", "Tabellen '%-.64s' är full",
"Okänt karaktärset: '%-.64s'", "Okänt karaktärset: '%-.64s'",
"För många tabeller. MySQL can ha högst %d tabeller i en och samma join" "För många tabeller. MySQL can ha högst %d tabeller i en och samma join",
"För många fält", "För många fält",
"För stor total rad längd. Den högst tillåtna rad-längden, förutom BLOBs, är %d. Ändra några av dina fält till BLOB", "För stor total rad längd. Den högst tillåtna rad-längden, förutom BLOBs, är %d. Ändra några av dina fält till BLOB",
"Tråd-stacken tog slut: Har använt %ld av %ld bytes. Använd 'mysqld -O thread_stack=#' ifall du behöver en större stack", "Tråd-stacken tog slut: Har använt %ld av %ld bytes. Använd 'mysqld -O thread_stack=#' ifall du behöver en större stack",
...@@ -136,9 +136,9 @@ ...@@ -136,9 +136,9 @@
"För att ändra lösenord för andra måste du ha rättigheter att uppdatera mysql databasen", "För att ändra lösenord för andra måste du ha rättigheter att uppdatera mysql databasen",
"Hittade inte användaren i 'user' tabellen", "Hittade inte användaren i 'user' tabellen",
"Rader: %ld Uppdaterade: %ld Varningar: %ld", "Rader: %ld Uppdaterade: %ld Varningar: %ld",
"Kan inte skapa en ny tråd (errno %d)" "Kan inte skapa en ny tråd (errno %d)",
"Antalet kolumner motsvarar inte antalet värden på rad: %ld", "Antalet kolumner motsvarar inte antalet värden på rad: %ld",
"Kunde inte stänga och öppna tabell: '%-.64s', "Kunde inte stänga och öppna tabell: '%-.64s",
"Felaktig använding av NULL", "Felaktig använding av NULL",
"Fix fel '%-.64s' från REGEXP", "Fix fel '%-.64s' från REGEXP",
"Man får ha både GROUP kolumner (MIN(),MAX(),COUNT()...) och fält i en fråga om man inte har en GROUP BY del", "Man får ha både GROUP kolumner (MIN(),MAX(),COUNT()...) och fält i en fråga om man inte har en GROUP BY del",
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
"%-.16s ej tillåtet för '%-.32s@%-.64s'\n för kolumn '%-.64s' i tabell '%-.64s'", "%-.16s ej tillåtet för '%-.32s@%-.64s'\n för kolumn '%-.64s' i tabell '%-.64s'",
"Felaktigt GRANT privilegium använt", "Felaktigt GRANT privilegium använt",
"Felaktigt maskinnamn eller användarnamn använt med GRANT", "Felaktigt maskinnamn eller användarnamn använt med GRANT",
"Det finns ingen tabell som heter '%-.64s.%s'" "Det finns ingen tabell som heter '%-.64s.%s'",
"Det finns inget privilegium definierat för användare '%-.32s' på '%-.64s' för tabell '%-.64s'", "Det finns inget privilegium definierat för användare '%-.32s' på '%-.64s' för tabell '%-.64s'",
"Du kan inte använda detta kommando med denna MySQL version", "Du kan inte använda detta kommando med denna MySQL version",
"Du har något fel i din syntax", "Du har något fel i din syntax",
......
...@@ -203,7 +203,7 @@ ...@@ -203,7 +203,7 @@
" '%-.64s' ڦ Ҧ צ", " '%-.64s' ڦ Ҧ צ",
" '%-.64s' ڦ Τ (?) צ ", " '%-.64s' ڦ Τ (?) צ ",
": ˦ æΦ ͦ ", ": ˦ æΦ ͦ ",
"æ ¦ Φ 'max_binlog_cache_size' Ԧ Ҧ. ¦ ͦ mysqld ', "æ ¦ Φ 'max_binlog_cache_size' Ԧ Ҧ. ¦ ͦ mysqld ",
"æ Ц, STOP SLAVE", "æ Ц, STOP SLAVE",
"æ Ц, Ʀ Ц START SLAVE", "æ Ц, Ʀ Ц START SLAVE",
" Ʀ Ц, ̦ Ʀæ CHANGE MASTER TO", " Ʀ Ц, ̦ Ʀæ CHANGE MASTER TO",
......
...@@ -312,9 +312,11 @@ public: ...@@ -312,9 +312,11 @@ public:
~analyse() ~analyse()
{ {
if (f_info) if (f_info)
{
for (field_info **f=f_info; f != f_end; f++) for (field_info **f=f_info; f != f_end; f++)
delete (*f); delete (*f);
} }
}
virtual void add() {} virtual void add() {}
virtual bool change_columns(List<Item> &fields); virtual bool change_columns(List<Item> &fields);
virtual int send_row(List<Item> &fields); virtual int send_row(List<Item> &fields);
......
...@@ -163,10 +163,13 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables, ...@@ -163,10 +163,13 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables,
{ {
switch (mode) { switch (mode) {
case RFIRST: case RFIRST:
err=keyname ? if (keyname)
table->file->index_first(table->record[0]) : err=table->file->index_first(table->record[0]);
table->file->rnd_init(1) || else
table->file->rnd_next(table->record[0]); {
if (!(err=table->file->rnd_init(1)))
err=table->file->rnd_next(table->record[0]);
}
mode=RNEXT; mode=RNEXT;
break; break;
case RLAST: case RLAST:
......
...@@ -341,6 +341,7 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list, ...@@ -341,6 +341,7 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
} }
if (transactional_table) if (transactional_table)
error=ha_autocommit_or_rollback(thd,error); error=ha_autocommit_or_rollback(thd,error);
query_cache_invalidate3(thd, table_list, 0);
err: err:
if (thd->lock) if (thd->lock)
......
...@@ -2432,7 +2432,7 @@ mysql_execute_command(THD *thd) ...@@ -2432,7 +2432,7 @@ mysql_execute_command(THD *thd)
0, (ORDER *)NULL, (ORDER *)NULL, (Item *)NULL, 0, (ORDER *)NULL, (ORDER *)NULL, (Item *)NULL,
(ORDER *)NULL, (ORDER *)NULL,
select_lex->options | thd->options | select_lex->options | thd->options |
SELECT_NO_JOIN_CACHE, SELECT_NO_JOIN_CACHE | SELECT_NO_UNLOCK,
result, unit, select_lex, 0, 0); result, unit, select_lex, 0, 0);
if (thd->net.report_error) if (thd->net.report_error)
res= -1; res= -1;
......
...@@ -1649,6 +1649,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name, ...@@ -1649,6 +1649,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
new_db=db; new_db=db;
used_fields=create_info->used_fields; used_fields=create_info->used_fields;
mysql_ha_closeall(thd, table_list);
if (!(table=open_ltable(thd,table_list,TL_WRITE_ALLOW_READ))) if (!(table=open_ltable(thd,table_list,TL_WRITE_ALLOW_READ)))
DBUG_RETURN(-1); DBUG_RETURN(-1);
......
...@@ -427,7 +427,7 @@ int mysql_multi_update(THD *thd, ...@@ -427,7 +427,7 @@ int mysql_multi_update(THD *thd,
table_list, select_lex->with_wild, total_list, table_list, select_lex->with_wild, total_list,
conds, 0, (ORDER *) NULL, (ORDER *)NULL, (Item *) NULL, conds, 0, (ORDER *) NULL, (ORDER *)NULL, (Item *) NULL,
(ORDER *)NULL, (ORDER *)NULL,
options | SELECT_NO_JOIN_CACHE, options | SELECT_NO_JOIN_CACHE | SELECT_NO_UNLOCK,
result, unit, select_lex, 0, 0); result, unit, select_lex, 0, 0);
delete result; delete result;
DBUG_RETURN(res); DBUG_RETURN(res);
......
...@@ -650,7 +650,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); ...@@ -650,7 +650,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
show describe load alter optimize flush show describe load alter optimize flush
reset purge begin commit rollback slave master_def master_defs reset purge begin commit rollback slave master_def master_defs
repair restore backup analyze check start repair restore backup analyze check start
field_list field_list_item field_spec kill field_list field_list_item field_spec kill column_def key_def
select_item_list select_item values_list no_braces select_item_list select_item values_list no_braces
opt_limit_clause delete_limit_clause fields opt_values values opt_limit_clause delete_limit_clause fields opt_values values
procedure_list procedure_list2 procedure_item procedure_list procedure_list2 procedure_item
...@@ -1049,12 +1049,20 @@ field_list: ...@@ -1049,12 +1049,20 @@ field_list:
field_list_item: field_list_item:
column_def
| key_def
;
column_def:
field_spec check_constraint field_spec check_constraint
| field_spec references | field_spec references
{ {
Lex->col_list.empty(); /* Alloced by sql_alloc */ Lex->col_list.empty(); /* Alloced by sql_alloc */
} }
| key_type opt_ident key_alg '(' key_list ')' ;
key_def:
key_type opt_ident key_alg '(' key_list ')'
{ {
LEX *lex=Lex; LEX *lex=Lex;
lex->key_list.push_back(new Key($1,$2, $3, lex->col_list)); lex->key_list.push_back(new Key($1,$2, $3, lex->col_list));
...@@ -1468,7 +1476,8 @@ add_column: ...@@ -1468,7 +1476,8 @@ add_column:
ADD opt_column { Lex->change=0; }; ADD opt_column { Lex->change=0; };
alter_list_item: alter_list_item:
add_column field_list_item opt_place { Lex->simple_alter=0; } add_column column_def opt_place { Lex->simple_alter=0; }
| ADD key_def { Lex->simple_alter=0; }
| add_column '(' field_list ')' { Lex->simple_alter=0; } | add_column '(' field_list ')' { Lex->simple_alter=0; }
| CHANGE opt_column field_ident | CHANGE opt_column field_ident
{ {
......
...@@ -170,7 +170,6 @@ typedef struct st_table_list ...@@ -170,7 +170,6 @@ typedef struct st_table_list
uint32 db_length, real_name_length; uint32 db_length, real_name_length;
bool straight; /* optimize with prev table */ bool straight; /* optimize with prev table */
bool updating; /* for replicate-do/ignore table */ bool updating; /* for replicate-do/ignore table */
bool do_redirect; /* To get the struct in UNION's */
bool force_index; /* Prefer index over table scan */ bool force_index; /* Prefer index over table scan */
} TABLE_LIST; } TABLE_LIST;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<key>IFPkgDescriptionDeleteWarning</key> <key>IFPkgDescriptionDeleteWarning</key>
<string></string> <string></string>
<key>IFPkgDescriptionDescription</key> <key>IFPkgDescriptionDescription</key>
<string>This package provides a binary installation of MySQL @VERSION@@MYSQL_SERVER_SUFFIX@ for Mac OS X.</string> <string>MySQL @VERSION@@MYSQL_SERVER_SUFFIX@ for Mac OS X</string>
<key>IFPkgDescriptionTitle</key> <key>IFPkgDescriptionTitle</key>
<string>MySQL @VERSION@@MYSQL_SERVER_SUFFIX@ for Mac OS X</string> <string>MySQL @VERSION@@MYSQL_SERVER_SUFFIX@ for Mac OS X</string>
<key>IFPkgDescriptionVersion</key> <key>IFPkgDescriptionVersion</key>
......
...@@ -17,19 +17,34 @@ ...@@ -17,19 +17,34 @@
## Process this file with automake to create Makefile.in ## Process this file with automake to create Makefile.in
EXTRA_DIST = Info.plist.sh Description.plist.sh EXTRA_DIST = Info.plist.sh \
Description.plist.sh \
StartupParameters.plist.sh \
postinstall.sh \
preinstall.sh \
ReadMe.txt
pkgdata_DATA = Info.plist Description.plist pkgdata_DATA = Info.plist \
Description.plist \
StartupParameters.plist \
postinstall \
preinstall
CLEANFILES = Info.plist Description.plist CLEANFILES = Info.plist \
Description.plist \
StartupParameters.plist \
postinstall \
preinstall
SUFFIXES = .sh SUFFIXES = .sh
.sh: .sh:
@RM@ -f $@ $@-t @RM@ -f $@ $@-t
@SED@ \ @SED@ \
-e 's!@''prefix''@!$(prefix)!g' \
-e 's!@''VERSION''@!@VERSION@!' \ -e 's!@''VERSION''@!@VERSION@!' \
-e 's!@''MYSQL_SERVER_SUFFIX''@!@MYSQL_SERVER_SUFFIX@!' \ -e 's!@''MYSQL_SERVER_SUFFIX''@!@MYSQL_SERVER_SUFFIX@!' \
-e 's!@''MYSQLD_USER''@!@MYSQLD_USER@!' \
$< > $@-t $< > $@-t
@MV@ $@-t $@ @MV@ $@-t $@
......
Installation notes for MySQL on Mac OS X
PLEASE READ!
For more details about installing and running
MySQL on Mac OS X, also refer to the manual,
which is available online:
http://www.mysql.com/doc/en/Mac_OS_X_installation.html
NOTE: Before proceeding with the installation, please
make sure that no other MySQL server is running!
Please shut down all running MySQL instances before
continuing by either using the MySQL Manager
Application (on Mac OS X Server) or via "mysqladmin
shutdown" on the command line.
This MySQL package will be installed into
"/usr/local/mysql-<version>" and will also create a
symbolic link "/usr/local/mysql", pointing to the new
location.
A previously existing /usr/local/mysql directory will
be renamed to /usr/local/mysql.bak before proceeding
with the installation.
Additionally, it will install the mysql grant tables by
executing "mysql_install_db" after the installation.
If you are running Mac OS X Server, you already have a
version MySQL installed. Make sure to read Apple's help
about installing MySQL (Run the "Help View" application,
select "Mac OS X Server help", and do a search for MySQL
and read the item entitled "Installing MySQL").
If you previously used Marc Liyanage's MySQL packages
for MacOS X from http://www.entropy.ch, you can simply
follow the update instructions given on his pages.
After the installation (and restoring the old database
files, if necessary), you can start up MySQL by running
the following commands in a terminal window:
cd /usr/local/mysql
sudo ./bin/mysqld_safe
(Enter your password)
(Press CTRL+Z)
(Press CTRL+D to exit the shell)
bg
You should now be able to connect to the MySQL server,
e.g. by running /usr/local/mysql/bin/mysql
If you installed MySQL for the first time,
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER!
This is done with the following two commands:
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h $hostname password 'new-password'
Please note, that after upgrading from MySQL 3.23 to
MySQL 4.0 it is recommended to convert the MySQL
privilege tables using the mysql_fix_privilege_tables
script, since some new security privileges have been
added.
Please see
http://www.mysql.com/doc/en/Upgrading-from-3.23.html
for more information on how to upgrade from MySQL 3.23.
If you do not want to have to type the full path
"/usr/local/mysql/bin" in front of every command, you
can to add this directory to your PATH environment
variable in your login script. For the default shell
"tcsh", you can do this by running this command once:
echo 'setenv PATH $PATH:/usr/local/mysql/bin' >> ~/.tcshrc
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Description</key>
<string>MySQL @VERSION@@MYSQL_SERVER_SUFFIX@</string>
<key>OrderPreference</key>
<string>None</string>
<key>Provides</key>
<array>
<string>MySQL</string>
</array>
<key>Uses</key>
<array>
<string>Network</string>
<string>Resolver</string>
</array>
</dict>
</plist>
#!/bin/sh
#
# postinstall - this script will be executed after the MySQL PKG
# installation has been performed.
#
# This script will install the MySQL privilege tables using the
# "mysql_install_db" script and will correct the ownerships of these files
# afterwards.
#
if cd @prefix@ ; then
if [ ! -f data/mysql/db.frm ] ; then
./scripts/mysql_install_db
fi
if [ -d data ] ; then
chown -R @MYSQLD_USER@ data
fi
else
exit $?
fi
#!/bin/sh
#
# preinstall - this script will be executed before the MySQL PKG
# installation will be performed.
#
# If this package has been compiled with a prefix ending with "mysql" (e.g.
# /usr/local/mysql or /opt/mysql), it will rename any previosuly existing
# directory with this name before installing the new package (which includes
# a symlink named "mysql", pointing to the newly installed directory, which
# is named mysql-<version>)
#
PREFIX="@prefix@"
BASENAME=`basename $PREFIX`
if [ -d $PREFIX -a ! -L $PREFIX -a $BASENAME = "mysql" ] ; then
mv $PREFIX $PREFIX.bak
fi
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