Merge chunk from trunk.
This commit is contained in:
commit
6a6e77eeff
@ -1351,3 +1351,5 @@ win/vs71cache.txt
|
|||||||
win/vs8cache.txt
|
win/vs8cache.txt
|
||||||
zlib/*.ds?
|
zlib/*.ds?
|
||||||
zlib/*.vcproj
|
zlib/*.vcproj
|
||||||
|
scripts/make_win_src_distribution_old
|
||||||
|
server-tools/instance-manager/net_serv.cc
|
||||||
|
@ -1,55 +1,10 @@
|
|||||||
#!/usr/bin/bash
|
#! /bin/sh
|
||||||
|
|
||||||
function _find_mysql_root () (
|
|
||||||
while [ "x$PWD" != "x/" ]; do
|
|
||||||
# Check if some directories are present
|
|
||||||
if [ -d BUILD -a -d sql -a -d mysys ]; then
|
|
||||||
echo "$PWD"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
cd ..
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
)
|
|
||||||
|
|
||||||
make -k clean || true
|
|
||||||
/bin/rm -f */.deps/*.P config.cache
|
|
||||||
|
|
||||||
path=`dirname $0`
|
path=`dirname $0`
|
||||||
. "$path/autorun.sh"
|
. "$path/SETUP.sh"
|
||||||
|
amd64_cflags="-m64 -mtune=athlon64"
|
||||||
warning_flags="-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused"
|
extra_flags="$amd64_cflags $max_cflags"
|
||||||
compiler_flags="-g -O3 -fno-omit-frame-pointer"
|
c_warnings="$c_warnings"
|
||||||
|
cxx_warnings="$cxx_warnings"
|
||||||
|
extra_configs="$amd64_configs $debug_configs $max_configs --enable-thread-safe-client"
|
||||||
|
|
||||||
export CC CXX CFLAGS CXXFLAGS LDFLAGS LIBS
|
. "$path/FINISH.sh"
|
||||||
CC="gcc"
|
|
||||||
CXX="gcc"
|
|
||||||
CFLAGS="$warning_flags $compiler_flags"
|
|
||||||
CXXFLAGS=""
|
|
||||||
LDFLAGS="-O3 -g -static-libgcc"
|
|
||||||
LIBS=-lmtmalloc
|
|
||||||
root=$(_find_mysql_root)
|
|
||||||
|
|
||||||
$root/configure \
|
|
||||||
--prefix=/usr/local/mysql \
|
|
||||||
--localstatedir=/usr/local/mysql/data \
|
|
||||||
--libexecdir=/usr/local/mysql/bin \
|
|
||||||
--with-extra-charsets=complex \
|
|
||||||
--enable-thread-safe-client \
|
|
||||||
--enable-local-infile \
|
|
||||||
--with-zlib-dir=bundled \
|
|
||||||
--with-big-tables \
|
|
||||||
--with-readline \
|
|
||||||
--with-archive-storage-engine \
|
|
||||||
--with-named-curses=-lcurses \
|
|
||||||
--with-big-tables \
|
|
||||||
--with-innodb \
|
|
||||||
--with-berkeley-db \
|
|
||||||
--with-example-storage-engine \
|
|
||||||
--with-blackhole-storage-engine \
|
|
||||||
--with-ndbcluster \
|
|
||||||
--with-federated-storage-engine \
|
|
||||||
--with-csv-storage-engine \
|
|
||||||
--with-ssl \
|
|
||||||
--with-embedded-server \
|
|
||||||
--disable-shared
|
|
||||||
|
10
BUILD/compile-solaris-amd64-debug
Normal file
10
BUILD/compile-solaris-amd64-debug
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
path=`dirname $0`
|
||||||
|
. "$path/SETUP.sh"
|
||||||
|
amd64_cflags="-m64 -mtune=athlon64"
|
||||||
|
extra_flags="$amd64_cflags $debug_cflags $max_cflags"
|
||||||
|
c_warnings="$c_warnings $debug_extra_warnings"
|
||||||
|
cxx_warnings="$cxx_warnings $debug_extra_warnings"
|
||||||
|
extra_configs="$amd64_configs $debug_configs $max_configs --enable-thread-safe-client"
|
||||||
|
|
||||||
|
. "$path/FINISH.sh"
|
52
BUILD/compile-solaris-amd64-forte
Normal file
52
BUILD/compile-solaris-amd64-forte
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
gmake -k clean || true
|
||||||
|
/bin/rm -f */.deps/*.P config.cache
|
||||||
|
|
||||||
|
path=`dirname $0`
|
||||||
|
. "$path/autorun.sh"
|
||||||
|
|
||||||
|
# For "optimal" code for this computer add -fast to EXTRA
|
||||||
|
# To compile 64 bit, add -xarch=v9 to EXTRA_64_BIT
|
||||||
|
|
||||||
|
EXTRA_64_BIT="-xarch=amd64"
|
||||||
|
EXTRA="-fast"
|
||||||
|
|
||||||
|
#
|
||||||
|
# The following should not need to be touched
|
||||||
|
#
|
||||||
|
|
||||||
|
export CC CXX CFLAGS CXXFLAGS
|
||||||
|
STD="-g -mt -D_FORTEC_ $EXTRA $EXTRA_64_BIT"
|
||||||
|
ASFLAGS="$EXTRA_64_BIT"
|
||||||
|
CC=cc-5.0
|
||||||
|
CFLAGS="-Xa -xstrconst $STD"
|
||||||
|
CXX=CC
|
||||||
|
CXXFLAGS="-noex $STD"
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr/local/mysql \
|
||||||
|
--localstatedir=/usr/local/mysql/data \
|
||||||
|
--libexecdir=/usr/local/mysql/bin \
|
||||||
|
--with-extra-charsets=complex \
|
||||||
|
--enable-thread-safe-client \
|
||||||
|
--enable-local-infile \
|
||||||
|
--with-zlib-dir=bundled \
|
||||||
|
--with-big-tables \
|
||||||
|
--with-readline \
|
||||||
|
--with-archive-storage-engine \
|
||||||
|
--with-named-curses=-lcurses \
|
||||||
|
--with-big-tables \
|
||||||
|
--with-innodb \
|
||||||
|
--with-example-storage-engine \
|
||||||
|
--with-blackhole-storage-engine \
|
||||||
|
--with-federated-storage-engine \
|
||||||
|
--with-csv-storage-engine \
|
||||||
|
--with-ssl \
|
||||||
|
--enable-assembler
|
||||||
|
|
||||||
|
# Not including:
|
||||||
|
# --with-ndbcluster
|
||||||
|
# --with-berkeley-db
|
||||||
|
|
||||||
|
gmake -j4
|
||||||
|
test $? = 0 && make test
|
54
BUILD/compile-solaris-amd64-forte-debug
Normal file
54
BUILD/compile-solaris-amd64-forte-debug
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
gmake -k clean || true
|
||||||
|
/bin/rm -f */.deps/*.P config.cache
|
||||||
|
|
||||||
|
path=`dirname $0`
|
||||||
|
. "$path/autorun.sh"
|
||||||
|
|
||||||
|
# To compile 64 bit, add -xarch=amd64 to EXTRA_64_BIT
|
||||||
|
EXTRA_64_BIT="-xarch=amd64"
|
||||||
|
|
||||||
|
# For "optimal" code for this computer add -fast to EXTRA. Note that
|
||||||
|
# this causes problem with debugging the program since -fast implies
|
||||||
|
# -xO5.
|
||||||
|
EXTRA=""
|
||||||
|
|
||||||
|
#
|
||||||
|
# The following should not need to be touched
|
||||||
|
#
|
||||||
|
|
||||||
|
export CC CXX CFLAGS CXXFLAGS
|
||||||
|
STD="-g -mt -D_FORTEC_ $EXTRA $EXTRA_64_BIT $debug_cflags"
|
||||||
|
ASFLAGS="$EXTRA_64_BIT"
|
||||||
|
CC=cc-5.0
|
||||||
|
CFLAGS="-Xa -xstrconst $STD"
|
||||||
|
CXX=CC
|
||||||
|
CXXFLAGS="-noex $STD"
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr/local/mysql \
|
||||||
|
--localstatedir=/usr/local/mysql/data \
|
||||||
|
--libexecdir=/usr/local/mysql/bin \
|
||||||
|
--with-extra-charsets=complex \
|
||||||
|
--enable-thread-safe-client \
|
||||||
|
--enable-local-infile \
|
||||||
|
--with-zlib-dir=bundled \
|
||||||
|
--with-big-tables \
|
||||||
|
--with-readline \
|
||||||
|
--with-archive-storage-engine \
|
||||||
|
--with-named-curses=-lcurses \
|
||||||
|
--with-big-tables \
|
||||||
|
--with-innodb \
|
||||||
|
--with-example-storage-engine \
|
||||||
|
--with-blackhole-storage-engine \
|
||||||
|
--with-federated-storage-engine \
|
||||||
|
--with-csv-storage-engine \
|
||||||
|
--with-ssl \
|
||||||
|
--with-debug \
|
||||||
|
--enable-assembler
|
||||||
|
|
||||||
|
# Not including:
|
||||||
|
# --with-ndbcluster
|
||||||
|
# --with-berkeley-db
|
||||||
|
|
||||||
|
gmake -j4
|
@ -1,7 +1,13 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
#shift
|
#shift
|
||||||
FROM=$USER@mysql.com
|
if [ -n "$BK_USER" ]
|
||||||
|
then
|
||||||
|
COMMITTER=$BK_USER
|
||||||
|
else
|
||||||
|
COMMITTER=$USER
|
||||||
|
fi
|
||||||
|
FROM=$COMMITTER@mysql.com
|
||||||
COMMITS=commits@lists.mysql.com
|
COMMITS=commits@lists.mysql.com
|
||||||
DOCS=docs-commit@mysql.com
|
DOCS=docs-commit@mysql.com
|
||||||
LIMIT=10000
|
LIMIT=10000
|
||||||
@ -88,8 +94,8 @@ Subject: bk commit into $VERSION tree ($CHANGESET)$BS
|
|||||||
X-CSetKey: <$CSETKEY>
|
X-CSetKey: <$CSETKEY>
|
||||||
$BH
|
$BH
|
||||||
Below is the list of changes that have just been committed into a local
|
Below is the list of changes that have just been committed into a local
|
||||||
$VERSION repository of $USER. When $USER does a push these changes will
|
$VERSION repository of $COMMITTER. When $COMMITTER does a push these changes
|
||||||
be propagated to the main repository and, within 24 hours after the
|
will be propagated to the main repository and, within 24 hours after the
|
||||||
push, to the public repository.
|
push, to the public repository.
|
||||||
For information on how to access the public repository
|
For information on how to access the public repository
|
||||||
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
|
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
|
||||||
|
22
BitKeeper/triggers/post-commit.innodb.pl
Executable file
22
BitKeeper/triggers/post-commit.innodb.pl
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#! /usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use FindBin;
|
||||||
|
require "$FindBin::Bin/triggers-lib.pl";
|
||||||
|
|
||||||
|
# Don't run unless commit was successful
|
||||||
|
check_status() || exit 0;
|
||||||
|
|
||||||
|
my $cset = latest_cset();
|
||||||
|
|
||||||
|
# Read most recent ChangeSet's changed files. Send merge changes along, since
|
||||||
|
# they'll need to be incorporated in InnoDB's source tree eventually.
|
||||||
|
my $changes = innodb_get_changes('cset', $cset, 'yes')
|
||||||
|
or exit 0;
|
||||||
|
|
||||||
|
innodb_send_changes_email($cset, $changes)
|
||||||
|
or exit 1;
|
||||||
|
|
||||||
|
exit 0;
|
30
BitKeeper/triggers/post-incoming.innodb.pl
Executable file
30
BitKeeper/triggers/post-incoming.innodb.pl
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#! /usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use FindBin;
|
||||||
|
require "$FindBin::Bin/triggers-lib.pl";
|
||||||
|
|
||||||
|
# Don't run unless push/pull was successful
|
||||||
|
check_status() or exit 0;
|
||||||
|
|
||||||
|
# Don't run if push/pull is in local clones
|
||||||
|
exit 0 if repository_type() eq 'local';
|
||||||
|
|
||||||
|
# For each pushed ChangeSet, check it for InnoDB files and send
|
||||||
|
# diff of entire ChangeSet to InnoDB developers if such changes
|
||||||
|
# exist.
|
||||||
|
|
||||||
|
my $error = 0;
|
||||||
|
|
||||||
|
foreach my $cset (read_bk_csetlist())
|
||||||
|
{
|
||||||
|
my $changes = innodb_get_changes('cset', $cset, 'yes')
|
||||||
|
or next;
|
||||||
|
|
||||||
|
innodb_send_changes_email($cset, $changes)
|
||||||
|
or $error = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
exit ($error == 0 ? 0 : 1);
|
21
BitKeeper/triggers/pre-commit.innodb.pl
Executable file
21
BitKeeper/triggers/pre-commit.innodb.pl
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#! /usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use FindBin;
|
||||||
|
require "$FindBin::Bin/triggers-lib.pl";
|
||||||
|
|
||||||
|
die "$0: Script error: \$BK_PENDING is not set in pre-commit trigger\n"
|
||||||
|
unless defined $ENV{BK_PENDING};
|
||||||
|
|
||||||
|
# Read changed files from $BK_PENDING directly. Do not bother user about
|
||||||
|
# merge changes; they don't have any choice, the merge must be done.
|
||||||
|
my $changes = innodb_get_changes('file', $ENV{BK_PENDING}, undef)
|
||||||
|
or exit 0;
|
||||||
|
|
||||||
|
innodb_inform_and_query_user($changes)
|
||||||
|
or exit 1; # Abort commit
|
||||||
|
|
||||||
|
# OK, continue with commit
|
||||||
|
exit 0;
|
360
BitKeeper/triggers/triggers-lib.pl
Normal file
360
BitKeeper/triggers/triggers-lib.pl
Normal file
@ -0,0 +1,360 @@
|
|||||||
|
# To use this convenience library in a trigger, simply require it at
|
||||||
|
# at the top of the script. For example:
|
||||||
|
#
|
||||||
|
# #! /usr/bin/perl
|
||||||
|
#
|
||||||
|
# use FindBin;
|
||||||
|
# require "$FindBin::Bin/triggers-lib.pl";
|
||||||
|
#
|
||||||
|
# FindBin is needed, because sometimes a trigger is called from the
|
||||||
|
# RESYNC directory, and the trigger dir is ../BitKeeper/triggers
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use Carp;
|
||||||
|
use FindBin;
|
||||||
|
|
||||||
|
|
||||||
|
my $mysql_version = "5.0";
|
||||||
|
|
||||||
|
# These addresses must be kept current in all MySQL versions.
|
||||||
|
# See the wiki page InnoDBandOracle.
|
||||||
|
#my @innodb_to_email = ('dev_innodb_ww@oracle.com');
|
||||||
|
#my @innodb_cc_email = ('dev-innodb@mysql.com');
|
||||||
|
# FIXME: Keep this for testing; remove it once it's been used for a
|
||||||
|
# week or two.
|
||||||
|
my @innodb_to_email = ('tim@mysql.com');
|
||||||
|
my @innodb_cc_email = ();
|
||||||
|
|
||||||
|
# This is for MySQL <= 5.0. Regex which defines the InnoDB files
|
||||||
|
# which should generally not be touched by MySQL developers.
|
||||||
|
my $innodb_files_description = <<EOF;
|
||||||
|
innobase/*
|
||||||
|
mysql-test/t/innodb* (except mysql-test/t/innodb_mysql*)
|
||||||
|
mysql-test/r/innodb* (except mysql-test/r/innodb_mysql*)
|
||||||
|
sql/ha_innodb*
|
||||||
|
EOF
|
||||||
|
my $innodb_files_regex = qr{
|
||||||
|
^
|
||||||
|
(
|
||||||
|
# Case 1: innobase/*
|
||||||
|
innobase/
|
||||||
|
|
|
||||||
|
# Case 2: mysql-test/[tr]/innodb* (except innodb_mysql*)
|
||||||
|
mysql-test/(t|r)/SCCS/s.innodb
|
||||||
|
# The mysql-test/[tr]/innodb_mysql* are OK to edit
|
||||||
|
(?!_mysql)
|
||||||
|
|
|
||||||
|
# Case 3: sql/ha_innodb*
|
||||||
|
sql/SCCS/s.ha_innodb
|
||||||
|
)
|
||||||
|
}x;
|
||||||
|
|
||||||
|
|
||||||
|
# See 'bk help log', and the format of, e.g., $BK_PENDING.
|
||||||
|
# Important: this already contains the terminating newline!
|
||||||
|
my $file_rev_dspec = ':SFILE:|:REV:\n';
|
||||||
|
|
||||||
|
my $bktmp = "$FindBin::Bin/../tmp";
|
||||||
|
|
||||||
|
my $sendmail;
|
||||||
|
foreach ('/usr/sbin/sendmail', 'sendmail') {
|
||||||
|
$sendmail = $_;
|
||||||
|
last if -x $sendmail;
|
||||||
|
}
|
||||||
|
my $from = $ENV{REAL_EMAIL} || $ENV{USER} . '@mysql.com';
|
||||||
|
|
||||||
|
|
||||||
|
# close_or_warn
|
||||||
|
# $fh file handle to be closed
|
||||||
|
# $description description of the file handle
|
||||||
|
# RETURN Return value of close($fh)
|
||||||
|
#
|
||||||
|
# Print a nice warning message if close() isn't successful. See
|
||||||
|
# perldoc perlvar and perldoc -f close for details.
|
||||||
|
|
||||||
|
sub close_or_warn (*$)
|
||||||
|
{
|
||||||
|
my ($fh, $description) = @_;
|
||||||
|
|
||||||
|
my $status = close $fh;
|
||||||
|
if (not $status) {
|
||||||
|
warn "$0: error on close of '$description': ",
|
||||||
|
($! ? "$!" : "exit status " . ($? >> 8)), "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# check_status
|
||||||
|
# $warn If true, warn about bad status
|
||||||
|
# RETURN TRUE, if $BK_STATUS is "OK"; FALSE otherwise
|
||||||
|
#
|
||||||
|
# Also checks the undocumented $BK_COMMIT env variable
|
||||||
|
|
||||||
|
sub check_status
|
||||||
|
{
|
||||||
|
my ($warn) = @_;
|
||||||
|
|
||||||
|
my $status = (grep { defined $_ }
|
||||||
|
$ENV{BK_STATUS}, $ENV{BK_COMMIT}, '<undef>')[0];
|
||||||
|
|
||||||
|
unless ($status eq 'OK')
|
||||||
|
{
|
||||||
|
warn "Bad BK_STATUS '$status'\n" if $warn;
|
||||||
|
return undef;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# repository_location
|
||||||
|
#
|
||||||
|
# RETURN ('HOST', 'ROOT') for the repository being modified
|
||||||
|
|
||||||
|
sub repository_location
|
||||||
|
{
|
||||||
|
if ($ENV{BK_SIDE} eq 'client') {
|
||||||
|
return ($ENV{BK_HOST}, $ENV{BK_ROOT});
|
||||||
|
} else {
|
||||||
|
return ($ENV{BKD_HOST}, $ENV{BKD_ROOT});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# repository_type
|
||||||
|
# RETURN:
|
||||||
|
# 'main' for repo on bk-internal with post-incoming.bugdb trigger
|
||||||
|
# 'team' for repo on bk-internal with post-incoming.queuepush.pl trigger
|
||||||
|
# 'local' otherwise
|
||||||
|
#
|
||||||
|
# This definition may need to be modified if the host name or triggers change.
|
||||||
|
|
||||||
|
sub repository_type
|
||||||
|
{
|
||||||
|
my ($host, $root) = repository_location();
|
||||||
|
|
||||||
|
return 'local'
|
||||||
|
unless uc($host) eq 'BK-INTERNAL.MYSQL.COM'
|
||||||
|
and -e "$root/BitKeeper/triggers/post-incoming.queuepush.pl";
|
||||||
|
|
||||||
|
return 'main' if -e "$root/BitKeeper/triggers/post-incoming.bugdb";
|
||||||
|
|
||||||
|
return 'team';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# latest_cset
|
||||||
|
# RETURN Key for most recent ChangeSet
|
||||||
|
|
||||||
|
sub latest_cset {
|
||||||
|
chomp(my $retval = `bk changes -r+ -k`);
|
||||||
|
return $retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# read_bk_csetlist
|
||||||
|
# RETURN list of cset keys from $BK_CSETLIST file
|
||||||
|
sub read_bk_csetlist
|
||||||
|
{
|
||||||
|
die "$0: script error: \$BK_CSETLIST not set\n"
|
||||||
|
unless defined $ENV{BK_CSETLIST};
|
||||||
|
|
||||||
|
open CSETS, '<', $ENV{BK_CSETLIST}
|
||||||
|
or die "$0: can't read \$BK_CSETLIST='$ENV{BK_CSETLIST}': $!\n";
|
||||||
|
chomp(my @csets = <CSETS>);
|
||||||
|
close_or_warn(CSETS, "\$BK_CSETLIST='$ENV{BK_CSETLIST}'");
|
||||||
|
|
||||||
|
return @csets;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# innodb_get_changes
|
||||||
|
# $type 'file' or 'cset'
|
||||||
|
# $value file name (e.g., $BK_PENDING) or ChangeSet key
|
||||||
|
# $want_merge_changes flag; if false, merge changes will be ignored
|
||||||
|
# RETURN A string describing the InnoDB changes, or undef if no changes
|
||||||
|
#
|
||||||
|
# The return value does *not* include ChangeSet comments, only per-file
|
||||||
|
# comments.
|
||||||
|
|
||||||
|
sub innodb_get_changes
|
||||||
|
{
|
||||||
|
my ($type, $value, $want_merge_changes) = @_;
|
||||||
|
|
||||||
|
if ($type eq 'file')
|
||||||
|
{
|
||||||
|
open CHANGES, '<', $value
|
||||||
|
or die "$0: can't read '$value': $!\n";
|
||||||
|
}
|
||||||
|
elsif ($type eq 'cset')
|
||||||
|
{
|
||||||
|
open CHANGES, '-|', "bk changes -r'$value' -v -d'$file_rev_dspec'"
|
||||||
|
or die "$0: can't exec 'bk changes': $!\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
croak "$0: script error: invalid type '$type'";
|
||||||
|
}
|
||||||
|
|
||||||
|
my @changes = grep { /$innodb_files_regex/ } <CHANGES>;
|
||||||
|
|
||||||
|
close_or_warn(CHANGES, "($type, '$value')");
|
||||||
|
|
||||||
|
return undef unless @changes;
|
||||||
|
|
||||||
|
|
||||||
|
# Set up a pipeline of 'bk log' commands to weed out unwanted deltas. We
|
||||||
|
# never want deltas which contain no actual changes. We may not want deltas
|
||||||
|
# which are merges.
|
||||||
|
|
||||||
|
my @filters;
|
||||||
|
|
||||||
|
# This tests if :LI: (lines inserted) or :LD: (lines deleted) is
|
||||||
|
# non-zero. That is, did this delta change the file contents?
|
||||||
|
push @filters,
|
||||||
|
"bk log -d'"
|
||||||
|
. "\$if(:LI: -gt 0){$file_rev_dspec}"
|
||||||
|
. "\$if(:LI: -eq 0){\$if(:LD: -gt 0){$file_rev_dspec}}"
|
||||||
|
. "' -";
|
||||||
|
|
||||||
|
push @filters, "bk log -d'\$unless(:MERGE:){$file_rev_dspec}' -"
|
||||||
|
unless $want_merge_changes;
|
||||||
|
|
||||||
|
my $tmpname = "$bktmp/ibchanges.txt";
|
||||||
|
my $pipeline = join(' | ', @filters) . " > $tmpname";
|
||||||
|
open TMP, '|-', $pipeline
|
||||||
|
or die "$0: can't exec [[$pipeline]]: $!\n";
|
||||||
|
|
||||||
|
print TMP @changes;
|
||||||
|
close_or_warn(TMP, "| $pipeline");
|
||||||
|
|
||||||
|
# Use bk log to describe the changes
|
||||||
|
open LOG, "bk log - < $tmpname |"
|
||||||
|
or die "$0: can't exec 'bk log - < $tmpname': $!\n";
|
||||||
|
my @log = <LOG>;
|
||||||
|
close_or_warn(LOG, "bk log - < $tmpname |");
|
||||||
|
|
||||||
|
unlink $tmpname;
|
||||||
|
|
||||||
|
return undef unless @log;
|
||||||
|
|
||||||
|
return join('', @log);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Ask user if they really want to commit.
|
||||||
|
# RETURN TRUE = YES, commit; FALSE = NO, do not commit
|
||||||
|
|
||||||
|
sub innodb_inform_and_query_user
|
||||||
|
{
|
||||||
|
my ($description) = @_;
|
||||||
|
|
||||||
|
my $tmpname = "$bktmp/ibquery.txt";
|
||||||
|
|
||||||
|
open MESSAGE, "> $tmpname"
|
||||||
|
or die "$0: can't write message to '$tmpname': $!";
|
||||||
|
|
||||||
|
print MESSAGE <<EOF;
|
||||||
|
This ChangeSet modifies some files which should normally be changed by
|
||||||
|
InnoDB developers only. In general, MySQL developers should not change:
|
||||||
|
|
||||||
|
$innodb_files_description
|
||||||
|
The following InnoDB files were modified:
|
||||||
|
=========================================================
|
||||||
|
$description
|
||||||
|
=========================================================
|
||||||
|
|
||||||
|
If you understand this, you may Commit these changes. The changes
|
||||||
|
will be sent to the InnoDB developers at @{[join ', ', @innodb_to_email]},
|
||||||
|
CC @{[join ', ', @innodb_cc_email]}.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
close_or_warn(MESSAGE, "$tmpname");
|
||||||
|
|
||||||
|
my $status = system('bk', 'prompt', '-w',
|
||||||
|
'-yCommit these changes', '-nDo not Commit', "-f$tmpname");
|
||||||
|
|
||||||
|
unlink $tmpname;
|
||||||
|
|
||||||
|
return ($status == 0 ? 1 : undef);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# innodb_send_changes_email
|
||||||
|
# $cset The ChangeSet key
|
||||||
|
# $description A (maybe brief) description of the changes
|
||||||
|
# RETURN TRUE = Success, e-mail sent; FALSE = Failure
|
||||||
|
#
|
||||||
|
# Sends a complete diff of changes in $cset by e-mail.
|
||||||
|
|
||||||
|
sub innodb_send_changes_email
|
||||||
|
{
|
||||||
|
my ($cset, $description) = @_;
|
||||||
|
|
||||||
|
# FIXME: Much of this is duplicated in the 'post-commit' Bourne shell
|
||||||
|
# trigger
|
||||||
|
|
||||||
|
my $cset_short = `bk changes -r'$cset' -d':P:::I:'`;
|
||||||
|
my $cset_key = `bk changes -r'$cset' -d':KEY:'`;
|
||||||
|
|
||||||
|
my ($host, $bk_root) = repository_location();
|
||||||
|
my $type = repository_type();
|
||||||
|
(my $treename = $bk_root) =~ s,^.*/,,;
|
||||||
|
|
||||||
|
print "Nofifying InnoDB developers at ",
|
||||||
|
(join ', ', @innodb_to_email, @innodb_cc_email), "\n";
|
||||||
|
|
||||||
|
open SENDMAIL, '|-', "$sendmail -t"
|
||||||
|
or die "Can't exec '$sendmail -t': $!\n";
|
||||||
|
|
||||||
|
my @headers;
|
||||||
|
push @headers, "List-ID: <bk.innodb-$mysql_version>";
|
||||||
|
push @headers, "From: $from";
|
||||||
|
push @headers, "To: " . (join ', ', @innodb_to_email);
|
||||||
|
push @headers, "Cc: " . (join ', ', @innodb_cc_email) if @innodb_cc_email;
|
||||||
|
push @headers,
|
||||||
|
"Subject: InnoDB changes in $type $mysql_version tree ($cset_short)";
|
||||||
|
push @headers, "X-CSetKey: <$cset_key>";
|
||||||
|
|
||||||
|
print SENDMAIL map { "$_\n" } @headers, '';
|
||||||
|
|
||||||
|
if ($type eq 'main')
|
||||||
|
{
|
||||||
|
print SENDMAIL <<EOF;
|
||||||
|
Changes pushed to $treename by $ENV{USER} affect the following
|
||||||
|
files. These changes are in a $mysql_version main tree. They
|
||||||
|
will be available publicly within 24 hours.
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
elsif ($type eq 'team')
|
||||||
|
{
|
||||||
|
print SENDMAIL <<EOF;
|
||||||
|
Changes added to $treename by $ENV{USER} affect the
|
||||||
|
following files. These changes are in a $mysql_version team tree.
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print SENDMAIL <<EOF;
|
||||||
|
A local commit by $ENV{USER} affects the following files. These
|
||||||
|
changes are in a clone of a $mysql_version tree.
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
print SENDMAIL "\n";
|
||||||
|
print SENDMAIL qx(bk changes -r'$cset');
|
||||||
|
print SENDMAIL "$description";
|
||||||
|
print SENDMAIL "The complete ChangeSet diffs follow.\n\n";
|
||||||
|
print SENDMAIL qx(bk rset -r'$cset' -ah | bk gnupatch -h -dup -T);
|
||||||
|
|
||||||
|
close_or_warn(SENDMAIL, "$sendmail -t")
|
||||||
|
or return undef;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
1;
|
@ -13,7 +13,7 @@
|
|||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
EXTRA_DIST = mysql.info INSTALL-BINARY
|
EXTRA_DIST = mysql.info INSTALL-BINARY @extra_docs@
|
||||||
|
|
||||||
# make sure that "make install" installs the info page, too
|
# make sure that "make install" installs the info page, too
|
||||||
# automake only seems to take care of this automatically,
|
# automake only seems to take care of this automatically,
|
||||||
|
36
Makefile.am
36
Makefile.am
@ -102,7 +102,7 @@ dist-hook:
|
|||||||
rm -rf `find $(distdir) -type d -name SCCS -print`
|
rm -rf `find $(distdir) -type d -name SCCS -print`
|
||||||
rm -f `find $(distdir) -type l -print`
|
rm -f `find $(distdir) -type l -print`
|
||||||
mkdir -p $(distdir)/win
|
mkdir -p $(distdir)/win
|
||||||
scripts/mysql_install_db --no-defaults --windows \
|
scripts/mysql_install_db --no-defaults --cross-bootstrap \
|
||||||
--basedir=$(top_builddir) \
|
--basedir=$(top_builddir) \
|
||||||
--datadir=$(distdir)/win/data \
|
--datadir=$(distdir)/win/data \
|
||||||
--srcdir=$(top_srcdir)
|
--srcdir=$(top_srcdir)
|
||||||
@ -127,11 +127,11 @@ tags:
|
|||||||
|
|
||||||
test-ps:
|
test-ps:
|
||||||
cd mysql-test ; \
|
cd mysql-test ; \
|
||||||
@PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol
|
@PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol
|
||||||
|
|
||||||
test-ns:
|
test-ns:
|
||||||
cd mysql-test ; \
|
cd mysql-test ; \
|
||||||
@PERL@ ./mysql-test-run.pl $(force) $(mem)
|
@PERL@ ./mysql-test-run.pl $(force) $(mem)
|
||||||
|
|
||||||
test: test-ns test-ps
|
test: test-ns test-ps
|
||||||
|
|
||||||
@ -150,25 +150,25 @@ test-force-mem:
|
|||||||
|
|
||||||
test-bt:
|
test-bt:
|
||||||
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
||||||
@PERL@ ./mysql-test-run.pl --force --comment=normal --report-features
|
@PERL@ ./mysql-test-run.pl --force --comment=normal --report-features
|
||||||
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
||||||
@PERL@ ./mysql-test-run.pl --force --comment=ps --ps-protocol
|
@PERL@ ./mysql-test-run.pl --force --comment=ps --ps-protocol
|
||||||
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
||||||
@PERL@ ./mysql-test-run.pl --force --comment=funcs1_ps --ps-protocol --suite=funcs_1
|
@PERL@ ./mysql-test-run.pl --force --comment=funcs1_ps --ps-protocol --suite=funcs_1
|
||||||
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
||||||
@PERL@ ./mysql-test-run.pl --force --comment=funcs2 --suite=funcs_2
|
@PERL@ ./mysql-test-run.pl --force --comment=funcs2 --suite=funcs_2
|
||||||
-if [ -d mysql-test/suite/nist ] ; then \
|
-if [ -d mysql-test/suite/nist ] ; then \
|
||||||
cd mysql-test ; MTR_BUILD_THREAD=auto \
|
cd mysql-test ; MTR_BUILD_THREAD=auto \
|
||||||
@PERL@ ./mysql-test-run.pl --comment=NIST+normal --force --suite=nist ; \
|
@PERL@ ./mysql-test-run.pl --comment=NIST+normal --force --suite=nist ; \
|
||||||
fi
|
fi
|
||||||
-if [ -d mysql-test/suite/nist ] ; then \
|
-if [ -d mysql-test/suite/nist ] ; then \
|
||||||
cd mysql-test ; MTR_BUILD_THREAD=auto \
|
cd mysql-test ; MTR_BUILD_THREAD=auto \
|
||||||
@PERL@ ./mysql-test-run.pl --comment=NIST+ps --force --suite=nist --ps-protocol ; \
|
@PERL@ ./mysql-test-run.pl --comment=NIST+ps --force --suite=nist --ps-protocol ; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test-bt-debug:
|
test-bt-debug:
|
||||||
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
-cd mysql-test ; MTR_BUILD_THREAD=auto \
|
||||||
@PERL@ ./mysql-test-run.pl --force --comment=debug --report-features
|
@PERL@ ./mysql-test-run.pl --force --comment=debug --report-features
|
||||||
|
|
||||||
# Keep these for a while
|
# Keep these for a while
|
||||||
test-pl: test
|
test-pl: test
|
||||||
@ -179,15 +179,15 @@ test-force-full-pl: test-force-full
|
|||||||
|
|
||||||
test-ext-funcs:
|
test-ext-funcs:
|
||||||
cd mysql-test ; \
|
cd mysql-test ; \
|
||||||
@PERL@ ./mysql-test-run.pl --force --suite=funcs_1 ; \
|
@PERL@ ./mysql-test-run.pl --force --suite=funcs_1 ; \
|
||||||
@PERL@ ./mysql-test-run.pl --force --suite=funcs_2
|
@PERL@ ./mysql-test-run.pl --force --suite=funcs_2
|
||||||
|
|
||||||
test-ext: test-ext-funcs
|
test-ext: test-ext-funcs
|
||||||
|
|
||||||
test-fast:
|
test-fast:
|
||||||
cd mysql-test ; \
|
cd mysql-test ; \
|
||||||
@PERL@ ./mysql-test-run.pl $(subset) --force --skip-ndb --skip-innodb --skip-im --skip-rpl ; \
|
@PERL@ ./mysql-test-run.pl $(subset) --force --skip-ndb --skip-innodb --skip-im --skip-rpl ; \
|
||||||
@PERL@ ./mysql-test-run.pl $(subset) --force --suite=funcs_1 --do-test=myisam
|
@PERL@ ./mysql-test-run.pl $(subset) --force --suite=funcs_1 --do-test=myisam
|
||||||
|
|
||||||
test-fast-view:
|
test-fast-view:
|
||||||
$(MAKE) subset=--view-protocol test-fast
|
$(MAKE) subset=--view-protocol test-fast
|
||||||
@ -200,8 +200,8 @@ test-fast-prepare:
|
|||||||
|
|
||||||
test-full-qa:
|
test-full-qa:
|
||||||
$(MAKE) force=--force test-pl \
|
$(MAKE) force=--force test-pl \
|
||||||
test-ext test-fast-view \
|
test-ext test-fast-view \
|
||||||
test-fast-cursor
|
test-fast-cursor
|
||||||
|
|
||||||
# Don't update the files from bitkeeper
|
# Don't update the files from bitkeeper
|
||||||
%::SCCS/s.%
|
%::SCCS/s.%
|
||||||
|
@ -78,11 +78,6 @@ copy include\conf*.h c:\mysql\include
|
|||||||
copy include\my_global.h c:\mysql\include\my_global.h
|
copy include\my_global.h c:\mysql\include\my_global.h
|
||||||
copy libmysql\libmysql.def c:\mysql\include
|
copy libmysql\libmysql.def c:\mysql\include
|
||||||
|
|
||||||
REM Copy test files
|
|
||||||
|
|
||||||
copy libmysqltest\*.* c:\mysql\examples\libmysqltest
|
|
||||||
copy libmysqltest\release\myTest.exe c:\mysql\examples\libmysqltest
|
|
||||||
|
|
||||||
REM Copy share, docs etc
|
REM Copy share, docs etc
|
||||||
|
|
||||||
xcopy share\*.* c:\mysql\share /E /Y
|
xcopy share\*.* c:\mysql\share /E /Y
|
||||||
|
@ -1,92 +0,0 @@
|
|||||||
# Microsoft Developer Studio Project File - Name="myTest" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=myTest - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "myTest.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "myTest.mak" CFG="myTest - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "myTest - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "myTest - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=xicl6.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "myTest - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "release"
|
|
||||||
# PROP Intermediate_Dir "release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /G6 /W3 /O2 /I "..\..\include" /D "NDEBUG" /D "DBUG_UFF" /D "_CONSOLE" /D "_MBCS" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=xilink6.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 ..\..\lib\opt\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\lib_release"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "myTest - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "debug"
|
|
||||||
# PROP Intermediate_Dir "debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "..\..\include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
|
|
||||||
# SUBTRACT CPP /Fr /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=xilink6.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 ..\..\lib\debug\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /pdbtype:sept /libpath:"..\lib_debug"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "myTest - Win32 Release"
|
|
||||||
# Name "myTest - Win32 Debug"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Mytest.c
|
|
||||||
# End Source File
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
@ -1,92 +0,0 @@
|
|||||||
# Microsoft Developer Studio Project File - Name="myTest" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=myTest - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "myTest.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "myTest.mak" CFG="myTest - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "myTest - WinIA64 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "myTest - WinIA64 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=xicl6.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "myTest - WinIA64 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "release"
|
|
||||||
# PROP Intermediate_Dir "release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /W3 /I "..\include" /D"NDEBUG" /D"DBUG_UFF" /D"_CONSOLE" /D"_MBCS" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=xilink6.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64
|
|
||||||
# ADD LINK32 ..\lib_release\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 /libpath:"..\lib_release" /incremental:no
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "myTest - WinIA64 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "debug"
|
|
||||||
# PROP Intermediate_Dir "debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Z7 /I "..\include" /D"_DEBUG" /D"_CONSOLE" /D"_MBCS" /FD /c /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600
|
|
||||||
# SUBTRACT CPP /Fr /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=xilink6.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64
|
|
||||||
# ADD LINK32 ..\lib_debug\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 /libpath:"..\lib_debug" /incremental:no
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "myTest - WinIA64 Release"
|
|
||||||
# Name "myTest - WinIA64 Debug"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Mytest.c
|
|
||||||
# End Source File
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
@ -1,92 +0,0 @@
|
|||||||
# Microsoft Developer Studio Project File - Name="myTest" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=myTest - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "myTest.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "myTest.mak" CFG="myTest - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "myTest - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "myTest - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=xicl6.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "myTest - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "release"
|
|
||||||
# PROP Intermediate_Dir "release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /G6 /W3 /O2 /I "..\include" /D "DBUG_UFF" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /FD /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=xilink6.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\lib_release"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "myTest - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "debug"
|
|
||||||
# PROP Intermediate_Dir "debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "..\include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
|
|
||||||
# SUBTRACT CPP /Fr /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=xilink6.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /pdbtype:sept /libpath:"..\lib_debug"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "myTest - Win32 Release"
|
|
||||||
# Name "myTest - Win32 Debug"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Mytest.c
|
|
||||||
# End Source File
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
@ -1,146 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="7.10"
|
|
||||||
Name="myTest"
|
|
||||||
SccProjectName=""
|
|
||||||
SccLocalPath="">
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"/>
|
|
||||||
</Platforms>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\debug_obj"
|
|
||||||
IntermediateDirectory=".\debug_obj"
|
|
||||||
ConfigurationType="1"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
OptimizeForProcessor="2"
|
|
||||||
AdditionalIncludeDirectories="..\include"
|
|
||||||
PreprocessorDefinitions="_DEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="5"
|
|
||||||
PrecompiledHeaderFile=".\debug_obj/myTest.pch"
|
|
||||||
AssemblerListingLocation=".\debug_obj/"
|
|
||||||
ObjectFile=".\debug_obj/"
|
|
||||||
ProgramDataBaseFileName=".\debug_obj/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
DebugInformationFormat="1"
|
|
||||||
CompileAs="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="libmysql.lib odbc32.lib odbccp32.lib"
|
|
||||||
OutputFile=".\debug/myTest.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
GenerateDebugInformation="TRUE"
|
|
||||||
ProgramDatabaseFile=".\debug_obj/myTest.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\debug_obj/myTest.tlb"
|
|
||||||
HeaderFileName=""/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1033"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\release_obj"
|
|
||||||
IntermediateDirectory=".\release_obj"
|
|
||||||
ConfigurationType="1"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
OptimizeForProcessor="2"
|
|
||||||
AdditionalIncludeDirectories="..\include"
|
|
||||||
PreprocessorDefinitions="DBUG_UFF;_CONSOLE;NDEBUG"
|
|
||||||
StringPooling="TRUE"
|
|
||||||
RuntimeLibrary="4"
|
|
||||||
EnableFunctionLevelLinking="TRUE"
|
|
||||||
PrecompiledHeaderFile=".\release_obj/myTest.pch"
|
|
||||||
AssemblerListingLocation=".\release_obj/"
|
|
||||||
ObjectFile=".\release_obj/"
|
|
||||||
ProgramDataBaseFileName=".\release_obj/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
CompileAs="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="libmysql.lib odbc32.lib odbccp32.lib"
|
|
||||||
OutputFile=".\release/myTest.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
ProgramDatabaseFile=".\release_obj/myTest.pdb"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\release_obj/myTest.tlb"
|
|
||||||
HeaderFileName=""/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1033"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath="Mytest.c">
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
@ -1,94 +0,0 @@
|
|||||||
# Microsoft Developer Studio Project File - Name="myTest" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=myTest - WinIA64 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "myTest_ia64.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "myTest_ia64.mak" CFG="myTest - WinIA64 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "myTest - WinIA64 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "myTest - WinIA64 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "myTest - WinIA64 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "release"
|
|
||||||
# PROP Intermediate_Dir "release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
MTL=midl.exe
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /W3 /Zi /O2 /I "..\include" /D "DBUG_UFF" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c
|
|
||||||
# SUBTRACT CPP /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64
|
|
||||||
# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /libpath:"..\lib_release" /machine:IA64
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "myTest - WinIA64 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "debug"
|
|
||||||
# PROP Intermediate_Dir "debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
MTL=midl.exe
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Zi /Od /I "..\include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c
|
|
||||||
# SUBTRACT CPP /Fr /YX
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64
|
|
||||||
# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /libpath:"..\lib_debug" /machine:IA64
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "myTest - WinIA64 Release"
|
|
||||||
# Name "myTest - WinIA64 Debug"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Mytest.c
|
|
||||||
# End Source File
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
@ -1,175 +0,0 @@
|
|||||||
/*C4*/
|
|
||||||
/****************************************************************/
|
|
||||||
/* Author: Jethro Wright, III TS : 3/ 4/1998 9:15 */
|
|
||||||
/* Date: 02/18/1998 */
|
|
||||||
/* mytest.c : do some testing of the libmySQL.DLL.... */
|
|
||||||
/* */
|
|
||||||
/* History: */
|
|
||||||
/* 02/18/1998 jw3 also sprach zarathustra.... */
|
|
||||||
/****************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#include <windows.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include <mysql.h>
|
|
||||||
|
|
||||||
#define DEFALT_SQL_STMT "SELECT * FROM db"
|
|
||||||
#ifndef offsetof
|
|
||||||
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/********************************************************
|
|
||||||
**
|
|
||||||
** main :-
|
|
||||||
**
|
|
||||||
********************************************************/
|
|
||||||
|
|
||||||
int
|
|
||||||
main( int argc, char * argv[] )
|
|
||||||
{
|
|
||||||
|
|
||||||
char szSQL[ 200 ], aszFlds[ 25 ][ 25 ], szDB[ 50 ] ;
|
|
||||||
const char *pszT;
|
|
||||||
int i, j, k, l, x ;
|
|
||||||
MYSQL * myData ;
|
|
||||||
MYSQL_RES * res ;
|
|
||||||
MYSQL_FIELD * fd ;
|
|
||||||
MYSQL_ROW row ;
|
|
||||||
|
|
||||||
//....just curious....
|
|
||||||
printf( "sizeof( MYSQL ) == %d\n", (int) sizeof( MYSQL ) ) ;
|
|
||||||
if ( argc == 2 )
|
|
||||||
{
|
|
||||||
strcpy( szDB, argv[ 1 ] ) ;
|
|
||||||
strcpy( szSQL, DEFALT_SQL_STMT ) ;
|
|
||||||
if (!strcmp(szDB,"--debug"))
|
|
||||||
{
|
|
||||||
strcpy( szDB, "mysql" ) ;
|
|
||||||
printf("Some mysql struct information (size and offset):\n");
|
|
||||||
printf("net:\t%3d %3d\n",(int) sizeof(myData->net),
|
|
||||||
(int) offsetof(MYSQL,net));
|
|
||||||
printf("host:\t%3d %3d\n",(int) sizeof(myData->host),
|
|
||||||
(int) offsetof(MYSQL,host));
|
|
||||||
printf("port:\t%3d %3d\n", (int) sizeof(myData->port),
|
|
||||||
(int) offsetof(MYSQL,port));
|
|
||||||
printf("protocol_version:\t%3d %3d\n",
|
|
||||||
(int) sizeof(myData->protocol_version),
|
|
||||||
(int) offsetof(MYSQL,protocol_version));
|
|
||||||
printf("thread_id:\t%3d %3d\n",(int) sizeof(myData->thread_id),
|
|
||||||
(int) offsetof(MYSQL,thread_id));
|
|
||||||
printf("affected_rows:\t%3d %3d\n",(int) sizeof(myData->affected_rows),
|
|
||||||
(int) offsetof(MYSQL,affected_rows));
|
|
||||||
printf("packet_length:\t%3d %3d\n",(int) sizeof(myData->packet_length),
|
|
||||||
(int) offsetof(MYSQL,packet_length));
|
|
||||||
printf("status:\t%3d %3d\n",(int) sizeof(myData->status),
|
|
||||||
(int) offsetof(MYSQL,status));
|
|
||||||
printf("fields:\t%3d %3d\n",(int) sizeof(myData->fields),
|
|
||||||
(int) offsetof(MYSQL,fields));
|
|
||||||
printf("field_alloc:\t%3d %3d\n",(int) sizeof(myData->field_alloc),
|
|
||||||
(int) offsetof(MYSQL,field_alloc));
|
|
||||||
printf("free_me:\t%3d %3d\n",(int) sizeof(myData->free_me),
|
|
||||||
(int) offsetof(MYSQL,free_me));
|
|
||||||
printf("options:\t%3d %3d\n",(int) sizeof(myData->options),
|
|
||||||
(int) offsetof(MYSQL,options));
|
|
||||||
puts("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( argc > 2 ) {
|
|
||||||
strcpy( szDB, argv[ 1 ] ) ;
|
|
||||||
strcpy( szSQL, argv[ 2 ] ) ;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
strcpy( szDB, "mysql" ) ;
|
|
||||||
strcpy( szSQL, DEFALT_SQL_STMT ) ;
|
|
||||||
}
|
|
||||||
//....
|
|
||||||
|
|
||||||
if ( (myData = mysql_init((MYSQL*) 0)) &&
|
|
||||||
mysql_real_connect( myData, NULL, NULL, NULL, NULL, MYSQL_PORT,
|
|
||||||
NULL, 0 ) )
|
|
||||||
{
|
|
||||||
myData->reconnect= 1;
|
|
||||||
if ( mysql_select_db( myData, szDB ) < 0 ) {
|
|
||||||
printf( "Can't select the %s database !\n", szDB ) ;
|
|
||||||
mysql_close( myData ) ;
|
|
||||||
return 2 ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
printf( "Can't connect to the mysql server on port %d !\n",
|
|
||||||
MYSQL_PORT ) ;
|
|
||||||
mysql_close( myData ) ;
|
|
||||||
return 1 ;
|
|
||||||
}
|
|
||||||
//....
|
|
||||||
if ( ! mysql_query( myData, szSQL ) ) {
|
|
||||||
res = mysql_store_result( myData ) ;
|
|
||||||
i = (int) mysql_num_rows( res ) ; l = 1 ;
|
|
||||||
printf( "Query: %s\nNumber of records found: %ld\n", szSQL, i ) ;
|
|
||||||
//....we can get the field-specific characteristics here....
|
|
||||||
for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
|
|
||||||
strcpy( aszFlds[ x ], fd->name ) ;
|
|
||||||
//....
|
|
||||||
while ( row = mysql_fetch_row( res ) ) {
|
|
||||||
j = mysql_num_fields( res ) ;
|
|
||||||
printf( "Record #%ld:-\n", l++ ) ;
|
|
||||||
for ( k = 0 ; k < j ; k++ )
|
|
||||||
printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
|
|
||||||
(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
|
|
||||||
puts( "==============================\n" ) ;
|
|
||||||
}
|
|
||||||
mysql_free_result( res ) ;
|
|
||||||
}
|
|
||||||
else printf( "Couldn't execute %s on the server !\n", szSQL ) ;
|
|
||||||
//....
|
|
||||||
puts( "==== Diagnostic info ====" ) ;
|
|
||||||
pszT = mysql_get_client_info() ;
|
|
||||||
printf( "Client info: %s\n", pszT ) ;
|
|
||||||
//....
|
|
||||||
pszT = mysql_get_host_info( myData ) ;
|
|
||||||
printf( "Host info: %s\n", pszT ) ;
|
|
||||||
//....
|
|
||||||
pszT = mysql_get_server_info( myData ) ;
|
|
||||||
printf( "Server info: %s\n", pszT ) ;
|
|
||||||
//....
|
|
||||||
res = mysql_list_processes( myData ) ; l = 1 ;
|
|
||||||
if (res)
|
|
||||||
{
|
|
||||||
for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
|
|
||||||
strcpy( aszFlds[ x ], fd->name ) ;
|
|
||||||
while ( row = mysql_fetch_row( res ) ) {
|
|
||||||
j = mysql_num_fields( res ) ;
|
|
||||||
printf( "Process #%ld:-\n", l++ ) ;
|
|
||||||
for ( k = 0 ; k < j ; k++ )
|
|
||||||
printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
|
|
||||||
(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
|
|
||||||
puts( "==============================\n" ) ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("Got error %s when retreiving processlist\n",mysql_error(myData));
|
|
||||||
}
|
|
||||||
//....
|
|
||||||
res = mysql_list_tables( myData, "%" ) ; l = 1 ;
|
|
||||||
for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
|
|
||||||
strcpy( aszFlds[ x ], fd->name ) ;
|
|
||||||
while ( row = mysql_fetch_row( res ) ) {
|
|
||||||
j = mysql_num_fields( res ) ;
|
|
||||||
printf( "Table #%ld:-\n", l++ ) ;
|
|
||||||
for ( k = 0 ; k < j ; k++ )
|
|
||||||
printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
|
|
||||||
(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
|
|
||||||
puts( "==============================\n" ) ;
|
|
||||||
}
|
|
||||||
//....
|
|
||||||
pszT = mysql_stat( myData ) ;
|
|
||||||
puts( pszT ) ;
|
|
||||||
//....
|
|
||||||
mysql_close( myData ) ;
|
|
||||||
return 0 ;
|
|
||||||
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
Microsoft Developer Studio Workspace File, Format Version 5.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "myTest"=".\myTest.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
@ -32,7 +32,8 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
|
|||||||
ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc sql_string.cc ../mysys/my_conio.c)
|
ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc sql_string.cc ../mysys/my_conio.c)
|
||||||
TARGET_LINK_LIBRARIES(mysql mysqlclient_notls wsock32)
|
TARGET_LINK_LIBRARIES(mysql mysqlclient_notls wsock32)
|
||||||
|
|
||||||
ADD_EXECUTABLE(mysqltest mysqltest.c ../mysys/my_getsystime.c ../mysys/my_copy.c)
|
ADD_EXECUTABLE(mysqltest mysqltest.c ../mysys/my_getsystime.c
|
||||||
|
../mysys/my_copy.c ../mysys/my_mkdir.c)
|
||||||
TARGET_LINK_LIBRARIES(mysqltest mysqlclient_notls regex wsock32)
|
TARGET_LINK_LIBRARIES(mysqltest mysqlclient_notls regex wsock32)
|
||||||
|
|
||||||
ADD_EXECUTABLE(mysqlcheck mysqlcheck.c)
|
ADD_EXECUTABLE(mysqlcheck mysqlcheck.c)
|
||||||
|
@ -34,7 +34,8 @@ mysqladmin_SOURCES = mysqladmin.cc
|
|||||||
mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS)
|
mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS)
|
||||||
mysqltest_SOURCES= mysqltest.c \
|
mysqltest_SOURCES= mysqltest.c \
|
||||||
$(top_srcdir)/mysys/my_getsystime.c \
|
$(top_srcdir)/mysys/my_getsystime.c \
|
||||||
$(top_srcdir)/mysys/my_copy.c
|
$(top_srcdir)/mysys/my_copy.c \
|
||||||
|
$(top_srcdir)/mysys/my_mkdir.c
|
||||||
|
|
||||||
mysqltest_LDADD = $(top_builddir)/regex/libregex.a $(LDADD)
|
mysqltest_LDADD = $(top_builddir)/regex/libregex.a $(LDADD)
|
||||||
mysqlbinlog_SOURCES = mysqlbinlog.cc \
|
mysqlbinlog_SOURCES = mysqlbinlog.cc \
|
||||||
|
779
client/mysql.cc
779
client/mysql.cc
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2000-2003 MySQL AB
|
/* Copyright (C) 2000-2008 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
|
||||||
@ -283,13 +283,6 @@ static COMMANDS commands[] = {
|
|||||||
/* Get bash-like expansion for some commands */
|
/* Get bash-like expansion for some commands */
|
||||||
{ "create table", 0, 0, 0, ""},
|
{ "create table", 0, 0, 0, ""},
|
||||||
{ "create database", 0, 0, 0, ""},
|
{ "create database", 0, 0, 0, ""},
|
||||||
{ "drop", 0, 0, 0, ""},
|
|
||||||
{ "select", 0, 0, 0, ""},
|
|
||||||
{ "insert", 0, 0, 0, ""},
|
|
||||||
{ "replace", 0, 0, 0, ""},
|
|
||||||
{ "update", 0, 0, 0, ""},
|
|
||||||
{ "delete", 0, 0, 0, ""},
|
|
||||||
{ "explain", 0, 0, 0, ""},
|
|
||||||
{ "show databases", 0, 0, 0, ""},
|
{ "show databases", 0, 0, 0, ""},
|
||||||
{ "show fields from", 0, 0, 0, ""},
|
{ "show fields from", 0, 0, 0, ""},
|
||||||
{ "show keys from", 0, 0, 0, ""},
|
{ "show keys from", 0, 0, 0, ""},
|
||||||
@ -299,6 +292,718 @@ static COMMANDS commands[] = {
|
|||||||
{ "set option", 0, 0, 0, ""},
|
{ "set option", 0, 0, 0, ""},
|
||||||
{ "lock tables", 0, 0, 0, ""},
|
{ "lock tables", 0, 0, 0, ""},
|
||||||
{ "unlock tables", 0, 0, 0, ""},
|
{ "unlock tables", 0, 0, 0, ""},
|
||||||
|
/* generated 2006-12-28. Refresh occasionally from lexer. */
|
||||||
|
{ "ACTION", 0, 0, 0, ""},
|
||||||
|
{ "ADD", 0, 0, 0, ""},
|
||||||
|
{ "AFTER", 0, 0, 0, ""},
|
||||||
|
{ "AGAINST", 0, 0, 0, ""},
|
||||||
|
{ "AGGREGATE", 0, 0, 0, ""},
|
||||||
|
{ "ALL", 0, 0, 0, ""},
|
||||||
|
{ "ALGORITHM", 0, 0, 0, ""},
|
||||||
|
{ "ALTER", 0, 0, 0, ""},
|
||||||
|
{ "ANALYZE", 0, 0, 0, ""},
|
||||||
|
{ "AND", 0, 0, 0, ""},
|
||||||
|
{ "ANY", 0, 0, 0, ""},
|
||||||
|
{ "AS", 0, 0, 0, ""},
|
||||||
|
{ "ASC", 0, 0, 0, ""},
|
||||||
|
{ "ASCII", 0, 0, 0, ""},
|
||||||
|
{ "ASENSITIVE", 0, 0, 0, ""},
|
||||||
|
{ "AUTO_INCREMENT", 0, 0, 0, ""},
|
||||||
|
{ "AVG", 0, 0, 0, ""},
|
||||||
|
{ "AVG_ROW_LENGTH", 0, 0, 0, ""},
|
||||||
|
{ "BACKUP", 0, 0, 0, ""},
|
||||||
|
{ "BDB", 0, 0, 0, ""},
|
||||||
|
{ "BEFORE", 0, 0, 0, ""},
|
||||||
|
{ "BEGIN", 0, 0, 0, ""},
|
||||||
|
{ "BERKELEYDB", 0, 0, 0, ""},
|
||||||
|
{ "BETWEEN", 0, 0, 0, ""},
|
||||||
|
{ "BIGINT", 0, 0, 0, ""},
|
||||||
|
{ "BINARY", 0, 0, 0, ""},
|
||||||
|
{ "BINLOG", 0, 0, 0, ""},
|
||||||
|
{ "BIT", 0, 0, 0, ""},
|
||||||
|
{ "BLOB", 0, 0, 0, ""},
|
||||||
|
{ "BOOL", 0, 0, 0, ""},
|
||||||
|
{ "BOOLEAN", 0, 0, 0, ""},
|
||||||
|
{ "BOTH", 0, 0, 0, ""},
|
||||||
|
{ "BTREE", 0, 0, 0, ""},
|
||||||
|
{ "BY", 0, 0, 0, ""},
|
||||||
|
{ "BYTE", 0, 0, 0, ""},
|
||||||
|
{ "CACHE", 0, 0, 0, ""},
|
||||||
|
{ "CALL", 0, 0, 0, ""},
|
||||||
|
{ "CASCADE", 0, 0, 0, ""},
|
||||||
|
{ "CASCADED", 0, 0, 0, ""},
|
||||||
|
{ "CASE", 0, 0, 0, ""},
|
||||||
|
{ "CHAIN", 0, 0, 0, ""},
|
||||||
|
{ "CHANGE", 0, 0, 0, ""},
|
||||||
|
{ "CHANGED", 0, 0, 0, ""},
|
||||||
|
{ "CHAR", 0, 0, 0, ""},
|
||||||
|
{ "CHARACTER", 0, 0, 0, ""},
|
||||||
|
{ "CHARSET", 0, 0, 0, ""},
|
||||||
|
{ "CHECK", 0, 0, 0, ""},
|
||||||
|
{ "CHECKSUM", 0, 0, 0, ""},
|
||||||
|
{ "CIPHER", 0, 0, 0, ""},
|
||||||
|
{ "CLIENT", 0, 0, 0, ""},
|
||||||
|
{ "CLOSE", 0, 0, 0, ""},
|
||||||
|
{ "CODE", 0, 0, 0, ""},
|
||||||
|
{ "COLLATE", 0, 0, 0, ""},
|
||||||
|
{ "COLLATION", 0, 0, 0, ""},
|
||||||
|
{ "COLUMN", 0, 0, 0, ""},
|
||||||
|
{ "COLUMNS", 0, 0, 0, ""},
|
||||||
|
{ "COMMENT", 0, 0, 0, ""},
|
||||||
|
{ "COMMIT", 0, 0, 0, ""},
|
||||||
|
{ "COMMITTED", 0, 0, 0, ""},
|
||||||
|
{ "COMPACT", 0, 0, 0, ""},
|
||||||
|
{ "COMPRESSED", 0, 0, 0, ""},
|
||||||
|
{ "CONCURRENT", 0, 0, 0, ""},
|
||||||
|
{ "CONDITION", 0, 0, 0, ""},
|
||||||
|
{ "CONNECTION", 0, 0, 0, ""},
|
||||||
|
{ "CONSISTENT", 0, 0, 0, ""},
|
||||||
|
{ "CONSTRAINT", 0, 0, 0, ""},
|
||||||
|
{ "CONTAINS", 0, 0, 0, ""},
|
||||||
|
{ "CONTINUE", 0, 0, 0, ""},
|
||||||
|
{ "CONVERT", 0, 0, 0, ""},
|
||||||
|
{ "CREATE", 0, 0, 0, ""},
|
||||||
|
{ "CROSS", 0, 0, 0, ""},
|
||||||
|
{ "CUBE", 0, 0, 0, ""},
|
||||||
|
{ "CURRENT_DATE", 0, 0, 0, ""},
|
||||||
|
{ "CURRENT_TIME", 0, 0, 0, ""},
|
||||||
|
{ "CURRENT_TIMESTAMP", 0, 0, 0, ""},
|
||||||
|
{ "CURRENT_USER", 0, 0, 0, ""},
|
||||||
|
{ "CURSOR", 0, 0, 0, ""},
|
||||||
|
{ "DATA", 0, 0, 0, ""},
|
||||||
|
{ "DATABASE", 0, 0, 0, ""},
|
||||||
|
{ "DATABASES", 0, 0, 0, ""},
|
||||||
|
{ "DATE", 0, 0, 0, ""},
|
||||||
|
{ "DATETIME", 0, 0, 0, ""},
|
||||||
|
{ "DAY", 0, 0, 0, ""},
|
||||||
|
{ "DAY_HOUR", 0, 0, 0, ""},
|
||||||
|
{ "DAY_MICROSECOND", 0, 0, 0, ""},
|
||||||
|
{ "DAY_MINUTE", 0, 0, 0, ""},
|
||||||
|
{ "DAY_SECOND", 0, 0, 0, ""},
|
||||||
|
{ "DEALLOCATE", 0, 0, 0, ""},
|
||||||
|
{ "DEC", 0, 0, 0, ""},
|
||||||
|
{ "DECIMAL", 0, 0, 0, ""},
|
||||||
|
{ "DECLARE", 0, 0, 0, ""},
|
||||||
|
{ "DEFAULT", 0, 0, 0, ""},
|
||||||
|
{ "DEFINER", 0, 0, 0, ""},
|
||||||
|
{ "DELAYED", 0, 0, 0, ""},
|
||||||
|
{ "DELAY_KEY_WRITE", 0, 0, 0, ""},
|
||||||
|
{ "DELETE", 0, 0, 0, ""},
|
||||||
|
{ "DESC", 0, 0, 0, ""},
|
||||||
|
{ "DESCRIBE", 0, 0, 0, ""},
|
||||||
|
{ "DES_KEY_FILE", 0, 0, 0, ""},
|
||||||
|
{ "DETERMINISTIC", 0, 0, 0, ""},
|
||||||
|
{ "DIRECTORY", 0, 0, 0, ""},
|
||||||
|
{ "DISABLE", 0, 0, 0, ""},
|
||||||
|
{ "DISCARD", 0, 0, 0, ""},
|
||||||
|
{ "DISTINCT", 0, 0, 0, ""},
|
||||||
|
{ "DISTINCTROW", 0, 0, 0, ""},
|
||||||
|
{ "DIV", 0, 0, 0, ""},
|
||||||
|
{ "DO", 0, 0, 0, ""},
|
||||||
|
{ "DOUBLE", 0, 0, 0, ""},
|
||||||
|
{ "DROP", 0, 0, 0, ""},
|
||||||
|
{ "DUAL", 0, 0, 0, ""},
|
||||||
|
{ "DUMPFILE", 0, 0, 0, ""},
|
||||||
|
{ "DUPLICATE", 0, 0, 0, ""},
|
||||||
|
{ "DYNAMIC", 0, 0, 0, ""},
|
||||||
|
{ "EACH", 0, 0, 0, ""},
|
||||||
|
{ "ELSE", 0, 0, 0, ""},
|
||||||
|
{ "ELSEIF", 0, 0, 0, ""},
|
||||||
|
{ "ENABLE", 0, 0, 0, ""},
|
||||||
|
{ "ENCLOSED", 0, 0, 0, ""},
|
||||||
|
{ "END", 0, 0, 0, ""},
|
||||||
|
{ "ENGINE", 0, 0, 0, ""},
|
||||||
|
{ "ENGINES", 0, 0, 0, ""},
|
||||||
|
{ "ENUM", 0, 0, 0, ""},
|
||||||
|
{ "ERRORS", 0, 0, 0, ""},
|
||||||
|
{ "ESCAPE", 0, 0, 0, ""},
|
||||||
|
{ "ESCAPED", 0, 0, 0, ""},
|
||||||
|
{ "EVENTS", 0, 0, 0, ""},
|
||||||
|
{ "EXECUTE", 0, 0, 0, ""},
|
||||||
|
{ "EXISTS", 0, 0, 0, ""},
|
||||||
|
{ "EXIT", 0, 0, 0, ""},
|
||||||
|
{ "EXPANSION", 0, 0, 0, ""},
|
||||||
|
{ "EXPLAIN", 0, 0, 0, ""},
|
||||||
|
{ "EXTENDED", 0, 0, 0, ""},
|
||||||
|
{ "FALSE", 0, 0, 0, ""},
|
||||||
|
{ "FAST", 0, 0, 0, ""},
|
||||||
|
{ "FETCH", 0, 0, 0, ""},
|
||||||
|
{ "FIELDS", 0, 0, 0, ""},
|
||||||
|
{ "FILE", 0, 0, 0, ""},
|
||||||
|
{ "FIRST", 0, 0, 0, ""},
|
||||||
|
{ "FIXED", 0, 0, 0, ""},
|
||||||
|
{ "FLOAT", 0, 0, 0, ""},
|
||||||
|
{ "FLOAT4", 0, 0, 0, ""},
|
||||||
|
{ "FLOAT8", 0, 0, 0, ""},
|
||||||
|
{ "FLUSH", 0, 0, 0, ""},
|
||||||
|
{ "FOR", 0, 0, 0, ""},
|
||||||
|
{ "FORCE", 0, 0, 0, ""},
|
||||||
|
{ "FOREIGN", 0, 0, 0, ""},
|
||||||
|
{ "FOUND", 0, 0, 0, ""},
|
||||||
|
{ "FRAC_SECOND", 0, 0, 0, ""},
|
||||||
|
{ "FROM", 0, 0, 0, ""},
|
||||||
|
{ "FULL", 0, 0, 0, ""},
|
||||||
|
{ "FULLTEXT", 0, 0, 0, ""},
|
||||||
|
{ "FUNCTION", 0, 0, 0, ""},
|
||||||
|
{ "GEOMETRY", 0, 0, 0, ""},
|
||||||
|
{ "GEOMETRYCOLLECTION", 0, 0, 0, ""},
|
||||||
|
{ "GET_FORMAT", 0, 0, 0, ""},
|
||||||
|
{ "GLOBAL", 0, 0, 0, ""},
|
||||||
|
{ "GRANT", 0, 0, 0, ""},
|
||||||
|
{ "GRANTS", 0, 0, 0, ""},
|
||||||
|
{ "GROUP", 0, 0, 0, ""},
|
||||||
|
{ "HANDLER", 0, 0, 0, ""},
|
||||||
|
{ "HASH", 0, 0, 0, ""},
|
||||||
|
{ "HAVING", 0, 0, 0, ""},
|
||||||
|
{ "HELP", 0, 0, 0, ""},
|
||||||
|
{ "HIGH_PRIORITY", 0, 0, 0, ""},
|
||||||
|
{ "HOSTS", 0, 0, 0, ""},
|
||||||
|
{ "HOUR", 0, 0, 0, ""},
|
||||||
|
{ "HOUR_MICROSECOND", 0, 0, 0, ""},
|
||||||
|
{ "HOUR_MINUTE", 0, 0, 0, ""},
|
||||||
|
{ "HOUR_SECOND", 0, 0, 0, ""},
|
||||||
|
{ "IDENTIFIED", 0, 0, 0, ""},
|
||||||
|
{ "IF", 0, 0, 0, ""},
|
||||||
|
{ "IGNORE", 0, 0, 0, ""},
|
||||||
|
{ "IMPORT", 0, 0, 0, ""},
|
||||||
|
{ "IN", 0, 0, 0, ""},
|
||||||
|
{ "INDEX", 0, 0, 0, ""},
|
||||||
|
{ "INDEXES", 0, 0, 0, ""},
|
||||||
|
{ "INFILE", 0, 0, 0, ""},
|
||||||
|
{ "INNER", 0, 0, 0, ""},
|
||||||
|
{ "INNOBASE", 0, 0, 0, ""},
|
||||||
|
{ "INNODB", 0, 0, 0, ""},
|
||||||
|
{ "INOUT", 0, 0, 0, ""},
|
||||||
|
{ "INSENSITIVE", 0, 0, 0, ""},
|
||||||
|
{ "INSERT", 0, 0, 0, ""},
|
||||||
|
{ "INSERT_METHOD", 0, 0, 0, ""},
|
||||||
|
{ "INT", 0, 0, 0, ""},
|
||||||
|
{ "INT1", 0, 0, 0, ""},
|
||||||
|
{ "INT2", 0, 0, 0, ""},
|
||||||
|
{ "INT3", 0, 0, 0, ""},
|
||||||
|
{ "INT4", 0, 0, 0, ""},
|
||||||
|
{ "INT8", 0, 0, 0, ""},
|
||||||
|
{ "INTEGER", 0, 0, 0, ""},
|
||||||
|
{ "INTERVAL", 0, 0, 0, ""},
|
||||||
|
{ "INTO", 0, 0, 0, ""},
|
||||||
|
{ "IO_THREAD", 0, 0, 0, ""},
|
||||||
|
{ "IS", 0, 0, 0, ""},
|
||||||
|
{ "ISOLATION", 0, 0, 0, ""},
|
||||||
|
{ "ISSUER", 0, 0, 0, ""},
|
||||||
|
{ "ITERATE", 0, 0, 0, ""},
|
||||||
|
{ "INVOKER", 0, 0, 0, ""},
|
||||||
|
{ "JOIN", 0, 0, 0, ""},
|
||||||
|
{ "KEY", 0, 0, 0, ""},
|
||||||
|
{ "KEYS", 0, 0, 0, ""},
|
||||||
|
{ "KILL", 0, 0, 0, ""},
|
||||||
|
{ "LANGUAGE", 0, 0, 0, ""},
|
||||||
|
{ "LAST", 0, 0, 0, ""},
|
||||||
|
{ "LEADING", 0, 0, 0, ""},
|
||||||
|
{ "LEAVE", 0, 0, 0, ""},
|
||||||
|
{ "LEAVES", 0, 0, 0, ""},
|
||||||
|
{ "LEFT", 0, 0, 0, ""},
|
||||||
|
{ "LEVEL", 0, 0, 0, ""},
|
||||||
|
{ "LIKE", 0, 0, 0, ""},
|
||||||
|
{ "LIMIT", 0, 0, 0, ""},
|
||||||
|
{ "LINES", 0, 0, 0, ""},
|
||||||
|
{ "LINESTRING", 0, 0, 0, ""},
|
||||||
|
{ "LOAD", 0, 0, 0, ""},
|
||||||
|
{ "LOCAL", 0, 0, 0, ""},
|
||||||
|
{ "LOCALTIME", 0, 0, 0, ""},
|
||||||
|
{ "LOCALTIMESTAMP", 0, 0, 0, ""},
|
||||||
|
{ "LOCK", 0, 0, 0, ""},
|
||||||
|
{ "LOCKS", 0, 0, 0, ""},
|
||||||
|
{ "LOGS", 0, 0, 0, ""},
|
||||||
|
{ "LONG", 0, 0, 0, ""},
|
||||||
|
{ "LONGBLOB", 0, 0, 0, ""},
|
||||||
|
{ "LONGTEXT", 0, 0, 0, ""},
|
||||||
|
{ "LOOP", 0, 0, 0, ""},
|
||||||
|
{ "LOW_PRIORITY", 0, 0, 0, ""},
|
||||||
|
{ "MASTER", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_CONNECT_RETRY", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_HOST", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_LOG_FILE", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_LOG_POS", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_PASSWORD", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_PORT", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_SERVER_ID", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_SSL", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_SSL_CA", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_SSL_CAPATH", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_SSL_CERT", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_SSL_CIPHER", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_SSL_KEY", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_USER", 0, 0, 0, ""},
|
||||||
|
{ "MATCH", 0, 0, 0, ""},
|
||||||
|
{ "MAX_CONNECTIONS_PER_HOUR", 0, 0, 0, ""},
|
||||||
|
{ "MAX_QUERIES_PER_HOUR", 0, 0, 0, ""},
|
||||||
|
{ "MAX_ROWS", 0, 0, 0, ""},
|
||||||
|
{ "MAX_UPDATES_PER_HOUR", 0, 0, 0, ""},
|
||||||
|
{ "MAX_USER_CONNECTIONS", 0, 0, 0, ""},
|
||||||
|
{ "MEDIUM", 0, 0, 0, ""},
|
||||||
|
{ "MEDIUMBLOB", 0, 0, 0, ""},
|
||||||
|
{ "MEDIUMINT", 0, 0, 0, ""},
|
||||||
|
{ "MEDIUMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "MERGE", 0, 0, 0, ""},
|
||||||
|
{ "MICROSECOND", 0, 0, 0, ""},
|
||||||
|
{ "MIDDLEINT", 0, 0, 0, ""},
|
||||||
|
{ "MIGRATE", 0, 0, 0, ""},
|
||||||
|
{ "MINUTE", 0, 0, 0, ""},
|
||||||
|
{ "MINUTE_MICROSECOND", 0, 0, 0, ""},
|
||||||
|
{ "MINUTE_SECOND", 0, 0, 0, ""},
|
||||||
|
{ "MIN_ROWS", 0, 0, 0, ""},
|
||||||
|
{ "MOD", 0, 0, 0, ""},
|
||||||
|
{ "MODE", 0, 0, 0, ""},
|
||||||
|
{ "MODIFIES", 0, 0, 0, ""},
|
||||||
|
{ "MODIFY", 0, 0, 0, ""},
|
||||||
|
{ "MONTH", 0, 0, 0, ""},
|
||||||
|
{ "MULTILINESTRING", 0, 0, 0, ""},
|
||||||
|
{ "MULTIPOINT", 0, 0, 0, ""},
|
||||||
|
{ "MULTIPOLYGON", 0, 0, 0, ""},
|
||||||
|
{ "MUTEX", 0, 0, 0, ""},
|
||||||
|
{ "NAME", 0, 0, 0, ""},
|
||||||
|
{ "NAMES", 0, 0, 0, ""},
|
||||||
|
{ "NATIONAL", 0, 0, 0, ""},
|
||||||
|
{ "NATURAL", 0, 0, 0, ""},
|
||||||
|
{ "NDB", 0, 0, 0, ""},
|
||||||
|
{ "NDBCLUSTER", 0, 0, 0, ""},
|
||||||
|
{ "NCHAR", 0, 0, 0, ""},
|
||||||
|
{ "NEW", 0, 0, 0, ""},
|
||||||
|
{ "NEXT", 0, 0, 0, ""},
|
||||||
|
{ "NO", 0, 0, 0, ""},
|
||||||
|
{ "NONE", 0, 0, 0, ""},
|
||||||
|
{ "NOT", 0, 0, 0, ""},
|
||||||
|
{ "NO_WRITE_TO_BINLOG", 0, 0, 0, ""},
|
||||||
|
{ "NULL", 0, 0, 0, ""},
|
||||||
|
{ "NUMERIC", 0, 0, 0, ""},
|
||||||
|
{ "NVARCHAR", 0, 0, 0, ""},
|
||||||
|
{ "OFFSET", 0, 0, 0, ""},
|
||||||
|
{ "OLD_PASSWORD", 0, 0, 0, ""},
|
||||||
|
{ "ON", 0, 0, 0, ""},
|
||||||
|
{ "ONE", 0, 0, 0, ""},
|
||||||
|
{ "ONE_SHOT", 0, 0, 0, ""},
|
||||||
|
{ "OPEN", 0, 0, 0, ""},
|
||||||
|
{ "OPTIMIZE", 0, 0, 0, ""},
|
||||||
|
{ "OPTION", 0, 0, 0, ""},
|
||||||
|
{ "OPTIONALLY", 0, 0, 0, ""},
|
||||||
|
{ "OR", 0, 0, 0, ""},
|
||||||
|
{ "ORDER", 0, 0, 0, ""},
|
||||||
|
{ "OUT", 0, 0, 0, ""},
|
||||||
|
{ "OUTER", 0, 0, 0, ""},
|
||||||
|
{ "OUTFILE", 0, 0, 0, ""},
|
||||||
|
{ "PACK_KEYS", 0, 0, 0, ""},
|
||||||
|
{ "PARTIAL", 0, 0, 0, ""},
|
||||||
|
{ "PASSWORD", 0, 0, 0, ""},
|
||||||
|
{ "PHASE", 0, 0, 0, ""},
|
||||||
|
{ "POINT", 0, 0, 0, ""},
|
||||||
|
{ "POLYGON", 0, 0, 0, ""},
|
||||||
|
{ "PRECISION", 0, 0, 0, ""},
|
||||||
|
{ "PREPARE", 0, 0, 0, ""},
|
||||||
|
{ "PREV", 0, 0, 0, ""},
|
||||||
|
{ "PRIMARY", 0, 0, 0, ""},
|
||||||
|
{ "PRIVILEGES", 0, 0, 0, ""},
|
||||||
|
{ "PROCEDURE", 0, 0, 0, ""},
|
||||||
|
{ "PROCESS", 0, 0, 0, ""},
|
||||||
|
{ "PROCESSLIST", 0, 0, 0, ""},
|
||||||
|
{ "PURGE", 0, 0, 0, ""},
|
||||||
|
{ "QUARTER", 0, 0, 0, ""},
|
||||||
|
{ "QUERY", 0, 0, 0, ""},
|
||||||
|
{ "QUICK", 0, 0, 0, ""},
|
||||||
|
{ "RAID0", 0, 0, 0, ""},
|
||||||
|
{ "RAID_CHUNKS", 0, 0, 0, ""},
|
||||||
|
{ "RAID_CHUNKSIZE", 0, 0, 0, ""},
|
||||||
|
{ "RAID_TYPE", 0, 0, 0, ""},
|
||||||
|
{ "READ", 0, 0, 0, ""},
|
||||||
|
{ "READS", 0, 0, 0, ""},
|
||||||
|
{ "REAL", 0, 0, 0, ""},
|
||||||
|
{ "RECOVER", 0, 0, 0, ""},
|
||||||
|
{ "REDUNDANT", 0, 0, 0, ""},
|
||||||
|
{ "REFERENCES", 0, 0, 0, ""},
|
||||||
|
{ "REGEXP", 0, 0, 0, ""},
|
||||||
|
{ "RELAY_LOG_FILE", 0, 0, 0, ""},
|
||||||
|
{ "RELAY_LOG_POS", 0, 0, 0, ""},
|
||||||
|
{ "RELAY_THREAD", 0, 0, 0, ""},
|
||||||
|
{ "RELEASE", 0, 0, 0, ""},
|
||||||
|
{ "RELOAD", 0, 0, 0, ""},
|
||||||
|
{ "RENAME", 0, 0, 0, ""},
|
||||||
|
{ "REPAIR", 0, 0, 0, ""},
|
||||||
|
{ "REPEATABLE", 0, 0, 0, ""},
|
||||||
|
{ "REPLACE", 0, 0, 0, ""},
|
||||||
|
{ "REPLICATION", 0, 0, 0, ""},
|
||||||
|
{ "REPEAT", 0, 0, 0, ""},
|
||||||
|
{ "REQUIRE", 0, 0, 0, ""},
|
||||||
|
{ "RESET", 0, 0, 0, ""},
|
||||||
|
{ "RESTORE", 0, 0, 0, ""},
|
||||||
|
{ "RESTRICT", 0, 0, 0, ""},
|
||||||
|
{ "RESUME", 0, 0, 0, ""},
|
||||||
|
{ "RETURN", 0, 0, 0, ""},
|
||||||
|
{ "RETURNS", 0, 0, 0, ""},
|
||||||
|
{ "REVOKE", 0, 0, 0, ""},
|
||||||
|
{ "RIGHT", 0, 0, 0, ""},
|
||||||
|
{ "RLIKE", 0, 0, 0, ""},
|
||||||
|
{ "ROLLBACK", 0, 0, 0, ""},
|
||||||
|
{ "ROLLUP", 0, 0, 0, ""},
|
||||||
|
{ "ROUTINE", 0, 0, 0, ""},
|
||||||
|
{ "ROW", 0, 0, 0, ""},
|
||||||
|
{ "ROWS", 0, 0, 0, ""},
|
||||||
|
{ "ROW_FORMAT", 0, 0, 0, ""},
|
||||||
|
{ "RTREE", 0, 0, 0, ""},
|
||||||
|
{ "SAVEPOINT", 0, 0, 0, ""},
|
||||||
|
{ "SCHEMA", 0, 0, 0, ""},
|
||||||
|
{ "SCHEMAS", 0, 0, 0, ""},
|
||||||
|
{ "SECOND", 0, 0, 0, ""},
|
||||||
|
{ "SECOND_MICROSECOND", 0, 0, 0, ""},
|
||||||
|
{ "SECURITY", 0, 0, 0, ""},
|
||||||
|
{ "SELECT", 0, 0, 0, ""},
|
||||||
|
{ "SENSITIVE", 0, 0, 0, ""},
|
||||||
|
{ "SEPARATOR", 0, 0, 0, ""},
|
||||||
|
{ "SERIAL", 0, 0, 0, ""},
|
||||||
|
{ "SERIALIZABLE", 0, 0, 0, ""},
|
||||||
|
{ "SESSION", 0, 0, 0, ""},
|
||||||
|
{ "SET", 0, 0, 0, ""},
|
||||||
|
{ "SHARE", 0, 0, 0, ""},
|
||||||
|
{ "SHOW", 0, 0, 0, ""},
|
||||||
|
{ "SHUTDOWN", 0, 0, 0, ""},
|
||||||
|
{ "SIGNED", 0, 0, 0, ""},
|
||||||
|
{ "SIMPLE", 0, 0, 0, ""},
|
||||||
|
{ "SLAVE", 0, 0, 0, ""},
|
||||||
|
{ "SNAPSHOT", 0, 0, 0, ""},
|
||||||
|
{ "SMALLINT", 0, 0, 0, ""},
|
||||||
|
{ "SOME", 0, 0, 0, ""},
|
||||||
|
{ "SONAME", 0, 0, 0, ""},
|
||||||
|
{ "SOUNDS", 0, 0, 0, ""},
|
||||||
|
{ "SPATIAL", 0, 0, 0, ""},
|
||||||
|
{ "SPECIFIC", 0, 0, 0, ""},
|
||||||
|
{ "SQL", 0, 0, 0, ""},
|
||||||
|
{ "SQLEXCEPTION", 0, 0, 0, ""},
|
||||||
|
{ "SQLSTATE", 0, 0, 0, ""},
|
||||||
|
{ "SQLWARNING", 0, 0, 0, ""},
|
||||||
|
{ "SQL_BIG_RESULT", 0, 0, 0, ""},
|
||||||
|
{ "SQL_BUFFER_RESULT", 0, 0, 0, ""},
|
||||||
|
{ "SQL_CACHE", 0, 0, 0, ""},
|
||||||
|
{ "SQL_CALC_FOUND_ROWS", 0, 0, 0, ""},
|
||||||
|
{ "SQL_NO_CACHE", 0, 0, 0, ""},
|
||||||
|
{ "SQL_SMALL_RESULT", 0, 0, 0, ""},
|
||||||
|
{ "SQL_THREAD", 0, 0, 0, ""},
|
||||||
|
{ "SQL_TSI_FRAC_SECOND", 0, 0, 0, ""},
|
||||||
|
{ "SQL_TSI_SECOND", 0, 0, 0, ""},
|
||||||
|
{ "SQL_TSI_MINUTE", 0, 0, 0, ""},
|
||||||
|
{ "SQL_TSI_HOUR", 0, 0, 0, ""},
|
||||||
|
{ "SQL_TSI_DAY", 0, 0, 0, ""},
|
||||||
|
{ "SQL_TSI_WEEK", 0, 0, 0, ""},
|
||||||
|
{ "SQL_TSI_MONTH", 0, 0, 0, ""},
|
||||||
|
{ "SQL_TSI_QUARTER", 0, 0, 0, ""},
|
||||||
|
{ "SQL_TSI_YEAR", 0, 0, 0, ""},
|
||||||
|
{ "SSL", 0, 0, 0, ""},
|
||||||
|
{ "START", 0, 0, 0, ""},
|
||||||
|
{ "STARTING", 0, 0, 0, ""},
|
||||||
|
{ "STATUS", 0, 0, 0, ""},
|
||||||
|
{ "STOP", 0, 0, 0, ""},
|
||||||
|
{ "STORAGE", 0, 0, 0, ""},
|
||||||
|
{ "STRAIGHT_JOIN", 0, 0, 0, ""},
|
||||||
|
{ "STRING", 0, 0, 0, ""},
|
||||||
|
{ "STRIPED", 0, 0, 0, ""},
|
||||||
|
{ "SUBJECT", 0, 0, 0, ""},
|
||||||
|
{ "SUPER", 0, 0, 0, ""},
|
||||||
|
{ "SUSPEND", 0, 0, 0, ""},
|
||||||
|
{ "TABLE", 0, 0, 0, ""},
|
||||||
|
{ "TABLES", 0, 0, 0, ""},
|
||||||
|
{ "TABLESPACE", 0, 0, 0, ""},
|
||||||
|
{ "TEMPORARY", 0, 0, 0, ""},
|
||||||
|
{ "TEMPTABLE", 0, 0, 0, ""},
|
||||||
|
{ "TERMINATED", 0, 0, 0, ""},
|
||||||
|
{ "TEXT", 0, 0, 0, ""},
|
||||||
|
{ "THEN", 0, 0, 0, ""},
|
||||||
|
{ "TIME", 0, 0, 0, ""},
|
||||||
|
{ "TIMESTAMP", 0, 0, 0, ""},
|
||||||
|
{ "TIMESTAMPADD", 0, 0, 0, ""},
|
||||||
|
{ "TIMESTAMPDIFF", 0, 0, 0, ""},
|
||||||
|
{ "TINYBLOB", 0, 0, 0, ""},
|
||||||
|
{ "TINYINT", 0, 0, 0, ""},
|
||||||
|
{ "TINYTEXT", 0, 0, 0, ""},
|
||||||
|
{ "TO", 0, 0, 0, ""},
|
||||||
|
{ "TRAILING", 0, 0, 0, ""},
|
||||||
|
{ "TRANSACTION", 0, 0, 0, ""},
|
||||||
|
{ "TRIGGER", 0, 0, 0, ""},
|
||||||
|
{ "TRIGGERS", 0, 0, 0, ""},
|
||||||
|
{ "TRUE", 0, 0, 0, ""},
|
||||||
|
{ "TRUNCATE", 0, 0, 0, ""},
|
||||||
|
{ "TYPE", 0, 0, 0, ""},
|
||||||
|
{ "TYPES", 0, 0, 0, ""},
|
||||||
|
{ "UNCOMMITTED", 0, 0, 0, ""},
|
||||||
|
{ "UNDEFINED", 0, 0, 0, ""},
|
||||||
|
{ "UNDO", 0, 0, 0, ""},
|
||||||
|
{ "UNICODE", 0, 0, 0, ""},
|
||||||
|
{ "UNION", 0, 0, 0, ""},
|
||||||
|
{ "UNIQUE", 0, 0, 0, ""},
|
||||||
|
{ "UNKNOWN", 0, 0, 0, ""},
|
||||||
|
{ "UNLOCK", 0, 0, 0, ""},
|
||||||
|
{ "UNSIGNED", 0, 0, 0, ""},
|
||||||
|
{ "UNTIL", 0, 0, 0, ""},
|
||||||
|
{ "UPDATE", 0, 0, 0, ""},
|
||||||
|
{ "UPGRADE", 0, 0, 0, ""},
|
||||||
|
{ "USAGE", 0, 0, 0, ""},
|
||||||
|
{ "USE", 0, 0, 0, ""},
|
||||||
|
{ "USER", 0, 0, 0, ""},
|
||||||
|
{ "USER_RESOURCES", 0, 0, 0, ""},
|
||||||
|
{ "USE_FRM", 0, 0, 0, ""},
|
||||||
|
{ "USING", 0, 0, 0, ""},
|
||||||
|
{ "UTC_DATE", 0, 0, 0, ""},
|
||||||
|
{ "UTC_TIME", 0, 0, 0, ""},
|
||||||
|
{ "UTC_TIMESTAMP", 0, 0, 0, ""},
|
||||||
|
{ "VALUE", 0, 0, 0, ""},
|
||||||
|
{ "VALUES", 0, 0, 0, ""},
|
||||||
|
{ "VARBINARY", 0, 0, 0, ""},
|
||||||
|
{ "VARCHAR", 0, 0, 0, ""},
|
||||||
|
{ "VARCHARACTER", 0, 0, 0, ""},
|
||||||
|
{ "VARIABLES", 0, 0, 0, ""},
|
||||||
|
{ "VARYING", 0, 0, 0, ""},
|
||||||
|
{ "WARNINGS", 0, 0, 0, ""},
|
||||||
|
{ "WEEK", 0, 0, 0, ""},
|
||||||
|
{ "WHEN", 0, 0, 0, ""},
|
||||||
|
{ "WHERE", 0, 0, 0, ""},
|
||||||
|
{ "WHILE", 0, 0, 0, ""},
|
||||||
|
{ "VIEW", 0, 0, 0, ""},
|
||||||
|
{ "WITH", 0, 0, 0, ""},
|
||||||
|
{ "WORK", 0, 0, 0, ""},
|
||||||
|
{ "WRITE", 0, 0, 0, ""},
|
||||||
|
{ "X509", 0, 0, 0, ""},
|
||||||
|
{ "XOR", 0, 0, 0, ""},
|
||||||
|
{ "XA", 0, 0, 0, ""},
|
||||||
|
{ "YEAR", 0, 0, 0, ""},
|
||||||
|
{ "YEAR_MONTH", 0, 0, 0, ""},
|
||||||
|
{ "ZEROFILL", 0, 0, 0, ""},
|
||||||
|
{ "ABS", 0, 0, 0, ""},
|
||||||
|
{ "ACOS", 0, 0, 0, ""},
|
||||||
|
{ "ADDDATE", 0, 0, 0, ""},
|
||||||
|
{ "ADDTIME", 0, 0, 0, ""},
|
||||||
|
{ "AES_ENCRYPT", 0, 0, 0, ""},
|
||||||
|
{ "AES_DECRYPT", 0, 0, 0, ""},
|
||||||
|
{ "AREA", 0, 0, 0, ""},
|
||||||
|
{ "ASIN", 0, 0, 0, ""},
|
||||||
|
{ "ASBINARY", 0, 0, 0, ""},
|
||||||
|
{ "ASTEXT", 0, 0, 0, ""},
|
||||||
|
{ "ASWKB", 0, 0, 0, ""},
|
||||||
|
{ "ASWKT", 0, 0, 0, ""},
|
||||||
|
{ "ATAN", 0, 0, 0, ""},
|
||||||
|
{ "ATAN2", 0, 0, 0, ""},
|
||||||
|
{ "BENCHMARK", 0, 0, 0, ""},
|
||||||
|
{ "BIN", 0, 0, 0, ""},
|
||||||
|
{ "BIT_COUNT", 0, 0, 0, ""},
|
||||||
|
{ "BIT_OR", 0, 0, 0, ""},
|
||||||
|
{ "BIT_AND", 0, 0, 0, ""},
|
||||||
|
{ "BIT_XOR", 0, 0, 0, ""},
|
||||||
|
{ "CAST", 0, 0, 0, ""},
|
||||||
|
{ "CEIL", 0, 0, 0, ""},
|
||||||
|
{ "CEILING", 0, 0, 0, ""},
|
||||||
|
{ "BIT_LENGTH", 0, 0, 0, ""},
|
||||||
|
{ "CENTROID", 0, 0, 0, ""},
|
||||||
|
{ "CHAR_LENGTH", 0, 0, 0, ""},
|
||||||
|
{ "CHARACTER_LENGTH", 0, 0, 0, ""},
|
||||||
|
{ "COALESCE", 0, 0, 0, ""},
|
||||||
|
{ "COERCIBILITY", 0, 0, 0, ""},
|
||||||
|
{ "COMPRESS", 0, 0, 0, ""},
|
||||||
|
{ "CONCAT", 0, 0, 0, ""},
|
||||||
|
{ "CONCAT_WS", 0, 0, 0, ""},
|
||||||
|
{ "CONNECTION_ID", 0, 0, 0, ""},
|
||||||
|
{ "CONV", 0, 0, 0, ""},
|
||||||
|
{ "CONVERT_TZ", 0, 0, 0, ""},
|
||||||
|
{ "COUNT", 0, 0, 0, ""},
|
||||||
|
{ "COS", 0, 0, 0, ""},
|
||||||
|
{ "COT", 0, 0, 0, ""},
|
||||||
|
{ "CRC32", 0, 0, 0, ""},
|
||||||
|
{ "CROSSES", 0, 0, 0, ""},
|
||||||
|
{ "CURDATE", 0, 0, 0, ""},
|
||||||
|
{ "CURTIME", 0, 0, 0, ""},
|
||||||
|
{ "DATE_ADD", 0, 0, 0, ""},
|
||||||
|
{ "DATEDIFF", 0, 0, 0, ""},
|
||||||
|
{ "DATE_FORMAT", 0, 0, 0, ""},
|
||||||
|
{ "DATE_SUB", 0, 0, 0, ""},
|
||||||
|
{ "DAYNAME", 0, 0, 0, ""},
|
||||||
|
{ "DAYOFMONTH", 0, 0, 0, ""},
|
||||||
|
{ "DAYOFWEEK", 0, 0, 0, ""},
|
||||||
|
{ "DAYOFYEAR", 0, 0, 0, ""},
|
||||||
|
{ "DECODE", 0, 0, 0, ""},
|
||||||
|
{ "DEGREES", 0, 0, 0, ""},
|
||||||
|
{ "DES_ENCRYPT", 0, 0, 0, ""},
|
||||||
|
{ "DES_DECRYPT", 0, 0, 0, ""},
|
||||||
|
{ "DIMENSION", 0, 0, 0, ""},
|
||||||
|
{ "DISJOINT", 0, 0, 0, ""},
|
||||||
|
{ "ELT", 0, 0, 0, ""},
|
||||||
|
{ "ENCODE", 0, 0, 0, ""},
|
||||||
|
{ "ENCRYPT", 0, 0, 0, ""},
|
||||||
|
{ "ENDPOINT", 0, 0, 0, ""},
|
||||||
|
{ "ENVELOPE", 0, 0, 0, ""},
|
||||||
|
{ "EQUALS", 0, 0, 0, ""},
|
||||||
|
{ "EXTERIORRING", 0, 0, 0, ""},
|
||||||
|
{ "EXTRACT", 0, 0, 0, ""},
|
||||||
|
{ "EXP", 0, 0, 0, ""},
|
||||||
|
{ "EXPORT_SET", 0, 0, 0, ""},
|
||||||
|
{ "FIELD", 0, 0, 0, ""},
|
||||||
|
{ "FIND_IN_SET", 0, 0, 0, ""},
|
||||||
|
{ "FLOOR", 0, 0, 0, ""},
|
||||||
|
{ "FORMAT", 0, 0, 0, ""},
|
||||||
|
{ "FOUND_ROWS", 0, 0, 0, ""},
|
||||||
|
{ "FROM_DAYS", 0, 0, 0, ""},
|
||||||
|
{ "FROM_UNIXTIME", 0, 0, 0, ""},
|
||||||
|
{ "GET_LOCK", 0, 0, 0, ""},
|
||||||
|
{ "GEOMETRYN", 0, 0, 0, ""},
|
||||||
|
{ "GEOMETRYTYPE", 0, 0, 0, ""},
|
||||||
|
{ "GEOMCOLLFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "GEOMCOLLFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "GEOMETRYCOLLECTIONFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "GEOMETRYCOLLECTIONFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "GEOMETRYFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "GEOMETRYFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "GEOMFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "GEOMFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "GLENGTH", 0, 0, 0, ""},
|
||||||
|
{ "GREATEST", 0, 0, 0, ""},
|
||||||
|
{ "GROUP_CONCAT", 0, 0, 0, ""},
|
||||||
|
{ "GROUP_UNIQUE_USERS", 0, 0, 0, ""},
|
||||||
|
{ "HEX", 0, 0, 0, ""},
|
||||||
|
{ "IFNULL", 0, 0, 0, ""},
|
||||||
|
{ "INET_ATON", 0, 0, 0, ""},
|
||||||
|
{ "INET_NTOA", 0, 0, 0, ""},
|
||||||
|
{ "INSTR", 0, 0, 0, ""},
|
||||||
|
{ "INTERIORRINGN", 0, 0, 0, ""},
|
||||||
|
{ "INTERSECTS", 0, 0, 0, ""},
|
||||||
|
{ "ISCLOSED", 0, 0, 0, ""},
|
||||||
|
{ "ISEMPTY", 0, 0, 0, ""},
|
||||||
|
{ "ISNULL", 0, 0, 0, ""},
|
||||||
|
{ "IS_FREE_LOCK", 0, 0, 0, ""},
|
||||||
|
{ "IS_USED_LOCK", 0, 0, 0, ""},
|
||||||
|
{ "LAST_INSERT_ID", 0, 0, 0, ""},
|
||||||
|
{ "ISSIMPLE", 0, 0, 0, ""},
|
||||||
|
{ "LAST_DAY", 0, 0, 0, ""},
|
||||||
|
{ "LCASE", 0, 0, 0, ""},
|
||||||
|
{ "LEAST", 0, 0, 0, ""},
|
||||||
|
{ "LENGTH", 0, 0, 0, ""},
|
||||||
|
{ "LN", 0, 0, 0, ""},
|
||||||
|
{ "LINEFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "LINEFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "LINESTRINGFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "LINESTRINGFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "LOAD_FILE", 0, 0, 0, ""},
|
||||||
|
{ "LOCATE", 0, 0, 0, ""},
|
||||||
|
{ "LOG", 0, 0, 0, ""},
|
||||||
|
{ "LOG2", 0, 0, 0, ""},
|
||||||
|
{ "LOG10", 0, 0, 0, ""},
|
||||||
|
{ "LOWER", 0, 0, 0, ""},
|
||||||
|
{ "LPAD", 0, 0, 0, ""},
|
||||||
|
{ "LTRIM", 0, 0, 0, ""},
|
||||||
|
{ "MAKE_SET", 0, 0, 0, ""},
|
||||||
|
{ "MAKEDATE", 0, 0, 0, ""},
|
||||||
|
{ "MAKETIME", 0, 0, 0, ""},
|
||||||
|
{ "MASTER_POS_WAIT", 0, 0, 0, ""},
|
||||||
|
{ "MAX", 0, 0, 0, ""},
|
||||||
|
{ "MBRCONTAINS", 0, 0, 0, ""},
|
||||||
|
{ "MBRDISJOINT", 0, 0, 0, ""},
|
||||||
|
{ "MBREQUAL", 0, 0, 0, ""},
|
||||||
|
{ "MBRINTERSECTS", 0, 0, 0, ""},
|
||||||
|
{ "MBROVERLAPS", 0, 0, 0, ""},
|
||||||
|
{ "MBRTOUCHES", 0, 0, 0, ""},
|
||||||
|
{ "MBRWITHIN", 0, 0, 0, ""},
|
||||||
|
{ "MD5", 0, 0, 0, ""},
|
||||||
|
{ "MID", 0, 0, 0, ""},
|
||||||
|
{ "MIN", 0, 0, 0, ""},
|
||||||
|
{ "MLINEFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "MLINEFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "MPOINTFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "MPOINTFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "MPOLYFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "MPOLYFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "MONTHNAME", 0, 0, 0, ""},
|
||||||
|
{ "MULTILINESTRINGFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "MULTILINESTRINGFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "MULTIPOINTFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "MULTIPOINTFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "MULTIPOLYGONFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "MULTIPOLYGONFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "NAME_CONST", 0, 0, 0, ""},
|
||||||
|
{ "NOW", 0, 0, 0, ""},
|
||||||
|
{ "NULLIF", 0, 0, 0, ""},
|
||||||
|
{ "NUMGEOMETRIES", 0, 0, 0, ""},
|
||||||
|
{ "NUMINTERIORRINGS", 0, 0, 0, ""},
|
||||||
|
{ "NUMPOINTS", 0, 0, 0, ""},
|
||||||
|
{ "OCTET_LENGTH", 0, 0, 0, ""},
|
||||||
|
{ "OCT", 0, 0, 0, ""},
|
||||||
|
{ "ORD", 0, 0, 0, ""},
|
||||||
|
{ "OVERLAPS", 0, 0, 0, ""},
|
||||||
|
{ "PERIOD_ADD", 0, 0, 0, ""},
|
||||||
|
{ "PERIOD_DIFF", 0, 0, 0, ""},
|
||||||
|
{ "PI", 0, 0, 0, ""},
|
||||||
|
{ "POINTFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "POINTFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "POINTN", 0, 0, 0, ""},
|
||||||
|
{ "POLYFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "POLYFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "POLYGONFROMTEXT", 0, 0, 0, ""},
|
||||||
|
{ "POLYGONFROMWKB", 0, 0, 0, ""},
|
||||||
|
{ "POSITION", 0, 0, 0, ""},
|
||||||
|
{ "POW", 0, 0, 0, ""},
|
||||||
|
{ "POWER", 0, 0, 0, ""},
|
||||||
|
{ "QUOTE", 0, 0, 0, ""},
|
||||||
|
{ "RADIANS", 0, 0, 0, ""},
|
||||||
|
{ "RAND", 0, 0, 0, ""},
|
||||||
|
{ "RELEASE_LOCK", 0, 0, 0, ""},
|
||||||
|
{ "REVERSE", 0, 0, 0, ""},
|
||||||
|
{ "ROUND", 0, 0, 0, ""},
|
||||||
|
{ "ROW_COUNT", 0, 0, 0, ""},
|
||||||
|
{ "RPAD", 0, 0, 0, ""},
|
||||||
|
{ "RTRIM", 0, 0, 0, ""},
|
||||||
|
{ "SEC_TO_TIME", 0, 0, 0, ""},
|
||||||
|
{ "SESSION_USER", 0, 0, 0, ""},
|
||||||
|
{ "SUBDATE", 0, 0, 0, ""},
|
||||||
|
{ "SIGN", 0, 0, 0, ""},
|
||||||
|
{ "SIN", 0, 0, 0, ""},
|
||||||
|
{ "SHA", 0, 0, 0, ""},
|
||||||
|
{ "SHA1", 0, 0, 0, ""},
|
||||||
|
{ "SLEEP", 0, 0, 0, ""},
|
||||||
|
{ "SOUNDEX", 0, 0, 0, ""},
|
||||||
|
{ "SPACE", 0, 0, 0, ""},
|
||||||
|
{ "SQRT", 0, 0, 0, ""},
|
||||||
|
{ "SRID", 0, 0, 0, ""},
|
||||||
|
{ "STARTPOINT", 0, 0, 0, ""},
|
||||||
|
{ "STD", 0, 0, 0, ""},
|
||||||
|
{ "STDDEV", 0, 0, 0, ""},
|
||||||
|
{ "STDDEV_POP", 0, 0, 0, ""},
|
||||||
|
{ "STDDEV_SAMP", 0, 0, 0, ""},
|
||||||
|
{ "STR_TO_DATE", 0, 0, 0, ""},
|
||||||
|
{ "STRCMP", 0, 0, 0, ""},
|
||||||
|
{ "SUBSTR", 0, 0, 0, ""},
|
||||||
|
{ "SUBSTRING", 0, 0, 0, ""},
|
||||||
|
{ "SUBSTRING_INDEX", 0, 0, 0, ""},
|
||||||
|
{ "SUBTIME", 0, 0, 0, ""},
|
||||||
|
{ "SUM", 0, 0, 0, ""},
|
||||||
|
{ "SYSDATE", 0, 0, 0, ""},
|
||||||
|
{ "SYSTEM_USER", 0, 0, 0, ""},
|
||||||
|
{ "TAN", 0, 0, 0, ""},
|
||||||
|
{ "TIME_FORMAT", 0, 0, 0, ""},
|
||||||
|
{ "TIME_TO_SEC", 0, 0, 0, ""},
|
||||||
|
{ "TIMEDIFF", 0, 0, 0, ""},
|
||||||
|
{ "TO_DAYS", 0, 0, 0, ""},
|
||||||
|
{ "TOUCHES", 0, 0, 0, ""},
|
||||||
|
{ "TRIM", 0, 0, 0, ""},
|
||||||
|
{ "UCASE", 0, 0, 0, ""},
|
||||||
|
{ "UNCOMPRESS", 0, 0, 0, ""},
|
||||||
|
{ "UNCOMPRESSED_LENGTH", 0, 0, 0, ""},
|
||||||
|
{ "UNHEX", 0, 0, 0, ""},
|
||||||
|
{ "UNIQUE_USERS", 0, 0, 0, ""},
|
||||||
|
{ "UNIX_TIMESTAMP", 0, 0, 0, ""},
|
||||||
|
{ "UPPER", 0, 0, 0, ""},
|
||||||
|
{ "UUID", 0, 0, 0, ""},
|
||||||
|
{ "VARIANCE", 0, 0, 0, ""},
|
||||||
|
{ "VAR_POP", 0, 0, 0, ""},
|
||||||
|
{ "VAR_SAMP", 0, 0, 0, ""},
|
||||||
|
{ "VERSION", 0, 0, 0, ""},
|
||||||
|
{ "WEEKDAY", 0, 0, 0, ""},
|
||||||
|
{ "WEEKOFYEAR", 0, 0, 0, ""},
|
||||||
|
{ "WITHIN", 0, 0, 0, ""},
|
||||||
|
{ "X", 0, 0, 0, ""},
|
||||||
|
{ "Y", 0, 0, 0, ""},
|
||||||
|
{ "YEARWEEK", 0, 0, 0, ""},
|
||||||
|
/* end sentinel */
|
||||||
{ (char *)NULL, 0, 0, 0, ""}
|
{ (char *)NULL, 0, 0, 0, ""}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -595,6 +1300,10 @@ static struct my_option my_long_options[] =
|
|||||||
{"default-character-set", OPT_DEFAULT_CHARSET,
|
{"default-character-set", OPT_DEFAULT_CHARSET,
|
||||||
"Set the default character set.", (gptr*) &default_charset,
|
"Set the default character set.", (gptr*) &default_charset,
|
||||||
(gptr*) &default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(gptr*) &default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"comments", 'c', "Preserve comments. Send comments to the server."
|
||||||
|
" The default is --skip-comments (discard comments), enable with --comments",
|
||||||
|
(gptr*) &preserve_comments, (gptr*) &preserve_comments,
|
||||||
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"compress", 'C', "Use compression in server/client protocol.",
|
{"compress", 'C', "Use compression in server/client protocol.",
|
||||||
(gptr*) &opt_compress, (gptr*) &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
(gptr*) &opt_compress, (gptr*) &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
@ -738,9 +1447,9 @@ static struct my_option my_long_options[] =
|
|||||||
0, 1},
|
0, 1},
|
||||||
{"max_allowed_packet", OPT_MAX_ALLOWED_PACKET,
|
{"max_allowed_packet", OPT_MAX_ALLOWED_PACKET,
|
||||||
"Max packet length to send to, or receive from server",
|
"Max packet length to send to, or receive from server",
|
||||||
(gptr*) &opt_max_allowed_packet, (gptr*) &opt_max_allowed_packet, 0, GET_ULONG,
|
(gptr*) &opt_max_allowed_packet, (gptr*) &opt_max_allowed_packet, 0,
|
||||||
REQUIRED_ARG, 16 *1024L*1024L, 4096, (longlong) 2*1024L*1024L*1024L,
|
GET_ULONG, REQUIRED_ARG, 16 *1024L*1024L, 4096,
|
||||||
MALLOC_OVERHEAD, 1024, 0},
|
(longlong) 2*1024L*1024L*1024L, MALLOC_OVERHEAD, 1024, 0},
|
||||||
{"net_buffer_length", OPT_NET_BUFFER_LENGTH,
|
{"net_buffer_length", OPT_NET_BUFFER_LENGTH,
|
||||||
"Buffer for TCP/IP and socket communication",
|
"Buffer for TCP/IP and socket communication",
|
||||||
(gptr*) &opt_net_buffer_length, (gptr*) &opt_net_buffer_length, 0, GET_ULONG,
|
(gptr*) &opt_net_buffer_length, (gptr*) &opt_net_buffer_length, 0, GET_ULONG,
|
||||||
@ -748,22 +1457,19 @@ static struct my_option my_long_options[] =
|
|||||||
{"select_limit", OPT_SELECT_LIMIT,
|
{"select_limit", OPT_SELECT_LIMIT,
|
||||||
"Automatic limit for SELECT when using --safe-updates",
|
"Automatic limit for SELECT when using --safe-updates",
|
||||||
(gptr*) &select_limit,
|
(gptr*) &select_limit,
|
||||||
(gptr*) &select_limit, 0, GET_ULONG, REQUIRED_ARG, 1000L, 1, ~0L, 0, 1, 0},
|
(gptr*) &select_limit, 0, GET_ULONG, REQUIRED_ARG, 1000L, 1, ULONG_MAX,
|
||||||
|
0, 1, 0},
|
||||||
{"max_join_size", OPT_MAX_JOIN_SIZE,
|
{"max_join_size", OPT_MAX_JOIN_SIZE,
|
||||||
"Automatic limit for rows in a join when using --safe-updates",
|
"Automatic limit for rows in a join when using --safe-updates",
|
||||||
(gptr*) &max_join_size,
|
(gptr*) &max_join_size,
|
||||||
(gptr*) &max_join_size, 0, GET_ULONG, REQUIRED_ARG, 1000000L, 1, ~0L, 0, 1,
|
(gptr*) &max_join_size, 0, GET_ULONG, REQUIRED_ARG, 1000000L, 1, ULONG_MAX,
|
||||||
0},
|
0, 1, 0},
|
||||||
{"secure-auth", OPT_SECURE_AUTH, "Refuse client connecting to server if it"
|
{"secure-auth", OPT_SECURE_AUTH, "Refuse client connecting to server if it"
|
||||||
" uses old (pre-4.1.1) protocol", (gptr*) &opt_secure_auth,
|
" uses old (pre-4.1.1) protocol", (gptr*) &opt_secure_auth,
|
||||||
(gptr*) &opt_secure_auth, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
(gptr*) &opt_secure_auth, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"show-warnings", OPT_SHOW_WARNINGS, "Show warnings after every statement.",
|
{"show-warnings", OPT_SHOW_WARNINGS, "Show warnings after every statement.",
|
||||||
(gptr*) &show_warnings, (gptr*) &show_warnings, 0, GET_BOOL, NO_ARG,
|
(gptr*) &show_warnings, (gptr*) &show_warnings, 0, GET_BOOL, NO_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"comments", 'c', "Preserve comments. Send comments to the server."
|
|
||||||
" Comments are discarded by default, enable with --enable-comments",
|
|
||||||
(gptr*) &preserve_comments, (gptr*) &preserve_comments,
|
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{ 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
|
{ 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -793,7 +1499,7 @@ static void usage(int version)
|
|||||||
if (version)
|
if (version)
|
||||||
return;
|
return;
|
||||||
printf("\
|
printf("\
|
||||||
Copyright (C) 2002 MySQL AB\n\
|
Copyright (C) 2000-2008 MySQL AB\n\
|
||||||
This software comes with ABSOLUTELY NO WARRANTY. This is free software,\n\
|
This software comes with ABSOLUTELY NO WARRANTY. This is free software,\n\
|
||||||
and you are welcome to modify and redistribute it under the GPL license\n");
|
and you are welcome to modify and redistribute it under the GPL license\n");
|
||||||
printf("Usage: %s [OPTIONS] [database]\n", my_progname);
|
printf("Usage: %s [OPTIONS] [database]\n", my_progname);
|
||||||
@ -1271,9 +1977,7 @@ static bool add_line(String &buffer,char *line,char *in_string,
|
|||||||
if (status.add_to_history && line[0] && not_in_history(line))
|
if (status.add_to_history && line[0] && not_in_history(line))
|
||||||
add_history(line);
|
add_history(line);
|
||||||
#endif
|
#endif
|
||||||
#ifdef USE_MB
|
|
||||||
char *end_of_line=line+(uint) strlen(line);
|
char *end_of_line=line+(uint) strlen(line);
|
||||||
#endif
|
|
||||||
|
|
||||||
for (pos=out=line ; (inchar= (uchar) *pos) ; pos++)
|
for (pos=out=line ; (inchar= (uchar) *pos) ; pos++)
|
||||||
{
|
{
|
||||||
@ -1363,7 +2067,7 @@ static bool add_line(String &buffer,char *line,char *in_string,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!*ml_comment && !*in_string &&
|
else if (!*ml_comment && !*in_string &&
|
||||||
strlen(pos) >= 10 &&
|
(end_of_line - pos) >= 10 &&
|
||||||
!my_strnncoll(charset_info, (uchar*) pos, 10,
|
!my_strnncoll(charset_info, (uchar*) pos, 10,
|
||||||
(const uchar*) "delimiter ", 10))
|
(const uchar*) "delimiter ", 10))
|
||||||
{
|
{
|
||||||
@ -1750,12 +2454,6 @@ static void build_completion_hash(bool rehash, bool write_info)
|
|||||||
|
|
||||||
if (status.batch || quick || !current_db)
|
if (status.batch || quick || !current_db)
|
||||||
DBUG_VOID_RETURN; // We don't need completion in batches
|
DBUG_VOID_RETURN; // We don't need completion in batches
|
||||||
|
|
||||||
/* hash SQL commands */
|
|
||||||
while (cmd->name) {
|
|
||||||
add_word(&ht,(char*) cmd->name);
|
|
||||||
cmd++;
|
|
||||||
}
|
|
||||||
if (!rehash)
|
if (!rehash)
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
|
|
||||||
@ -1765,6 +2463,12 @@ static void build_completion_hash(bool rehash, bool write_info)
|
|||||||
completion_hash_clean(&ht);
|
completion_hash_clean(&ht);
|
||||||
free_root(&hash_mem_root,MYF(0));
|
free_root(&hash_mem_root,MYF(0));
|
||||||
|
|
||||||
|
/* hash this file's known subset of SQL commands */
|
||||||
|
while (cmd->name) {
|
||||||
|
add_word(&ht,(char*) cmd->name);
|
||||||
|
cmd++;
|
||||||
|
}
|
||||||
|
|
||||||
/* hash MySQL functions (to be implemented) */
|
/* hash MySQL functions (to be implemented) */
|
||||||
|
|
||||||
/* hash all database names */
|
/* hash all database names */
|
||||||
@ -2146,7 +2850,8 @@ com_charset(String *buffer __attribute__((unused)), char *line)
|
|||||||
static int
|
static int
|
||||||
com_go(String *buffer,char *line __attribute__((unused)))
|
com_go(String *buffer,char *line __attribute__((unused)))
|
||||||
{
|
{
|
||||||
char buff[200], time_buff[32], *pos;
|
char buff[200]; /* about 110 chars used so far */
|
||||||
|
char time_buff[52+3+1]; /* time max + space&parens + NUL */
|
||||||
MYSQL_RES *result;
|
MYSQL_RES *result;
|
||||||
ulong timer, warnings;
|
ulong timer, warnings;
|
||||||
uint error= 0;
|
uint error= 0;
|
||||||
@ -2212,6 +2917,8 @@ com_go(String *buffer,char *line __attribute__((unused)))
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
char *pos;
|
||||||
|
|
||||||
if (quick)
|
if (quick)
|
||||||
{
|
{
|
||||||
if (!(result=mysql_use_result(&mysql)) && mysql_field_count(&mysql))
|
if (!(result=mysql_use_result(&mysql)) && mysql_field_count(&mysql))
|
||||||
@ -2233,7 +2940,9 @@ com_go(String *buffer,char *line __attribute__((unused)))
|
|||||||
if (verbose >= 3 || !opt_silent)
|
if (verbose >= 3 || !opt_silent)
|
||||||
mysql_end_timer(timer,time_buff);
|
mysql_end_timer(timer,time_buff);
|
||||||
else
|
else
|
||||||
time_buff[0]=0;
|
time_buff[0]= '\0';
|
||||||
|
|
||||||
|
/* Every branch must truncate buff . */
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
if (!mysql_num_rows(result) && ! quick && !info_flag)
|
if (!mysql_num_rows(result) && ! quick && !info_flag)
|
||||||
@ -3084,7 +3793,10 @@ com_connect(String *buffer, char *line)
|
|||||||
Two null bytes are needed in the end of buff to allow
|
Two null bytes are needed in the end of buff to allow
|
||||||
get_arg to find end of string the second time it's called.
|
get_arg to find end of string the second time it's called.
|
||||||
*/
|
*/
|
||||||
strmake(buff, line, sizeof(buff)-2);
|
tmp= strmake(buff, line, sizeof(buff)-2);
|
||||||
|
#ifdef EXTRA_DEBUG
|
||||||
|
tmp[1]= 0;
|
||||||
|
#endif
|
||||||
tmp= get_arg(buff, 0);
|
tmp= get_arg(buff, 0);
|
||||||
if (tmp && *tmp)
|
if (tmp && *tmp)
|
||||||
{
|
{
|
||||||
@ -3789,6 +4501,11 @@ static ulong start_timer(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
Write as many as 52+1 bytes to buff, in the form of a legible duration of time.
|
||||||
|
|
||||||
|
len("4294967296 days, 23 hours, 59 minutes, 60.00 seconds") -> 52
|
||||||
|
*/
|
||||||
static void nice_time(double sec,char *buff,bool part_second)
|
static void nice_time(double sec,char *buff,bool part_second)
|
||||||
{
|
{
|
||||||
ulong tmp;
|
ulong tmp;
|
||||||
|
@ -465,6 +465,31 @@ Create_file event for file_id: %u\n",ae->file_id);
|
|||||||
Load_log_processor load_processor;
|
Load_log_processor load_processor;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
Replace windows-style backslashes by forward slashes so it can be
|
||||||
|
consumed by the mysql client, which requires Unix path.
|
||||||
|
|
||||||
|
@todo This is only useful under windows, so may be ifdef'ed out on
|
||||||
|
other systems. /Sven
|
||||||
|
|
||||||
|
@todo If a Create_file_log_event contains a filename with a
|
||||||
|
backslash (valid under unix), then we have problems under windows.
|
||||||
|
/Sven
|
||||||
|
|
||||||
|
@param[in,out] fname Filename to modify. The filename is modified
|
||||||
|
in-place.
|
||||||
|
*/
|
||||||
|
static void convert_path_to_forward_slashes(char *fname)
|
||||||
|
{
|
||||||
|
while (*fname)
|
||||||
|
{
|
||||||
|
if (*fname == '\\')
|
||||||
|
*fname= '/';
|
||||||
|
fname++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static bool check_database(const char *log_dbname)
|
static bool check_database(const char *log_dbname)
|
||||||
{
|
{
|
||||||
return one_database &&
|
return one_database &&
|
||||||
@ -582,6 +607,11 @@ int process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
|||||||
*/
|
*/
|
||||||
if (ce)
|
if (ce)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
We must not convert earlier, since the file is used by
|
||||||
|
my_open() in Load_log_processor::append().
|
||||||
|
*/
|
||||||
|
convert_path_to_forward_slashes((char*) ce->fname);
|
||||||
ce->print(result_file, print_event_info, TRUE);
|
ce->print(result_file, print_event_info, TRUE);
|
||||||
my_free((char*)ce->fname,MYF(MY_WME));
|
my_free((char*)ce->fname,MYF(MY_WME));
|
||||||
delete ce;
|
delete ce;
|
||||||
@ -622,6 +652,7 @@ Create_file event for file_id: %u\n",exv->file_id);
|
|||||||
|
|
||||||
if (fname)
|
if (fname)
|
||||||
{
|
{
|
||||||
|
convert_path_to_forward_slashes(fname);
|
||||||
exlq->print(result_file, print_event_info, fname);
|
exlq->print(result_file, print_event_info, fname);
|
||||||
my_free(fname, MYF(MY_WME));
|
my_free(fname, MYF(MY_WME));
|
||||||
}
|
}
|
||||||
|
@ -530,12 +530,14 @@ static int process_all_tables_in_db(char *database)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
while ((row = mysql_fetch_row(res)))
|
while ((row = mysql_fetch_row(res)))
|
||||||
{
|
/* Skip tables with an engine of NULL (probably a view). */
|
||||||
if ((num_columns == 2) && (strcmp(row[1], "VIEW") == 0))
|
if (row[1])
|
||||||
continue;
|
{
|
||||||
|
if ((num_columns == 2) && (strcmp(row[1], "VIEW") == 0))
|
||||||
handle_request_for_tables(row[0], fixed_name_length(row[0]));
|
continue;
|
||||||
}
|
|
||||||
|
handle_request_for_tables(row[0], fixed_name_length(row[0]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
mysql_free_result(res);
|
mysql_free_result(res);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -51,6 +51,10 @@
|
|||||||
#ifdef HAVE_SYS_WAIT_H
|
#ifdef HAVE_SYS_WAIT_H
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __WIN__
|
||||||
|
#include <direct.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifndef WEXITSTATUS
|
#ifndef WEXITSTATUS
|
||||||
# ifdef __WIN__
|
# ifdef __WIN__
|
||||||
@ -277,7 +281,7 @@ enum enum_commands {
|
|||||||
Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST,
|
Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST,
|
||||||
Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_SKIP,
|
Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_SKIP,
|
||||||
Q_CHMOD_FILE, Q_APPEND_FILE, Q_CAT_FILE, Q_DIFF_FILES,
|
Q_CHMOD_FILE, Q_APPEND_FILE, Q_CAT_FILE, Q_DIFF_FILES,
|
||||||
Q_SEND_QUIT,
|
Q_SEND_QUIT, Q_CHANGE_USER, Q_MKDIR, Q_RMDIR,
|
||||||
|
|
||||||
Q_UNKNOWN, /* Unknown command. */
|
Q_UNKNOWN, /* Unknown command. */
|
||||||
Q_COMMENT, /* Comments, ignored. */
|
Q_COMMENT, /* Comments, ignored. */
|
||||||
@ -366,6 +370,10 @@ const char *command_names[]=
|
|||||||
"cat_file",
|
"cat_file",
|
||||||
"diff_files",
|
"diff_files",
|
||||||
"send_quit",
|
"send_quit",
|
||||||
|
"change_user",
|
||||||
|
"mkdir",
|
||||||
|
"rmdir",
|
||||||
|
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2741,6 +2749,67 @@ void do_file_exist(struct st_command *command)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
SYNOPSIS
|
||||||
|
do_mkdir
|
||||||
|
command called command
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
mkdir <dir_name>
|
||||||
|
Create the directory <dir_name>
|
||||||
|
*/
|
||||||
|
|
||||||
|
void do_mkdir(struct st_command *command)
|
||||||
|
{
|
||||||
|
int error;
|
||||||
|
static DYNAMIC_STRING ds_dirname;
|
||||||
|
const struct command_arg mkdir_args[] = {
|
||||||
|
"dirname", ARG_STRING, TRUE, &ds_dirname, "Directory to create"
|
||||||
|
};
|
||||||
|
DBUG_ENTER("do_mkdir");
|
||||||
|
|
||||||
|
check_command_args(command, command->first_argument,
|
||||||
|
mkdir_args, sizeof(mkdir_args)/sizeof(struct command_arg),
|
||||||
|
' ');
|
||||||
|
|
||||||
|
DBUG_PRINT("info", ("creating directory: %s", ds_dirname.str));
|
||||||
|
error= my_mkdir(ds_dirname.str, 0777, MYF(0)) != 0;
|
||||||
|
handle_command_error(command, error);
|
||||||
|
dynstr_free(&ds_dirname);
|
||||||
|
DBUG_VOID_RETURN;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
SYNOPSIS
|
||||||
|
do_rmdir
|
||||||
|
command called command
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
rmdir <dir_name>
|
||||||
|
Remove the empty directory <dir_name>
|
||||||
|
*/
|
||||||
|
|
||||||
|
void do_rmdir(struct st_command *command)
|
||||||
|
{
|
||||||
|
int error;
|
||||||
|
static DYNAMIC_STRING ds_dirname;
|
||||||
|
const struct command_arg rmdir_args[] = {
|
||||||
|
"dirname", ARG_STRING, TRUE, &ds_dirname, "Directory to remove"
|
||||||
|
};
|
||||||
|
DBUG_ENTER("do_rmdir");
|
||||||
|
|
||||||
|
check_command_args(command, command->first_argument,
|
||||||
|
rmdir_args, sizeof(rmdir_args)/sizeof(struct command_arg),
|
||||||
|
' ');
|
||||||
|
|
||||||
|
DBUG_PRINT("info", ("removing directory: %s", ds_dirname.str));
|
||||||
|
error= rmdir(ds_dirname.str) != 0;
|
||||||
|
handle_command_error(command, error);
|
||||||
|
dynstr_free(&ds_dirname);
|
||||||
|
DBUG_VOID_RETURN;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Read characters from line buffer or file. This is needed to allow
|
Read characters from line buffer or file. This is needed to allow
|
||||||
my_ungetc() to buffer MAX_DELIMITER_LENGTH characters for a file
|
my_ungetc() to buffer MAX_DELIMITER_LENGTH characters for a file
|
||||||
@ -3046,6 +3115,69 @@ void do_send_quit(struct st_command *command)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
SYNOPSIS
|
||||||
|
do_change_user
|
||||||
|
command called command
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
change_user [<user>], [<passwd>], [<db>]
|
||||||
|
<user> - user to change to
|
||||||
|
<passwd> - user password
|
||||||
|
<db> - default database
|
||||||
|
|
||||||
|
Changes the user and causes the database specified by db to become
|
||||||
|
the default (current) database for the the current connection.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
void do_change_user(struct st_command *command)
|
||||||
|
{
|
||||||
|
MYSQL *mysql = &cur_con->mysql;
|
||||||
|
/* static keyword to make the NetWare compiler happy. */
|
||||||
|
static DYNAMIC_STRING ds_user, ds_passwd, ds_db;
|
||||||
|
const struct command_arg change_user_args[] = {
|
||||||
|
{ "user", ARG_STRING, FALSE, &ds_user, "User to connect as" },
|
||||||
|
{ "password", ARG_STRING, FALSE, &ds_passwd, "Password used when connecting" },
|
||||||
|
{ "database", ARG_STRING, FALSE, &ds_db, "Database to select after connect" },
|
||||||
|
};
|
||||||
|
|
||||||
|
DBUG_ENTER("do_change_user");
|
||||||
|
|
||||||
|
check_command_args(command, command->first_argument,
|
||||||
|
change_user_args,
|
||||||
|
sizeof(change_user_args)/sizeof(struct command_arg),
|
||||||
|
',');
|
||||||
|
|
||||||
|
if (cur_con->stmt)
|
||||||
|
{
|
||||||
|
mysql_stmt_close(cur_con->stmt);
|
||||||
|
cur_con->stmt= NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ds_user.length)
|
||||||
|
dynstr_set(&ds_user, mysql->user);
|
||||||
|
|
||||||
|
if (!ds_passwd.length)
|
||||||
|
dynstr_set(&ds_passwd, mysql->passwd);
|
||||||
|
|
||||||
|
if (!ds_db.length)
|
||||||
|
dynstr_set(&ds_db, mysql->db);
|
||||||
|
|
||||||
|
DBUG_PRINT("info",("connection: '%s' user: '%s' password: '%s' database: '%s'",
|
||||||
|
cur_con->name, ds_user.str, ds_passwd.str, ds_db.str));
|
||||||
|
|
||||||
|
if (mysql_change_user(mysql, ds_user.str, ds_passwd.str, ds_db.str))
|
||||||
|
die("change user failed: %s", mysql_error(mysql));
|
||||||
|
|
||||||
|
dynstr_free(&ds_user);
|
||||||
|
dynstr_free(&ds_passwd);
|
||||||
|
dynstr_free(&ds_db);
|
||||||
|
|
||||||
|
DBUG_VOID_RETURN;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
do_perl
|
do_perl
|
||||||
@ -3592,7 +3724,7 @@ void do_get_file_name(struct st_command *command,
|
|||||||
if (*p)
|
if (*p)
|
||||||
*p++= 0;
|
*p++= 0;
|
||||||
command->last_argument= p;
|
command->last_argument= p;
|
||||||
strmake(dest, name, dest_max_len);
|
strmake(dest, name, dest_max_len - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -4986,7 +5118,7 @@ static struct my_option my_long_options[] =
|
|||||||
"Don't use the memory allocation checking.", 0, 0, 0, GET_NO_ARG, NO_ARG,
|
"Don't use the memory allocation checking.", 0, 0, 0, GET_NO_ARG, NO_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"sleep", 'T', "Sleep always this many seconds on sleep commands.",
|
{"sleep", 'T', "Sleep always this many seconds on sleep commands.",
|
||||||
(gptr*) &opt_sleep, (gptr*) &opt_sleep, 0, GET_INT, REQUIRED_ARG, -1, 0, 0,
|
(gptr*) &opt_sleep, (gptr*) &opt_sleep, 0, GET_INT, REQUIRED_ARG, -1, -1, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"socket", 'S', "Socket file to use for connection.",
|
{"socket", 'S', "Socket file to use for connection.",
|
||||||
(gptr*) &unix_sock, (gptr*) &unix_sock, 0, GET_STR, REQUIRED_ARG, 0, 0, 0,
|
(gptr*) &unix_sock, (gptr*) &unix_sock, 0, GET_STR, REQUIRED_ARG, 0, 0, 0,
|
||||||
@ -6847,11 +6979,14 @@ int main(int argc, char **argv)
|
|||||||
case Q_ECHO: do_echo(command); command_executed++; break;
|
case Q_ECHO: do_echo(command); command_executed++; break;
|
||||||
case Q_SYSTEM: do_system(command); break;
|
case Q_SYSTEM: do_system(command); break;
|
||||||
case Q_REMOVE_FILE: do_remove_file(command); break;
|
case Q_REMOVE_FILE: do_remove_file(command); break;
|
||||||
|
case Q_MKDIR: do_mkdir(command); break;
|
||||||
|
case Q_RMDIR: do_rmdir(command); break;
|
||||||
case Q_FILE_EXIST: do_file_exist(command); break;
|
case Q_FILE_EXIST: do_file_exist(command); break;
|
||||||
case Q_WRITE_FILE: do_write_file(command); break;
|
case Q_WRITE_FILE: do_write_file(command); break;
|
||||||
case Q_APPEND_FILE: do_append_file(command); break;
|
case Q_APPEND_FILE: do_append_file(command); break;
|
||||||
case Q_DIFF_FILES: do_diff_files(command); break;
|
case Q_DIFF_FILES: do_diff_files(command); break;
|
||||||
case Q_SEND_QUIT: do_send_quit(command); break;
|
case Q_SEND_QUIT: do_send_quit(command); break;
|
||||||
|
case Q_CHANGE_USER: do_change_user(command); break;
|
||||||
case Q_CAT_FILE: do_cat_file(command); break;
|
case Q_CAT_FILE: do_cat_file(command); break;
|
||||||
case Q_COPY_FILE: do_copy_file(command); break;
|
case Q_COPY_FILE: do_copy_file(command); break;
|
||||||
case Q_CHMOD_FILE: do_chmod_file(command); break;
|
case Q_CHMOD_FILE: do_chmod_file(command); break;
|
||||||
@ -6908,7 +7043,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
if (save_file[0])
|
if (save_file[0])
|
||||||
{
|
{
|
||||||
strmake(command->require_file, save_file, sizeof(save_file));
|
strmake(command->require_file, save_file, sizeof(save_file) - 1);
|
||||||
save_file[0]= 0;
|
save_file[0]= 0;
|
||||||
}
|
}
|
||||||
run_query(cur_con, command, flags);
|
run_query(cur_con, command, flags);
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "rlconf.h"
|
#include "rlconf.h"
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined (BUFSIZ)
|
#if !defined (BUFSIZ)
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (HAVE_STDLIB_H)
|
#if defined (HAVE_STDLIB_H)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (HAVE_UNISTD_H)
|
#if defined (HAVE_UNISTD_H)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
#include "rlconf.h"
|
#include "rlconf.h"
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#define _RLDEFS_H_
|
#define _RLDEFS_H_
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include "config.h"
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "rlstdc.h"
|
#include "rlstdc.h"
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define _RLWINSIZE_H_
|
#define _RLWINSIZE_H_
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include "config.h"
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Try to find the definitions of `struct winsize' and TIOGCWINSZ */
|
/* Try to find the definitions of `struct winsize' and TIOGCWINSZ */
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
59 Temple Place, Suite 330, Boston, MA 02111 USA. */
|
59 Temple Place, Suite 330, Boston, MA 02111 USA. */
|
||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#include <config.h>
|
#include "config_readline.h"
|
||||||
#ifdef HAVE_STRING_H
|
#ifdef HAVE_STRING_H
|
||||||
# include <string.h>
|
# include <string.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h> /* Just for NULL. Yuck. */
|
#include <stdio.h> /* Just for NULL. Yuck. */
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#define _RLTCAP_H_
|
#define _RLTCAP_H_
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include "config.h"
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (HAVE_TERMCAP_H)
|
#if defined (HAVE_TERMCAP_H)
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (HAVE_UNISTD_H)
|
#if defined (HAVE_UNISTD_H)
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
|
Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (HAVE_UNISTD_H)
|
#if defined (HAVE_UNISTD_H)
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#if defined (VI_MODE)
|
#if defined (VI_MODE)
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
# include <config.h>
|
# include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#define READLINE_LIBRARY
|
#define READLINE_LIBRARY
|
||||||
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
#if defined (HAVE_CONFIG_H)
|
||||||
#include <config.h>
|
#include "config_readline.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -199,7 +199,7 @@ do
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([Charset '$cs' not available. (Available are: $CHARSETS_AVAILABLE).
|
AC_MSG_ERROR([Charset '$cs' not available. (Available are: $CHARSETS_AVAILABLE).
|
||||||
See the Installation chapter in the Reference Manual.]);
|
See the Installation chapter in the Reference Manual.])
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -380,7 +380,7 @@ case $default_charset in
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([Charset $cs not available. (Available are: $CHARSETS_AVAILABLE).
|
AC_MSG_ERROR([Charset $cs not available. (Available are: $CHARSETS_AVAILABLE).
|
||||||
See the Installation chapter in the Reference Manual.]);
|
See the Installation chapter in the Reference Manual.])
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test "$default_collation" = default; then
|
if test "$default_collation" = default; then
|
||||||
@ -405,7 +405,7 @@ else
|
|||||||
Collation $default_collation is not valid for character set $default_charset.
|
Collation $default_collation is not valid for character set $default_charset.
|
||||||
Valid collations are: $default_charset_collations.
|
Valid collations are: $default_charset_collations.
|
||||||
See the Installation chapter in the Reference Manual.
|
See the Installation chapter in the Reference Manual.
|
||||||
]);
|
])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_DEFINE_UNQUOTED([MYSQL_DEFAULT_CHARSET_NAME], ["$default_charset"],
|
AC_DEFINE_UNQUOTED([MYSQL_DEFAULT_CHARSET_NAME], ["$default_charset"],
|
||||||
|
@ -756,7 +756,7 @@ case $SYSTEM_TYPE in
|
|||||||
esac
|
esac
|
||||||
if test "$CXX_VERSION"
|
if test "$CXX_VERSION"
|
||||||
then
|
then
|
||||||
AC_MSG_CHECKING("C++ compiler version");
|
AC_MSG_CHECKING("C++ compiler version")
|
||||||
AC_MSG_RESULT("$CXX $CXX_VERSION")
|
AC_MSG_RESULT("$CXX $CXX_VERSION")
|
||||||
fi
|
fi
|
||||||
AC_SUBST(CXX_VERSION)
|
AC_SUBST(CXX_VERSION)
|
||||||
|
@ -126,11 +126,11 @@ AC_MSG_CHECKING(for OpenSSL)
|
|||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
if test ! -z "$openssl_includes"
|
if test ! -z "$openssl_includes"
|
||||||
then
|
then
|
||||||
AC_MSG_ERROR(Can't have --with-openssl-includes without --with-openssl);
|
AC_MSG_ERROR(Can't have --with-openssl-includes without --with-openssl)
|
||||||
fi
|
fi
|
||||||
if test ! -z "$openssl_libs"
|
if test ! -z "$openssl_libs"
|
||||||
then
|
then
|
||||||
AC_MSG_ERROR(Can't have --with-openssl-libs without --with-openssl);
|
AC_MSG_ERROR(Can't have --with-openssl-libs without --with-openssl)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
AC_SUBST(openssl_libs)
|
AC_SUBST(openssl_libs)
|
||||||
|
52
configure.in
52
configure.in
@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc)
|
|||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
# The Docs Makefile.am parses this line!
|
# The Docs Makefile.am parses this line!
|
||||||
# remember to also change ndb version below and update version.c in ndb
|
# remember to also change ndb version below and update version.c in ndb
|
||||||
AM_INIT_AUTOMAKE(mysql, 5.0.55)
|
AM_INIT_AUTOMAKE(mysql, 5.0.58)
|
||||||
AM_CONFIG_HEADER([include/config.h:config.h.in])
|
AM_CONFIG_HEADER([include/config.h:config.h.in])
|
||||||
|
|
||||||
PROTOCOL_VERSION=10
|
PROTOCOL_VERSION=10
|
||||||
@ -23,14 +23,24 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0
|
|||||||
# ndb version
|
# ndb version
|
||||||
NDB_VERSION_MAJOR=5
|
NDB_VERSION_MAJOR=5
|
||||||
NDB_VERSION_MINOR=0
|
NDB_VERSION_MINOR=0
|
||||||
NDB_VERSION_BUILD=55
|
NDB_VERSION_BUILD=58
|
||||||
NDB_VERSION_STATUS=""
|
NDB_VERSION_STATUS=""
|
||||||
|
|
||||||
# Set all version vars based on $VERSION. How do we do this more elegant ?
|
# Set all version vars based on $VERSION. How do we do this more elegant ?
|
||||||
# Remember that regexps needs to quote [ and ] since this is run through m4
|
# Remember that regexps needs to quote [ and ] since this is run through m4
|
||||||
MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|[[a-z]]*-.*$||"`
|
# We take some made up examples
|
||||||
MYSQL_BASE_VERSION=`echo $MYSQL_NO_DASH_VERSION | sed -e "s|\.[[^.]]*$||"`
|
#
|
||||||
MYSQL_VERSION_ID=`echo $MYSQL_NO_DASH_VERSION | sed -e 's|[[^0-9.]].*$||;s|$|.|' | sed -e 's/[[^0-9.]]//g; s/\./ /g; s/ \([[0-9]]\) / 0\\1 /g; s/ //g'`
|
# VERSION 5.1.40sp1-alpha 5.0.34a
|
||||||
|
# MYSQL_NO_DASH_VERSION 5.1.40sp1 5.0.34a
|
||||||
|
# MYSQL_NUMERIC_VERSION 5.1.40 5.0.34
|
||||||
|
# MYSQL_BASE_VERSION 5.1 5.0
|
||||||
|
# MYSQL_VERSION_ID 50140 50034
|
||||||
|
#
|
||||||
|
MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|-.*$||"`
|
||||||
|
MYSQL_NUMERIC_VERSION=`echo $MYSQL_NO_DASH_VERSION | sed -e "s|[[a-z]][[a-z0-9]]*$||"`
|
||||||
|
MYSQL_BASE_VERSION=`echo $MYSQL_NUMERIC_VERSION | sed -e "s|\.[[^.]]*$||"`
|
||||||
|
MYSQL_VERSION_ID=`echo $MYSQL_NUMERIC_VERSION | \
|
||||||
|
awk -F. '{printf "%d%0.2d%0.2d", $1, $2, $3}'`
|
||||||
|
|
||||||
# Add previous major version for debian package upgrade path
|
# Add previous major version for debian package upgrade path
|
||||||
MYSQL_PREVIOUS_BASE_VERSION=4.1
|
MYSQL_PREVIOUS_BASE_VERSION=4.1
|
||||||
@ -216,7 +226,7 @@ CC_VERSION=`$CC --version | sed 1q`
|
|||||||
esac
|
esac
|
||||||
if test $? -eq "0"
|
if test $? -eq "0"
|
||||||
then
|
then
|
||||||
AC_MSG_CHECKING("C Compiler version");
|
AC_MSG_CHECKING("C Compiler version")
|
||||||
AC_MSG_RESULT("$CC $CC_VERSION")
|
AC_MSG_RESULT("$CC $CC_VERSION")
|
||||||
else
|
else
|
||||||
CC_VERSION=""
|
CC_VERSION=""
|
||||||
@ -852,6 +862,7 @@ AC_CHECK_FUNC(p2open, , AC_CHECK_LIB(gen, p2open))
|
|||||||
AC_CHECK_FUNC(bind, , AC_CHECK_LIB(bind, bind))
|
AC_CHECK_FUNC(bind, , AC_CHECK_LIB(bind, bind))
|
||||||
# Check if crypt() exists in libc or libcrypt, sets LIBS if needed
|
# Check if crypt() exists in libc or libcrypt, sets LIBS if needed
|
||||||
AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT, 1, [crypt]))
|
AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT, 1, [crypt]))
|
||||||
|
# See if we need a library for address lookup.
|
||||||
AC_SEARCH_LIBS(inet_aton, [socket nsl resolv])
|
AC_SEARCH_LIBS(inet_aton, [socket nsl resolv])
|
||||||
|
|
||||||
# For the sched_yield() function on Solaris
|
# For the sched_yield() function on Solaris
|
||||||
@ -1400,7 +1411,7 @@ See the Installation chapter in the Reference Manual for more information.])
|
|||||||
AC_MSG_RESULT("no need to check headers")
|
AC_MSG_RESULT("no need to check headers")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING("for pthread_create in -lpthread");
|
AC_MSG_CHECKING("for pthread_create in -lpthread")
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
LIBS="$LIBS -lpthread"
|
LIBS="$LIBS -lpthread"
|
||||||
AC_TRY_LINK( [#include <pthread.h>],
|
AC_TRY_LINK( [#include <pthread.h>],
|
||||||
@ -1460,7 +1471,7 @@ then
|
|||||||
then
|
then
|
||||||
AC_MSG_RESULT("yes")
|
AC_MSG_RESULT("yes")
|
||||||
else
|
else
|
||||||
AC_MSG_ERROR([On SCO UNIX MySQL must be compiled with gcc. See the Installation chapter in the Reference Manual.]);
|
AC_MSG_ERROR([On SCO UNIX MySQL must be compiled with gcc. See the Installation chapter in the Reference Manual.])
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT("yes")
|
AC_MSG_RESULT("yes")
|
||||||
elif test -f /usr/local/lib/libpthread.a -o -f /usr/local/lib/libpthread.so
|
elif test -f /usr/local/lib/libpthread.a -o -f /usr/local/lib/libpthread.so
|
||||||
@ -1476,7 +1487,7 @@ then
|
|||||||
then
|
then
|
||||||
AC_MSG_RESULT("yes")
|
AC_MSG_RESULT("yes")
|
||||||
else
|
else
|
||||||
AC_MSG_ERROR([On SCO UNIX MySQL must be compiled with gcc. See the Installation chapter in the Reference Manual.]);
|
AC_MSG_ERROR([On SCO UNIX MySQL must be compiled with gcc. See the Installation chapter in the Reference Manual.])
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT("yes")
|
AC_MSG_RESULT("yes")
|
||||||
# Hack for SCO UnixWare 7.1.x
|
# Hack for SCO UnixWare 7.1.x
|
||||||
@ -1620,7 +1631,7 @@ else
|
|||||||
AC_MSG_RESULT("$with_posix_threads")
|
AC_MSG_RESULT("$with_posix_threads")
|
||||||
if test "$with_posix_threads" = "no"
|
if test "$with_posix_threads" = "no"
|
||||||
then
|
then
|
||||||
AC_MSG_CHECKING("for pthread_create in -lpthread");
|
AC_MSG_CHECKING("for pthread_create in -lpthread")
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
LIBS="$LIBS -lpthread"
|
LIBS="$LIBS -lpthread"
|
||||||
AC_TRY_LINK(
|
AC_TRY_LINK(
|
||||||
@ -1631,7 +1642,7 @@ else
|
|||||||
if test "$with_posix_threads" = "no"
|
if test "$with_posix_threads" = "no"
|
||||||
then
|
then
|
||||||
LIBS=" $ac_save_LIBS -lpthreads"
|
LIBS=" $ac_save_LIBS -lpthreads"
|
||||||
AC_MSG_CHECKING("for pthread_create in -lpthreads");
|
AC_MSG_CHECKING("for pthread_create in -lpthreads")
|
||||||
AC_TRY_LINK(
|
AC_TRY_LINK(
|
||||||
[#include <pthread.h>],
|
[#include <pthread.h>],
|
||||||
[ pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ],
|
[ pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ],
|
||||||
@ -1641,7 +1652,7 @@ else
|
|||||||
then
|
then
|
||||||
# This is for FreeBSD
|
# This is for FreeBSD
|
||||||
LIBS="$ac_save_LIBS -pthread"
|
LIBS="$ac_save_LIBS -pthread"
|
||||||
AC_MSG_CHECKING("for pthread_create in -pthread");
|
AC_MSG_CHECKING("for pthread_create in -pthread")
|
||||||
AC_TRY_LINK(
|
AC_TRY_LINK(
|
||||||
[#include <pthread.h>],
|
[#include <pthread.h>],
|
||||||
[ pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ],
|
[ pthread_create((pthread_t*) 0,(pthread_attr_t*) 0, 0, 0); ],
|
||||||
@ -1941,7 +1952,7 @@ if test "$ac_cv_conv_longlong_to_float" != "yes"
|
|||||||
then
|
then
|
||||||
AC_MSG_ERROR([Your compiler cannot convert a longlong value to a float!
|
AC_MSG_ERROR([Your compiler cannot convert a longlong value to a float!
|
||||||
If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try
|
If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try
|
||||||
again]);
|
again])
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
|
AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
|
||||||
@ -2102,7 +2113,7 @@ CFLAGS="$ORG_CFLAGS"
|
|||||||
AC_CHECK_FUNC(fseeko,
|
AC_CHECK_FUNC(fseeko,
|
||||||
[if test "$large_file_support" = no -a "$TARGET_LINUX" = "true";
|
[if test "$large_file_support" = no -a "$TARGET_LINUX" = "true";
|
||||||
then
|
then
|
||||||
AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!");
|
AC_MSG_ERROR("Found fseeko symbol but large_file_support is not enabled!")
|
||||||
fi]
|
fi]
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -2466,10 +2477,15 @@ AC_ARG_WITH(docs,
|
|||||||
if test "$with_docs" = "yes"
|
if test "$with_docs" = "yes"
|
||||||
then
|
then
|
||||||
docs_dirs="Docs"
|
docs_dirs="Docs"
|
||||||
|
if test -f "$srcdir/Docs/manual.chm" ; then
|
||||||
|
extra_docs="manual.chm"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
docs_dirs=""
|
docs_dirs=""
|
||||||
|
extra_docs=""
|
||||||
fi
|
fi
|
||||||
AC_SUBST(docs_dirs)
|
AC_SUBST(docs_dirs)
|
||||||
|
AC_SUBST(extra_docs)
|
||||||
|
|
||||||
# Shall we build the man pages?
|
# Shall we build the man pages?
|
||||||
AC_ARG_WITH(man,
|
AC_ARG_WITH(man,
|
||||||
@ -2673,12 +2689,14 @@ thread_dirs=
|
|||||||
|
|
||||||
dnl This probably should be cleaned up more - for now the threaded
|
dnl This probably should be cleaned up more - for now the threaded
|
||||||
dnl client is just using plain-old libs.
|
dnl client is just using plain-old libs.
|
||||||
sql_client_dirs="strings regex mysys libmysql client"
|
sql_client_dirs=
|
||||||
linked_client_targets="linked_libmysql_sources"
|
linked_client_targets="linked_libmysql_sources"
|
||||||
|
|
||||||
if test "$THREAD_SAFE_CLIENT" != "no"
|
if test "$THREAD_SAFE_CLIENT" = "no"
|
||||||
then
|
then
|
||||||
sql_client_dirs="libmysql_r $sql_client_dirs"
|
sql_client_dirs="strings regex mysys dbug extra libmysql client"
|
||||||
|
else
|
||||||
|
sql_client_dirs="strings regex mysys dbug extra libmysql libmysql_r client"
|
||||||
linked_client_targets="$linked_client_targets linked_libmysql_r_sources"
|
linked_client_targets="$linked_client_targets linked_libmysql_r_sources"
|
||||||
AC_CONFIG_FILES(libmysql_r/Makefile)
|
AC_CONFIG_FILES(libmysql_r/Makefile)
|
||||||
AC_DEFINE([THREAD_SAFE_CLIENT], [1], [Should be client be thread safe])
|
AC_DEFINE([THREAD_SAFE_CLIENT], [1], [Should be client be thread safe])
|
||||||
|
@ -44,6 +44,9 @@ TARGET_LINK_LIBRARIES(my_print_defaults strings mysys debug dbug taocrypt wsock3
|
|||||||
ADD_EXECUTABLE(perror perror.c)
|
ADD_EXECUTABLE(perror perror.c)
|
||||||
TARGET_LINK_LIBRARIES(perror strings mysys debug dbug wsock32)
|
TARGET_LINK_LIBRARIES(perror strings mysys debug dbug wsock32)
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(resolveip resolveip.c)
|
||||||
|
TARGET_LINK_LIBRARIES(resolveip strings mysys debug dbug wsock32)
|
||||||
|
|
||||||
ADD_EXECUTABLE(replace replace.c)
|
ADD_EXECUTABLE(replace replace.c)
|
||||||
TARGET_LINK_LIBRARIES(replace strings mysys debug dbug wsock32)
|
TARGET_LINK_LIBRARIES(replace strings mysys debug dbug wsock32)
|
||||||
|
|
||||||
|
@ -21,13 +21,15 @@
|
|||||||
#include <m_ctype.h>
|
#include <m_ctype.h>
|
||||||
#include <my_sys.h>
|
#include <my_sys.h>
|
||||||
#include <m_string.h>
|
#include <m_string.h>
|
||||||
#include <sys/types.h>
|
#ifndef WIN32
|
||||||
#include <sys/socket.h>
|
# include <sys/types.h>
|
||||||
#ifndef HAVE_BROKEN_NETINET_INCLUDES
|
# include <sys/socket.h>
|
||||||
#include <netinet/in.h>
|
# ifndef HAVE_BROKEN_NETINET_INCLUDES
|
||||||
|
# include <netinet/in.h>
|
||||||
|
# endif
|
||||||
|
# include <arpa/inet.h>
|
||||||
|
# include <netdb.h>
|
||||||
#endif
|
#endif
|
||||||
#include <arpa/inet.h>
|
|
||||||
#include <netdb.h>
|
|
||||||
#include <my_net.h>
|
#include <my_net.h>
|
||||||
#include <my_getopt.h>
|
#include <my_getopt.h>
|
||||||
|
|
||||||
@ -116,11 +118,21 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
while (argc--)
|
while (argc--)
|
||||||
{
|
{
|
||||||
|
#ifndef WIN32
|
||||||
|
struct in_addr addr;
|
||||||
|
#endif
|
||||||
ip = *argv++;
|
ip = *argv++;
|
||||||
|
|
||||||
if (my_isdigit(&my_charset_latin1,ip[0]))
|
/* Not compatible with IPv6! Probably should use getnameinfo(). */
|
||||||
|
#ifdef WIN32
|
||||||
|
taddr = inet_addr(ip);
|
||||||
|
if(taddr != INADDR_NONE)
|
||||||
{
|
{
|
||||||
taddr = inet_addr(ip);
|
#else
|
||||||
|
if (inet_aton(ip, &addr) != 0)
|
||||||
|
{
|
||||||
|
taddr= addr.s_addr;
|
||||||
|
#endif
|
||||||
if (taddr == htonl(INADDR_BROADCAST))
|
if (taddr == htonl(INADDR_BROADCAST))
|
||||||
{
|
{
|
||||||
puts("Broadcast");
|
puts("Broadcast");
|
||||||
|
@ -219,6 +219,7 @@ double my_strtod(const char *str, char **end, int *error);
|
|||||||
double my_atof(const char *nptr);
|
double my_atof(const char *nptr);
|
||||||
|
|
||||||
extern char *llstr(longlong value,char *buff);
|
extern char *llstr(longlong value,char *buff);
|
||||||
|
extern char *ullstr(longlong value,char *buff);
|
||||||
#ifndef HAVE_STRTOUL
|
#ifndef HAVE_STRTOUL
|
||||||
extern long strtol(const char *str, char **ptr, int base);
|
extern long strtol(const char *str, char **ptr, int base);
|
||||||
extern ulong strtoul(const char *str, char **ptr, int base);
|
extern ulong strtoul(const char *str, char **ptr, int base);
|
||||||
|
@ -67,7 +67,8 @@ extern void my_print_variables(const struct my_option *options);
|
|||||||
extern void my_getopt_register_get_addr(gptr* (*func_addr)(const char *, uint,
|
extern void my_getopt_register_get_addr(gptr* (*func_addr)(const char *, uint,
|
||||||
const struct my_option *));
|
const struct my_option *));
|
||||||
|
|
||||||
ulonglong getopt_ull_limit_value(ulonglong num, const struct my_option *optp);
|
ulonglong getopt_ull_limit_value(ulonglong num, const struct my_option *optp,
|
||||||
|
bool *fixed);
|
||||||
my_bool getopt_compare_strings(const char *s, const char *t, uint length);
|
my_bool getopt_compare_strings(const char *s, const char *t, uint length);
|
||||||
|
|
||||||
C_MODE_END
|
C_MODE_END
|
||||||
|
@ -109,36 +109,31 @@
|
|||||||
The macros below are used to allow build of Universal/fat binaries of
|
The macros below are used to allow build of Universal/fat binaries of
|
||||||
MySQL and MySQL applications under darwin.
|
MySQL and MySQL applications under darwin.
|
||||||
*/
|
*/
|
||||||
#ifdef TARGET_FAT_BINARY
|
#if defined(__APPLE__) && defined(__MACH__)
|
||||||
# undef SIZEOF_CHARP
|
# undef SIZEOF_CHARP
|
||||||
# undef SIZEOF_INT
|
# undef SIZEOF_SHORT
|
||||||
# undef SIZEOF_LONG
|
# undef SIZEOF_INT
|
||||||
# undef SIZEOF_LONG_LONG
|
# undef SIZEOF_LONG
|
||||||
# undef SIZEOF_OFF_T
|
# undef SIZEOF_LONG_LONG
|
||||||
# undef SIZEOF_SHORT
|
# undef SIZEOF_OFF_T
|
||||||
|
# undef WORDS_BIGENDIAN
|
||||||
#if defined(__i386__)
|
# define SIZEOF_SHORT 2
|
||||||
# undef WORDS_BIGENDIAN
|
# define SIZEOF_INT 4
|
||||||
# define SIZEOF_CHARP 4
|
# define SIZEOF_LONG_LONG 8
|
||||||
# define SIZEOF_INT 4
|
# define SIZEOF_OFF_T 8
|
||||||
# define SIZEOF_LONG 4
|
# if defined(__i386__) || defined(__ppc__)
|
||||||
# define SIZEOF_LONG_LONG 8
|
# define SIZEOF_CHARP 4
|
||||||
# define SIZEOF_OFF_T 8
|
# define SIZEOF_LONG 4
|
||||||
# define SIZEOF_SHORT 2
|
# elif defined(__x86_64__) || defined(__ppc64__)
|
||||||
|
# define SIZEOF_CHARP 8
|
||||||
#elif defined(__ppc__)
|
# define SIZEOF_LONG 8
|
||||||
# define WORDS_BIGENDIAN
|
# else
|
||||||
# define SIZEOF_CHARP 4
|
# error Building FAT binary for an unknown architecture.
|
||||||
# define SIZEOF_INT 4
|
# endif
|
||||||
# define SIZEOF_LONG 4
|
# if defined(__ppc__) || defined(__ppc64__)
|
||||||
# define SIZEOF_LONG_LONG 8
|
# define WORDS_BIGENDIAN
|
||||||
# define SIZEOF_OFF_T 8
|
# endif
|
||||||
# define SIZEOF_SHORT 2
|
#endif /* defined(__APPLE__) && defined(__MACH__) */
|
||||||
|
|
||||||
#else
|
|
||||||
# error Building FAT binary for an unknown architecture.
|
|
||||||
#endif
|
|
||||||
#endif /* TARGET_FAT_BINARY */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -531,6 +531,12 @@ typedef int (*qsort2_cmp)(const void *, const void *, const void *);
|
|||||||
#define my_b_tell(info) ((info)->pos_in_file + \
|
#define my_b_tell(info) ((info)->pos_in_file + \
|
||||||
(uint) (*(info)->current_pos - (info)->request_pos))
|
(uint) (*(info)->current_pos - (info)->request_pos))
|
||||||
|
|
||||||
|
#define my_b_get_buffer_start(info) (info)->request_pos
|
||||||
|
#define my_b_get_bytes_in_buffer(info) (char*) (info)->read_end - \
|
||||||
|
(char*) my_b_get_buffer_start(info)
|
||||||
|
#define my_b_get_pos_in_file(info) (info)->pos_in_file
|
||||||
|
|
||||||
|
|
||||||
/* tell write offset in the SEQ_APPEND cache */
|
/* tell write offset in the SEQ_APPEND cache */
|
||||||
my_off_t my_b_append_tell(IO_CACHE* info);
|
my_off_t my_b_append_tell(IO_CACHE* info);
|
||||||
my_off_t my_b_safe_tell(IO_CACHE* info); /* picks the correct tell() */
|
my_off_t my_b_safe_tell(IO_CACHE* info); /* picks the correct tell() */
|
||||||
|
@ -387,12 +387,16 @@ typedef struct st_udf_args
|
|||||||
|
|
||||||
typedef struct st_udf_init
|
typedef struct st_udf_init
|
||||||
{
|
{
|
||||||
my_bool maybe_null; /* 1 if function can return NULL */
|
my_bool maybe_null; /* 1 if function can return NULL */
|
||||||
unsigned int decimals; /* for real functions */
|
unsigned int decimals; /* for real functions */
|
||||||
unsigned long max_length; /* For string functions */
|
unsigned long max_length; /* For string functions */
|
||||||
char *ptr; /* free pointer for function data */
|
char *ptr; /* free pointer for function data */
|
||||||
my_bool const_item; /* 0 if result is independent of arguments */
|
my_bool const_item; /* 1 if function always returns the same value */
|
||||||
} UDF_INIT;
|
} UDF_INIT;
|
||||||
|
/*
|
||||||
|
TODO: add a notion for determinism of the UDF.
|
||||||
|
See Item_udf_func::update_used_tables ()
|
||||||
|
*/
|
||||||
|
|
||||||
/* Constants when using compression */
|
/* Constants when using compression */
|
||||||
#define NET_HEADER_SIZE 4 /* standard header size */
|
#define NET_HEADER_SIZE 4 /* standard header size */
|
||||||
|
@ -125,9 +125,6 @@ TARGET_LINK_LIBRARIES(mysqlclient)
|
|||||||
ADD_DEPENDENCIES(mysqlclient_notls GenError)
|
ADD_DEPENDENCIES(mysqlclient_notls GenError)
|
||||||
TARGET_LINK_LIBRARIES(mysqlclient_notls)
|
TARGET_LINK_LIBRARIES(mysqlclient_notls)
|
||||||
|
|
||||||
ADD_EXECUTABLE(myTest mytest.c)
|
|
||||||
TARGET_LINK_LIBRARIES(myTest libmysql)
|
|
||||||
|
|
||||||
IF(EMBED_MANIFESTS)
|
IF(EMBED_MANIFESTS)
|
||||||
MYSQL_EMBED_MANIFEST("myTest" "asInvoker")
|
MYSQL_EMBED_MANIFEST("myTest" "asInvoker")
|
||||||
ENDIF(EMBED_MANIFESTS)
|
ENDIF(EMBED_MANIFESTS)
|
||||||
|
@ -31,7 +31,7 @@ include $(srcdir)/Makefile.shared
|
|||||||
libmysqlclient_la_SOURCES = $(target_sources)
|
libmysqlclient_la_SOURCES = $(target_sources)
|
||||||
libmysqlclient_la_LIBADD = $(target_libadd) $(yassl_las)
|
libmysqlclient_la_LIBADD = $(target_libadd) $(yassl_las)
|
||||||
libmysqlclient_la_LDFLAGS = $(target_ldflags)
|
libmysqlclient_la_LDFLAGS = $(target_ldflags)
|
||||||
EXTRA_DIST = Makefile.shared libmysql.def dll.c mytest.c CMakeLists.txt
|
EXTRA_DIST = Makefile.shared libmysql.def dll.c CMakeLists.txt
|
||||||
noinst_HEADERS = client_settings.h
|
noinst_HEADERS = client_settings.h
|
||||||
|
|
||||||
# This is called from the toplevel makefile
|
# This is called from the toplevel makefile
|
||||||
|
@ -1,175 +0,0 @@
|
|||||||
/*C4*/
|
|
||||||
/****************************************************************/
|
|
||||||
/* Author: Jethro Wright, III TS : 3/ 4/1998 9:15 */
|
|
||||||
/* Date: 02/18/1998 */
|
|
||||||
/* mytest.c : do some testing of the libmySQL.DLL.... */
|
|
||||||
/* */
|
|
||||||
/* History: */
|
|
||||||
/* 02/18/1998 jw3 also sprach zarathustra.... */
|
|
||||||
/****************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#include <windows.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include <mysql.h>
|
|
||||||
|
|
||||||
#define DEFALT_SQL_STMT "SELECT * FROM db"
|
|
||||||
#ifndef offsetof
|
|
||||||
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/********************************************************
|
|
||||||
**
|
|
||||||
** main :-
|
|
||||||
**
|
|
||||||
********************************************************/
|
|
||||||
|
|
||||||
int
|
|
||||||
main( int argc, char * argv[] )
|
|
||||||
{
|
|
||||||
|
|
||||||
char szSQL[ 200 ], aszFlds[ 25 ][ 25 ], szDB[ 50 ] ;
|
|
||||||
const char *pszT;
|
|
||||||
int i, j, k, l, x ;
|
|
||||||
MYSQL * myData ;
|
|
||||||
MYSQL_RES * res ;
|
|
||||||
MYSQL_FIELD * fd ;
|
|
||||||
MYSQL_ROW row ;
|
|
||||||
|
|
||||||
//....just curious....
|
|
||||||
printf( "sizeof( MYSQL ) == %d\n", (int) sizeof( MYSQL ) ) ;
|
|
||||||
if ( argc == 2 )
|
|
||||||
{
|
|
||||||
strcpy( szDB, argv[ 1 ] ) ;
|
|
||||||
strcpy( szSQL, DEFALT_SQL_STMT ) ;
|
|
||||||
if (!strcmp(szDB,"--debug"))
|
|
||||||
{
|
|
||||||
strcpy( szDB, "mysql" ) ;
|
|
||||||
printf("Some mysql struct information (size and offset):\n");
|
|
||||||
printf("net:\t%3d %3d\n",(int) sizeof(myData->net),
|
|
||||||
(int) offsetof(MYSQL,net));
|
|
||||||
printf("host:\t%3d %3d\n",(int) sizeof(myData->host),
|
|
||||||
(int) offsetof(MYSQL,host));
|
|
||||||
printf("port:\t%3d %3d\n", (int) sizeof(myData->port),
|
|
||||||
(int) offsetof(MYSQL,port));
|
|
||||||
printf("protocol_version:\t%3d %3d\n",
|
|
||||||
(int) sizeof(myData->protocol_version),
|
|
||||||
(int) offsetof(MYSQL,protocol_version));
|
|
||||||
printf("thread_id:\t%3d %3d\n",(int) sizeof(myData->thread_id),
|
|
||||||
(int) offsetof(MYSQL,thread_id));
|
|
||||||
printf("affected_rows:\t%3d %3d\n",(int) sizeof(myData->affected_rows),
|
|
||||||
(int) offsetof(MYSQL,affected_rows));
|
|
||||||
printf("packet_length:\t%3d %3d\n",(int) sizeof(myData->packet_length),
|
|
||||||
(int) offsetof(MYSQL,packet_length));
|
|
||||||
printf("status:\t%3d %3d\n",(int) sizeof(myData->status),
|
|
||||||
(int) offsetof(MYSQL,status));
|
|
||||||
printf("fields:\t%3d %3d\n",(int) sizeof(myData->fields),
|
|
||||||
(int) offsetof(MYSQL,fields));
|
|
||||||
printf("field_alloc:\t%3d %3d\n",(int) sizeof(myData->field_alloc),
|
|
||||||
(int) offsetof(MYSQL,field_alloc));
|
|
||||||
printf("free_me:\t%3d %3d\n",(int) sizeof(myData->free_me),
|
|
||||||
(int) offsetof(MYSQL,free_me));
|
|
||||||
printf("options:\t%3d %3d\n",(int) sizeof(myData->options),
|
|
||||||
(int) offsetof(MYSQL,options));
|
|
||||||
puts("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( argc > 2 ) {
|
|
||||||
strcpy( szDB, argv[ 1 ] ) ;
|
|
||||||
strcpy( szSQL, argv[ 2 ] ) ;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
strcpy( szDB, "mysql" ) ;
|
|
||||||
strcpy( szSQL, DEFALT_SQL_STMT ) ;
|
|
||||||
}
|
|
||||||
//....
|
|
||||||
|
|
||||||
if ( (myData = mysql_init((MYSQL*) 0)) &&
|
|
||||||
mysql_real_connect( myData, NULL, NULL, NULL, NULL, MYSQL_PORT,
|
|
||||||
NULL, 0 ) )
|
|
||||||
{
|
|
||||||
myData->reconnect= 1;
|
|
||||||
if ( mysql_select_db( myData, szDB ) < 0 ) {
|
|
||||||
printf( "Can't select the %s database !\n", szDB ) ;
|
|
||||||
mysql_close( myData ) ;
|
|
||||||
return 2 ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
printf( "Can't connect to the mysql server on port %d !\n",
|
|
||||||
MYSQL_PORT ) ;
|
|
||||||
mysql_close( myData ) ;
|
|
||||||
return 1 ;
|
|
||||||
}
|
|
||||||
//....
|
|
||||||
if ( ! mysql_query( myData, szSQL ) ) {
|
|
||||||
res = mysql_store_result( myData ) ;
|
|
||||||
i = (int) mysql_num_rows( res ) ; l = 1 ;
|
|
||||||
printf( "Query: %s\nNumber of records found: %ld\n", szSQL, i ) ;
|
|
||||||
//....we can get the field-specific characteristics here....
|
|
||||||
for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
|
|
||||||
strcpy( aszFlds[ x ], fd->name ) ;
|
|
||||||
//....
|
|
||||||
while ( row = mysql_fetch_row( res ) ) {
|
|
||||||
j = mysql_num_fields( res ) ;
|
|
||||||
printf( "Record #%ld:-\n", l++ ) ;
|
|
||||||
for ( k = 0 ; k < j ; k++ )
|
|
||||||
printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
|
|
||||||
(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
|
|
||||||
puts( "==============================\n" ) ;
|
|
||||||
}
|
|
||||||
mysql_free_result( res ) ;
|
|
||||||
}
|
|
||||||
else printf( "Couldn't execute %s on the server !\n", szSQL ) ;
|
|
||||||
//....
|
|
||||||
puts( "==== Diagnostic info ====" ) ;
|
|
||||||
pszT = mysql_get_client_info() ;
|
|
||||||
printf( "Client info: %s\n", pszT ) ;
|
|
||||||
//....
|
|
||||||
pszT = mysql_get_host_info( myData ) ;
|
|
||||||
printf( "Host info: %s\n", pszT ) ;
|
|
||||||
//....
|
|
||||||
pszT = mysql_get_server_info( myData ) ;
|
|
||||||
printf( "Server info: %s\n", pszT ) ;
|
|
||||||
//....
|
|
||||||
res = mysql_list_processes( myData ) ; l = 1 ;
|
|
||||||
if (res)
|
|
||||||
{
|
|
||||||
for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
|
|
||||||
strcpy( aszFlds[ x ], fd->name ) ;
|
|
||||||
while ( row = mysql_fetch_row( res ) ) {
|
|
||||||
j = mysql_num_fields( res ) ;
|
|
||||||
printf( "Process #%ld:-\n", l++ ) ;
|
|
||||||
for ( k = 0 ; k < j ; k++ )
|
|
||||||
printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
|
|
||||||
(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
|
|
||||||
puts( "==============================\n" ) ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("Got error %s when retreiving processlist\n",mysql_error(myData));
|
|
||||||
}
|
|
||||||
//....
|
|
||||||
res = mysql_list_tables( myData, "%" ) ; l = 1 ;
|
|
||||||
for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
|
|
||||||
strcpy( aszFlds[ x ], fd->name ) ;
|
|
||||||
while ( row = mysql_fetch_row( res ) ) {
|
|
||||||
j = mysql_num_fields( res ) ;
|
|
||||||
printf( "Table #%ld:-\n", l++ ) ;
|
|
||||||
for ( k = 0 ; k < j ; k++ )
|
|
||||||
printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
|
|
||||||
(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
|
|
||||||
puts( "==============================\n" ) ;
|
|
||||||
}
|
|
||||||
//....
|
|
||||||
pszT = mysql_stat( myData ) ;
|
|
||||||
puts( pszT ) ;
|
|
||||||
//....
|
|
||||||
mysql_close( myData ) ;
|
|
||||||
return 0 ;
|
|
||||||
|
|
||||||
}
|
|
@ -73,6 +73,7 @@ void embedded_get_error(MYSQL *mysql, MYSQL_DATA *data)
|
|||||||
net->last_errno= ei->last_errno;
|
net->last_errno= ei->last_errno;
|
||||||
strmake(net->last_error, ei->info, sizeof(net->last_error));
|
strmake(net->last_error, ei->info, sizeof(net->last_error));
|
||||||
memcpy(net->sqlstate, ei->sqlstate, sizeof(net->sqlstate));
|
memcpy(net->sqlstate, ei->sqlstate, sizeof(net->sqlstate));
|
||||||
|
mysql->server_status= ei->server_status;
|
||||||
my_free((gptr) data, MYF(0));
|
my_free((gptr) data, MYF(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1027,6 +1028,7 @@ void net_send_error_packet(THD *thd, uint sql_errno, const char *err)
|
|||||||
ei->last_errno= sql_errno;
|
ei->last_errno= sql_errno;
|
||||||
strmake(ei->info, err, sizeof(ei->info)-1);
|
strmake(ei->info, err, sizeof(ei->info)-1);
|
||||||
strmov(ei->sqlstate, mysql_errno_to_sqlstate(sql_errno));
|
strmov(ei->sqlstate, mysql_errno_to_sqlstate(sql_errno));
|
||||||
|
ei->server_status= thd->server_status;
|
||||||
thd->cur_data= 0;
|
thd->cur_data= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -454,7 +454,7 @@ int chk_key(MI_CHECK *param, register MI_INFO *info)
|
|||||||
|
|
||||||
if ((!(param->testflag & T_SILENT)))
|
if ((!(param->testflag & T_SILENT)))
|
||||||
printf ("- check data record references index: %d\n",key+1);
|
printf ("- check data record references index: %d\n",key+1);
|
||||||
if (keyinfo->flag & HA_FULLTEXT)
|
if (keyinfo->flag & (HA_FULLTEXT | HA_SPATIAL))
|
||||||
full_text_keys++;
|
full_text_keys++;
|
||||||
if (share->state.key_root[key] == HA_OFFSET_ERROR &&
|
if (share->state.key_root[key] == HA_OFFSET_ERROR &&
|
||||||
(info->state->records == 0 || keyinfo->flag & HA_FULLTEXT))
|
(info->state->records == 0 || keyinfo->flag & HA_FULLTEXT))
|
||||||
|
@ -53,11 +53,13 @@ DROP TABLE t1;
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Bug #31070: crash during conversion of charsets
|
# Bug #31070: crash during conversion of charsets
|
||||||
|
# Bug #32726: crash with cast in order by clause and cp932 charset
|
||||||
#
|
#
|
||||||
create table t1 (a set('a') not null);
|
create table t1 (a set('a') not null);
|
||||||
insert into t1 values (),();
|
insert into t1 values (),();
|
||||||
select cast(a as char(1)) from t1;
|
select cast(a as char(1)) from t1;
|
||||||
select a sounds like a from t1;
|
select a sounds like a from t1;
|
||||||
|
select 1 from t1 order by cast(a as char(1));
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
DROP DATABASE d1;
|
DROP DATABASE d1;
|
||||||
|
4
mysql-test/include/have_local_infile.inc
Normal file
4
mysql-test/include/have_local_infile.inc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
--require r/have_local_infile.require
|
||||||
|
disable_query_log;
|
||||||
|
show variables like 'local_infile';
|
||||||
|
enable_query_log;
|
26
mysql-test/include/ndb_wait_connected.inc
Normal file
26
mysql-test/include/ndb_wait_connected.inc
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Check that mysqld has reconnected to ndbd after
|
||||||
|
# restart of ndbd
|
||||||
|
#
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
let $mysql_errno= 1;
|
||||||
|
let $counter= 600;
|
||||||
|
while ($mysql_errno)
|
||||||
|
{
|
||||||
|
--error 0,157
|
||||||
|
CREATE TABLE ndb_wait_connected (a int primary key);
|
||||||
|
if ($mysql_errno)
|
||||||
|
{
|
||||||
|
if (!$counter)
|
||||||
|
{
|
||||||
|
die Failed waiting for mysqld to reconnect to ndbd;
|
||||||
|
}
|
||||||
|
dec $counter;
|
||||||
|
--sleep 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DROP TABLE ndb_wait_connected;
|
||||||
|
--enable_query_log
|
||||||
|
--enable_result_log
|
||||||
|
|
||||||
|
|
@ -434,8 +434,8 @@ execute stmt1 ;
|
|||||||
let $1= 3 ;
|
let $1= 3 ;
|
||||||
while ($1)
|
while ($1)
|
||||||
{
|
{
|
||||||
prepare stmt1 from ' SELECT a as ccc from t1 where a+1=
|
prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
|
||||||
(SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
|
(SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
|
||||||
execute stmt1 ;
|
execute stmt1 ;
|
||||||
deallocate prepare stmt1 ;
|
deallocate prepare stmt1 ;
|
||||||
dec $1 ;
|
dec $1 ;
|
||||||
|
5
mysql-test/include/show_binlog_events2.inc
Normal file
5
mysql-test/include/show_binlog_events2.inc
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
--let $binlog_start=98
|
||||||
|
--replace_result $binlog_start <binlog_start>
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
|
||||||
|
--eval show binlog events from $binlog_start
|
@ -481,14 +481,9 @@ sub command_line_setup () {
|
|||||||
$opt_suite= "main"; # Special default suite
|
$opt_suite= "main"; # Special default suite
|
||||||
my $opt_comment;
|
my $opt_comment;
|
||||||
|
|
||||||
$opt_master_myport= 9306;
|
# Magic number -69.4 results in traditional test ports starting from 9306.
|
||||||
$opt_slave_myport= 9308;
|
set_mtr_build_thread_ports(-69.4);
|
||||||
$opt_ndbcluster_port= 9310;
|
|
||||||
$opt_ndbcluster_port_slave= 9311;
|
|
||||||
$im_port= 9312;
|
|
||||||
$im_mysqld1_port= 9313;
|
|
||||||
$im_mysqld2_port= 9314;
|
|
||||||
|
|
||||||
# If so requested, we try to avail ourselves of a unique build thread number.
|
# If so requested, we try to avail ourselves of a unique build thread number.
|
||||||
if ( $ENV{'MTR_BUILD_THREAD'} ) {
|
if ( $ENV{'MTR_BUILD_THREAD'} ) {
|
||||||
if ( lc($ENV{'MTR_BUILD_THREAD'}) eq 'auto' ) {
|
if ( lc($ENV{'MTR_BUILD_THREAD'}) eq 'auto' ) {
|
||||||
@ -1322,6 +1317,7 @@ sub set_mtr_build_thread_ports($) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Up to two masters, up to three slaves
|
# Up to two masters, up to three slaves
|
||||||
|
# A magic value in command_line_setup depends on these equations.
|
||||||
$opt_master_myport= $mtr_build_thread * 10 + 10000; # and 1
|
$opt_master_myport= $mtr_build_thread * 10 + 10000; # and 1
|
||||||
$opt_slave_myport= $opt_master_myport + 2; # and 3 4
|
$opt_slave_myport= $opt_master_myport + 2; # and 3 4
|
||||||
$opt_ndbcluster_port= $opt_master_myport + 5;
|
$opt_ndbcluster_port= $opt_master_myport + 5;
|
||||||
@ -3769,12 +3765,11 @@ sub mysqld_arguments ($$$$) {
|
|||||||
|
|
||||||
|
|
||||||
# When mysqld is run by a root user(euid is 0), it will fail
|
# When mysqld is run by a root user(euid is 0), it will fail
|
||||||
# to start unless we specify what user to run as. If not running
|
# to start unless we specify what user to run as, see BUG#30630
|
||||||
# as root it will be ignored, see BUG#30630
|
|
||||||
my $euid= $>;
|
my $euid= $>;
|
||||||
if (!$glob_win32 and $euid == 0 and
|
if (!$glob_win32 and $euid == 0 and
|
||||||
grep(/^--user/, @$extra_opt, @opt_extra_mysqld_opt) == 0) {
|
grep(/^--user/, @$extra_opt, @opt_extra_mysqld_opt) == 0) {
|
||||||
mtr_add_arg($args, "%s--user=root");
|
mtr_add_arg($args, "%s--user=root", $prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $opt_valgrind_mysqld )
|
if ( $opt_valgrind_mysqld )
|
||||||
|
@ -24,12 +24,18 @@ show binlog events;
|
|||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4
|
f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4
|
||||||
f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb
|
f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb
|
||||||
|
f n Query 1 n use `test`; BEGIN
|
||||||
f n Query 1 n use `test`; insert into bug16206 values(0)
|
f n Query 1 n use `test`; insert into bug16206 values(0)
|
||||||
|
f n Query 1 n use `test`; COMMIT
|
||||||
|
f n Query 1 n use `test`; BEGIN
|
||||||
f n Query 1 n use `test`; insert into bug16206 values(1)
|
f n Query 1 n use `test`; insert into bug16206 values(1)
|
||||||
|
f n Query 1 n use `test`; COMMIT
|
||||||
f n Query 1 n use `test`; BEGIN
|
f n Query 1 n use `test`; BEGIN
|
||||||
f n Query 1 n use `test`; insert into bug16206 values(2)
|
f n Query 1 n use `test`; insert into bug16206 values(2)
|
||||||
f n Query 1 n use `test`; COMMIT
|
f n Query 1 n use `test`; COMMIT
|
||||||
|
f n Query 1 n use `test`; BEGIN
|
||||||
f n Query 1 n use `test`; insert into bug16206 values(3)
|
f n Query 1 n use `test`; insert into bug16206 values(3)
|
||||||
|
f n Query 1 n use `test`; COMMIT
|
||||||
drop table bug16206;
|
drop table bug16206;
|
||||||
set autocommit=0;
|
set autocommit=0;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
@ -567,4 +567,19 @@ master-bin.000001 36585 Rotate 1 36629 master-bin.000002;pos=4
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
set global binlog_cache_size=@bcs;
|
set global binlog_cache_size=@bcs;
|
||||||
set session autocommit = @ac;
|
set session autocommit = @ac;
|
||||||
|
drop table if exists t1;
|
||||||
|
reset master;
|
||||||
|
create table t1 (a bigint unsigned, b bigint(20) unsigned);
|
||||||
|
prepare stmt from "insert into t1 values (?,?)";
|
||||||
|
set @a= 9999999999999999;
|
||||||
|
set @b= 14632475938453979136;
|
||||||
|
execute stmt using @a, @b;
|
||||||
|
deallocate prepare stmt;
|
||||||
|
drop table t1;
|
||||||
|
show binlog events from 0;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 4 Format_desc 1 98 Server version, Binlog ver: 4
|
||||||
|
master-bin.000001 98 Query 1 219 use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
|
||||||
|
master-bin.000001 219 Query 1 343 use `test`; insert into t1 values (9999999999999999,14632475938453979136)
|
||||||
|
master-bin.000001 343 Query 1 419 use `test`; drop table t1
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
15
mysql-test/r/binlog_start_comment.result
Normal file
15
mysql-test/r/binlog_start_comment.result
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
reset master;
|
||||||
|
drop table if exists t1,t2;
|
||||||
|
create table t1 (word varchar(20)) -- create table t1;
|
||||||
|
create table t2 (word varchar(20)) -- create table t2;
|
||||||
|
load data infile '../std_data_ln/words.dat' into table t1 -- load data to t1;
|
||||||
|
insert into t2 values ("Ada");
|
||||||
|
flush logs;
|
||||||
|
select * from t2;
|
||||||
|
word
|
||||||
|
Ada
|
||||||
|
flush logs;
|
||||||
|
select * from t2;
|
||||||
|
word
|
||||||
|
Ada
|
||||||
|
drop table t1,t2;
|
@ -115,8 +115,8 @@ master-bin.000001 # Query 1 # use `test`; insert into t1 values(1)
|
|||||||
master-bin.000001 # Query 1 # use `test`; insert ignore into t1 values(1)
|
master-bin.000001 # Query 1 # use `test`; insert ignore into t1 values(1)
|
||||||
master-bin.000001 # Query 1 # use `test`; replace into t1 values(100)
|
master-bin.000001 # Query 1 # use `test`; replace into t1 values(100)
|
||||||
master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole
|
master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole
|
||||||
master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
|
master-bin.000001 # Begin_load_query 1 # ;file_id=#;block_len=581
|
||||||
master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../std_data_ln/words.dat' into table t2 ;file_id=1
|
master-bin.000001 # Execute_load_query 1 # use `test`; load data infile '../std_data_ln/words.dat' into table t2 ;file_id=#
|
||||||
master-bin.000001 # Query 1 # use `test`; alter table t1 add b int
|
master-bin.000001 # Query 1 # use `test`; alter table t1 add b int
|
||||||
master-bin.000001 # Query 1 # use `test`; alter table t1 drop b
|
master-bin.000001 # Query 1 # use `test`; alter table t1 drop b
|
||||||
master-bin.000001 # Query 1 # use `test`; create table t3 like t1
|
master-bin.000001 # Query 1 # use `test`; create table t3 like t1
|
||||||
|
@ -64,6 +64,10 @@ select a sounds like a from t1;
|
|||||||
a sounds like a
|
a sounds like a
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
select 1 from t1 order by cast(a as char(1));
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
DROP DATABASE d1;
|
DROP DATABASE d1;
|
||||||
USE test;
|
USE test;
|
||||||
|
@ -2,6 +2,80 @@ drop table if exists t1;
|
|||||||
drop table if exists t2;
|
drop table if exists t2;
|
||||||
drop table if exists t3;
|
drop table if exists t3;
|
||||||
drop table if exists t4;
|
drop table if exists t4;
|
||||||
|
SET @test_character_set= 'cp932';
|
||||||
|
SET @test_collation= 'cp932_japanese_ci';
|
||||||
|
SET @safe_character_set_server= @@character_set_server;
|
||||||
|
SET @safe_collation_server= @@collation_server;
|
||||||
|
SET character_set_server= @test_character_set;
|
||||||
|
SET collation_server= @test_collation;
|
||||||
|
CREATE DATABASE d1;
|
||||||
|
USE d1;
|
||||||
|
CREATE TABLE t1 (c CHAR(10), KEY(c));
|
||||||
|
SHOW FULL COLUMNS FROM t1;
|
||||||
|
Field Type Collation Null Key Default Extra Privileges Comment
|
||||||
|
c char(10) cp932_japanese_ci YES MUL NULL
|
||||||
|
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
|
||||||
|
SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
|
||||||
|
want3results
|
||||||
|
aaa
|
||||||
|
aaaa
|
||||||
|
aaaaa
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
|
||||||
|
SHOW FULL COLUMNS FROM t1;
|
||||||
|
Field Type Collation Null Key Default Extra Privileges Comment
|
||||||
|
c1 varchar(15) cp932_japanese_ci YES MUL NULL
|
||||||
|
INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
|
||||||
|
SELECT c1 as want3results from t1 where c1 like 'l%';
|
||||||
|
want3results
|
||||||
|
location
|
||||||
|
loberge
|
||||||
|
lotre
|
||||||
|
SELECT c1 as want3results from t1 where c1 like 'lo%';
|
||||||
|
want3results
|
||||||
|
location
|
||||||
|
loberge
|
||||||
|
lotre
|
||||||
|
SELECT c1 as want1result from t1 where c1 like 'loc%';
|
||||||
|
want1result
|
||||||
|
location
|
||||||
|
SELECT c1 as want1result from t1 where c1 like 'loca%';
|
||||||
|
want1result
|
||||||
|
location
|
||||||
|
SELECT c1 as want1result from t1 where c1 like 'locat%';
|
||||||
|
want1result
|
||||||
|
location
|
||||||
|
SELECT c1 as want1result from t1 where c1 like 'locati%';
|
||||||
|
want1result
|
||||||
|
location
|
||||||
|
SELECT c1 as want1result from t1 where c1 like 'locatio%';
|
||||||
|
want1result
|
||||||
|
location
|
||||||
|
SELECT c1 as want1result from t1 where c1 like 'location%';
|
||||||
|
want1result
|
||||||
|
location
|
||||||
|
DROP TABLE t1;
|
||||||
|
create table t1 (a set('a') not null);
|
||||||
|
insert into t1 values (),();
|
||||||
|
Warnings:
|
||||||
|
Warning 1364 Field 'a' doesn't have a default value
|
||||||
|
select cast(a as char(1)) from t1;
|
||||||
|
cast(a as char(1))
|
||||||
|
|
||||||
|
|
||||||
|
select a sounds like a from t1;
|
||||||
|
a sounds like a
|
||||||
|
1
|
||||||
|
1
|
||||||
|
select 1 from t1 order by cast(a as char(1));
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
drop table t1;
|
||||||
|
DROP DATABASE d1;
|
||||||
|
USE test;
|
||||||
|
SET character_set_server= @safe_character_set_server;
|
||||||
|
SET collation_server= @safe_collation_server;
|
||||||
set names cp932;
|
set names cp932;
|
||||||
set character_set_database = cp932;
|
set character_set_database = cp932;
|
||||||
CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
|
CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
|
||||||
|
@ -64,6 +64,10 @@ select a sounds like a from t1;
|
|||||||
a sounds like a
|
a sounds like a
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
select 1 from t1 order by cast(a as char(1));
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
DROP DATABASE d1;
|
DROP DATABASE d1;
|
||||||
USE test;
|
USE test;
|
||||||
|
@ -64,6 +64,10 @@ select a sounds like a from t1;
|
|||||||
a sounds like a
|
a sounds like a
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
select 1 from t1 order by cast(a as char(1));
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
DROP DATABASE d1;
|
DROP DATABASE d1;
|
||||||
USE test;
|
USE test;
|
||||||
|
@ -64,6 +64,10 @@ select a sounds like a from t1;
|
|||||||
a sounds like a
|
a sounds like a
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
select 1 from t1 order by cast(a as char(1));
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
DROP DATABASE d1;
|
DROP DATABASE d1;
|
||||||
USE test;
|
USE test;
|
||||||
|
@ -2599,6 +2599,10 @@ select a sounds like a from t1;
|
|||||||
a sounds like a
|
a sounds like a
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
select 1 from t1 order by cast(a as char(1));
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
DROP DATABASE d1;
|
DROP DATABASE d1;
|
||||||
USE test;
|
USE test;
|
||||||
|
@ -18,7 +18,8 @@ SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.uniq
|
|||||||
SET @@session.sql_mode=0/*!*/;
|
SET @@session.sql_mode=0/*!*/;
|
||||||
/*!\C latin1 *//*!*/;
|
/*!\C latin1 *//*!*/;
|
||||||
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
||||||
insert into t2 values (@v)/*!*/;
|
insert into t2 values (@v)
|
||||||
|
/*!*/;
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
# End of log file
|
# End of log file
|
||||||
ROLLBACK /* added by mysqlbinlog */;
|
ROLLBACK /* added by mysqlbinlog */;
|
||||||
|
@ -255,3 +255,8 @@ CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
|
|||||||
INSERT DELAYED INTO t2 VALUES(1);
|
INSERT DELAYED INTO t2 VALUES(1);
|
||||||
ERROR HY000: Table storage engine for 't2' doesn't have this option
|
ERROR HY000: Table storage engine for 't2' doesn't have this option
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
INSERT DELAYED INTO t1 SET b= b();
|
||||||
|
ERROR 42S22: Unknown column 'b' in 'field list'
|
||||||
|
DROP TABLE t1;
|
||||||
|
End of 5.0 tests
|
||||||
|
@ -234,43 +234,6 @@ ERROR 42S22: Unknown column 't2.x' in 'order clause'
|
|||||||
DELETE FROM t1 ORDER BY (SELECT x);
|
DELETE FROM t1 ORDER BY (SELECT x);
|
||||||
ERROR 42S22: Unknown column 'x' in 'field list'
|
ERROR 42S22: Unknown column 'x' in 'field list'
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (
|
|
||||||
a INT
|
|
||||||
);
|
|
||||||
CREATE TABLE t2 (
|
|
||||||
a INT
|
|
||||||
);
|
|
||||||
CREATE DATABASE db1;
|
|
||||||
CREATE TABLE db1.t1 (
|
|
||||||
a INT
|
|
||||||
);
|
|
||||||
INSERT INTO db1.t1 (a) SELECT * FROM t1;
|
|
||||||
CREATE DATABASE db2;
|
|
||||||
CREATE TABLE db2.t1 (
|
|
||||||
a INT
|
|
||||||
);
|
|
||||||
INSERT INTO db2.t1 (a) SELECT * FROM t2;
|
|
||||||
DELETE FROM t1 alias USING t1, t2 alias WHERE t1.a = alias.a;
|
|
||||||
ERROR 42000: 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 'alias USING t1, t2 alias WHERE t1.a = alias.a' at line 1
|
|
||||||
DELETE FROM alias USING t1, t2 alias WHERE t1.a = alias.a;
|
|
||||||
DELETE FROM t1, alias USING t1, t2 alias WHERE t1.a = alias.a;
|
|
||||||
DELETE FROM t1, t2 USING t1, t2 alias WHERE t1.a = alias.a;
|
|
||||||
ERROR 42S02: Unknown table 't2' in MULTI DELETE
|
|
||||||
DELETE FROM db1.t1 alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
|
|
||||||
ERROR 42000: 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 'alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a' at line 1
|
|
||||||
DELETE FROM alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
|
|
||||||
ERROR 42S02: Unknown table 'alias' in MULTI DELETE
|
|
||||||
DELETE FROM db2.alias USING db1.t1, db2.t1 alias WHERE db1.t1.a = alias.a;
|
|
||||||
DELETE FROM t1 USING t1 WHERE a = 1;
|
|
||||||
SELECT * FROM t1;
|
|
||||||
a
|
|
||||||
DELETE FROM t1 alias USING t1 alias WHERE a = 2;
|
|
||||||
ERROR 42000: 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 'alias USING t1 alias WHERE a = 2' at line 1
|
|
||||||
SELECT * FROM t1;
|
|
||||||
a
|
|
||||||
DROP TABLE t1, t2;
|
|
||||||
DROP DATABASE db1;
|
|
||||||
DROP DATABASE db2;
|
|
||||||
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (0);
|
INSERT INTO t1 VALUES (0);
|
||||||
|
@ -87,3 +87,23 @@ Warnings:
|
|||||||
Note 1003 select '1' AS `f1`,'1' AS `f2` from `test`.`t1` having 1
|
Note 1003 select '1' AS `f1`,'1' AS `f2` from `test`.`t1` having 1
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1(c INT);
|
||||||
|
INSERT INTO t1 VALUES (),();
|
||||||
|
CREATE TABLE t2 (b INT,
|
||||||
|
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||||
|
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||||
|
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||||
|
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||||
|
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||||
|
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||||
|
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b),
|
||||||
|
KEY(b),KEY(b),KEY(b),KEY(b),KEY(b));
|
||||||
|
INSERT INTO t2 VALUES (),(),();
|
||||||
|
EXPLAIN SELECT 1 FROM
|
||||||
|
(SELECT 1 FROM t2,t1 WHERE b < c GROUP BY 1 LIMIT 1) AS d2;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
X X X X X X X X X const row not found
|
||||||
|
X X X X X X X X X
|
||||||
|
X X X X X X X X X Range checked for each record (index map: 0xFFFFFFFFFF)
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -1934,6 +1934,117 @@ select * from federated.t2;
|
|||||||
a
|
a
|
||||||
1
|
1
|
||||||
drop table federated.t1, federated.t2;
|
drop table federated.t1, federated.t2;
|
||||||
|
create table t1 (a varchar(256));
|
||||||
|
drop view if exists v1;
|
||||||
|
create view v1 as select a from t1;
|
||||||
|
create table t1
|
||||||
|
(a varchar(256)) engine=federated
|
||||||
|
connection='mysql://root@127.0.0.1:SLAVE_PORT/test/v1';
|
||||||
|
select 1 from t1 order by a;
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
drop table t1;
|
||||||
|
drop table t1;
|
||||||
|
drop view v1;
|
||||||
DROP TABLE IF EXISTS federated.t1;
|
DROP TABLE IF EXISTS federated.t1;
|
||||||
DROP DATABASE IF EXISTS federated;
|
DROP DATABASE IF EXISTS federated;
|
||||||
DROP TABLE IF EXISTS federated.t1;
|
DROP TABLE IF EXISTS federated.t1;
|
||||||
|
@ -271,7 +271,7 @@ group_concat(distinct s1 order by s2)
|
|||||||
c,b,a
|
c,b,a
|
||||||
select group_concat(distinct s1 order by s2) from t1;
|
select group_concat(distinct s1 order by s2) from t1;
|
||||||
group_concat(distinct s1 order by s2)
|
group_concat(distinct s1 order by s2)
|
||||||
c,b,a,c
|
c,b,a
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (a int, c int);
|
create table t1 (a int, c int);
|
||||||
insert into t1 values (1, 2), (2, 3), (2, 4), (3, 5);
|
insert into t1 values (1, 2), (2, 3), (2, 4), (3, 5);
|
||||||
@ -870,4 +870,65 @@ select group_concat(f1) from t1;
|
|||||||
group_concat(f1)
|
group_concat(f1)
|
||||||
,
|
,
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (a INT, b INT);
|
||||||
|
INSERT INTO t1 VALUES (1, 1), (2, 2), (2, 3);
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT a ORDER BY b)
|
||||||
|
1,2
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b DESC) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT a ORDER BY b DESC)
|
||||||
|
2,1
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT a)
|
||||||
|
1,2
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b)
|
||||||
|
3,2
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY b) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT a + 1 ORDER BY b)
|
||||||
|
2,3
|
||||||
|
SELECT GROUP_CONCAT(a ORDER BY 3 - b) FROM t1;
|
||||||
|
GROUP_CONCAT(a ORDER BY 3 - b)
|
||||||
|
2,2,1
|
||||||
|
CREATE TABLE t2 (a INT, b INT, c INT, d INT);
|
||||||
|
INSERT INTO t2 VALUES (1,1, 1,1), (1,1, 2,2), (1,2, 2,1), (2,1, 1,2);
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, d) FROM t2;
|
||||||
|
GROUP_CONCAT(DISTINCT a, b ORDER BY c, d)
|
||||||
|
11,21,12
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY d, c) FROM t2;
|
||||||
|
GROUP_CONCAT(DISTINCT a, b ORDER BY d, c)
|
||||||
|
11,12,21
|
||||||
|
CREATE TABLE t3 (a INT, b INT, c INT);
|
||||||
|
INSERT INTO t3 VALUES (1, 1, 1), (2, 1, 2), (3, 2, 1);
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, c) FROM t3;
|
||||||
|
GROUP_CONCAT(DISTINCT a, b ORDER BY b, c)
|
||||||
|
11,21,32
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, b) FROM t3;
|
||||||
|
GROUP_CONCAT(DISTINCT a, b ORDER BY c, b)
|
||||||
|
11,32,21
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a, b) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT a, b ORDER BY a, b)
|
||||||
|
11,22,23
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT b, a ORDER BY a, b)
|
||||||
|
11,22,32
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, a) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT a, b ORDER BY b, a)
|
||||||
|
11,22,23
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT b, a ORDER BY a, b)
|
||||||
|
11,22,32
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a ORDER BY a, b) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT a ORDER BY a, b)
|
||||||
|
1,2
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT b ORDER BY b, a) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT b ORDER BY b, a)
|
||||||
|
1,2,3
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT a, b ORDER BY a)
|
||||||
|
11,23,22
|
||||||
|
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY b) FROM t1;
|
||||||
|
GROUP_CONCAT(DISTINCT b, a ORDER BY b)
|
||||||
|
11,22,32
|
||||||
|
DROP TABLE t1, t2, t3;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
@ -1407,4 +1407,16 @@ SELECT COUNT(*), a FROM t1;
|
|||||||
COUNT(*) a
|
COUNT(*) a
|
||||||
4 1
|
4 1
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
set SQL_MODE=ONLY_FULL_GROUP_BY;
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
INSERT INTO t1 VALUES (1),(2),(3),(4);
|
||||||
|
CREATE VIEW v1 AS SELECT a,(a + 1) AS y FROM t1;
|
||||||
|
EXPLAIN EXTENDED SELECT y FROM v1 GROUP BY v1.y;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using temporary; Using filesort
|
||||||
|
Warnings:
|
||||||
|
Note 1003 select (`test`.`t1`.`a` + 1) AS `y` from `test`.`t1` group by (`test`.`t1`.`a` + 1)
|
||||||
|
DROP VIEW v1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET SQL_MODE=DEFAULT;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user