mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge work:/home/bk/mysql-4.0
into serg.mysql.com:/usr/home/serg/Abk/mysql-4.0
This commit is contained in:
15
Makefile.am
15
Makefile.am
@ -24,15 +24,15 @@ EXTRA_DIST = INSTALL-SOURCE README \
|
||||
SUBDIRS = . include @docs_dirs@ @readline_dir@ \
|
||||
@thread_dirs@ pstack @sql_client_dirs@ \
|
||||
@sql_server_dirs@ scripts man tests \
|
||||
BUILD netware os2 @libmysqld_dirs@ \
|
||||
@bench_dirs@ support-files @fs_dirs@ @tools_dirs@ \
|
||||
@platform_dir@
|
||||
BUILD @netware_dir@ os2 @libmysqld_dirs@ \
|
||||
@bench_dirs@ support-files @fs_dirs@ @tools_dirs@
|
||||
|
||||
|
||||
# Relink after clean
|
||||
linked_sources = linked_client_sources linked_server_sources \
|
||||
linked_libmysql_sources linked_libmysql_r_sources \
|
||||
linked_libmysqld_sources linked_libmysqldex_sources \
|
||||
linked_include_sources
|
||||
linked_include_sources @linked_netware_sources@
|
||||
|
||||
CLEANFILES = $(linked_sources)
|
||||
|
||||
@ -63,6 +63,10 @@ linked_libmysqldex_sources:
|
||||
cd libmysqld/examples; $(MAKE) link_sources
|
||||
echo timestamp > linked_libmysqldex_sources
|
||||
|
||||
linked_netware_sources:
|
||||
cd @netware_dir@; $(MAKE) link_sources
|
||||
echo timestamp > linked_netware_sources
|
||||
|
||||
#avoid recursive make calls in sql directory
|
||||
linked_server_sources:
|
||||
cd sql; rm -f mini_client_errors.c;@LN_CP_F@ ../libmysql/errmsg.c mini_client_errors.c
|
||||
@ -73,7 +77,7 @@ init-db: all
|
||||
$(top_builddir)/scripts/mysql_install_db
|
||||
|
||||
bin-dist: all
|
||||
$(top_builddir)/scripts/make_binary_distribution
|
||||
$(top_builddir)/scripts/make_binary_distribution @MAKE_BINARY_DISTRIBUTION_OPTIONS@
|
||||
|
||||
tags:
|
||||
support-files/build-tags
|
||||
@ -83,3 +87,4 @@ tags:
|
||||
|
||||
test:
|
||||
cd mysql-test ; ./mysql-test-run
|
||||
|
||||
|
@ -1702,6 +1702,9 @@ print_table_data_xml(MYSQL_RES *result)
|
||||
{
|
||||
MYSQL_ROW cur;
|
||||
MYSQL_FIELD *fields;
|
||||
#ifdef __NETWARE__
|
||||
uint lines= 0;
|
||||
#endif
|
||||
|
||||
mysql_field_seek(result,0);
|
||||
|
||||
|
@ -897,6 +897,9 @@ static void dumpTable(uint numFields, char *table)
|
||||
MYSQL_FIELD *field;
|
||||
MYSQL_ROW row;
|
||||
ulong rownr, row_break, total_length, init_length;
|
||||
#if defined(__NETWARE__) && defined(THREAD)
|
||||
uint lines= 0;
|
||||
#endif
|
||||
|
||||
if (verbose)
|
||||
fprintf(stderr, "-- Sending SELECT query...\n");
|
||||
@ -1123,6 +1126,11 @@ static void dumpTable(uint numFields, char *table)
|
||||
}
|
||||
else if (!opt_xml)
|
||||
fputs(");\n", md_result_file);
|
||||
#if defined(__NETWARE__) && defined(THREAD)
|
||||
/* on a long result the screen could hog the cpu */
|
||||
if ((lines++ & 1023) == 0)
|
||||
pthread_yield();
|
||||
#endif
|
||||
}
|
||||
|
||||
/* XML - close table tag and supress regular output */
|
||||
|
61
configure.in
61
configure.in
@ -38,10 +38,10 @@ rm -f $AVAILABLE_LANGUAGES_ERRORS_RULES
|
||||
for i in $AVAILABLE_LANGUAGES
|
||||
do
|
||||
AVAILABLE_LANGUAGES_ERRORS="$AVAILABLE_LANGUAGES_ERRORS $i/errmsg.sys"
|
||||
case $SYSTEM_TYPE in
|
||||
*netware* | *modesto*)
|
||||
case $host_os in
|
||||
netware* | modesto*)
|
||||
echo "$i/errmsg.sys: $i/errmsg.txt
|
||||
\$(top_builddir)/extra/comp_err.cyg \$^ $i/errmsg.sys" \
|
||||
\$(top_builddir)/extra/comp_err.linux \$^ $i/errmsg.sys" \
|
||||
>> $AVAILABLE_LANGUAGES_ERRORS_RULES
|
||||
;;
|
||||
*)
|
||||
@ -1067,7 +1067,10 @@ dnl Is this the right match for DEC OSF on alpha?
|
||||
*netware*)
|
||||
# No need for curses library so set it to null
|
||||
with_named_curses=""
|
||||
PLATFORM_NETWARE=yes
|
||||
|
||||
# No thread library - in LibC
|
||||
with_named_thread=""
|
||||
|
||||
#
|
||||
# Edit Makefile.in files.
|
||||
#
|
||||
@ -1089,36 +1092,36 @@ dnl Is this the right match for DEC OSF on alpha?
|
||||
fi
|
||||
case $file in
|
||||
sql/Makefile.in)
|
||||
# Use gen_lex_hash.cyg instead of gen_lex_hash
|
||||
# Use gen_lex_hash.linux instead of gen_lex_hash
|
||||
# Add library dependencies to mysqld_DEPENDENCIES
|
||||
lib_DEPENDENCIES="\$(bdb_libs_with_path) \$(innodb_libs) \$(pstack_libs) \$(innodb_system_libs) \$(openssl_libs)"
|
||||
cat > $filesed << EOF
|
||||
s,\(^.*\$(MAKE) gen_lex_hash\),#\1,
|
||||
s,\(\./gen_lex_hash\),\1.cyg,
|
||||
s,\(\./gen_lex_hash\),\1.linux,
|
||||
s%\(mysqld_DEPENDENCIES = \) %\1$lib_DEPENDENCIES %
|
||||
EOF
|
||||
;;
|
||||
sql/share/Makefile.in)
|
||||
cat > $filesed << EOF
|
||||
s,\(extra/comp_err\),\1.cyg,
|
||||
s,\(extra/comp_err\),\1.linux,
|
||||
EOF
|
||||
;;
|
||||
libmysql/Makefile.in)
|
||||
cat > $filesed << EOF
|
||||
s,\(\./conf_to_src\)\( \$(top_srcdir)\),\1.cyg\2,
|
||||
s,\(: conf_to_src\),\1.cyg,
|
||||
s,\(\./conf_to_src\)\( \$(top_srcdir)\),\1.linux\2,
|
||||
s,\(: conf_to_src\),\1.linux,
|
||||
EOF
|
||||
;;
|
||||
libmysql_r/Makefile.in)
|
||||
cat > $filesed << EOF
|
||||
s,\(\./conf_to_src\)\( \$(top_srcdir)\),\1.cyg\2,
|
||||
s,\(: conf_to_src\),\1.cyg,
|
||||
s,\(\./conf_to_src\)\( \$(top_srcdir)\),\1.linux\2,
|
||||
s,\(: conf_to_src\),\1.linux,
|
||||
EOF
|
||||
;;
|
||||
strings/Makefile.in)
|
||||
cat > $filesed << EOF
|
||||
s,\(\./conf_to_src\)\( \$(top_srcdir)\),\1.cyg\2,
|
||||
s,\(: conf_to_src\),\1.cyg,
|
||||
s,\(\./conf_to_src\)\( \$(top_srcdir)\),\1.linux\2,
|
||||
s,\(: conf_to_src\),\1.linux,
|
||||
EOF
|
||||
;;
|
||||
client/Makefile.in)
|
||||
@ -1167,7 +1170,6 @@ EOF
|
||||
;;
|
||||
esac
|
||||
|
||||
AM_CONDITIONAL(PLATFORM_NETWARE, test "$PLATFORM_NETWARE" = "yes")
|
||||
|
||||
#---START: Used in for client configure
|
||||
# Check if we threads are in libc or if we should use
|
||||
@ -2195,13 +2197,6 @@ AC_ARG_WITH(extra-charsets,
|
||||
[extra_charsets="$withval"],
|
||||
[extra_charsets="none"])
|
||||
|
||||
AC_ARG_WITH(platform-dir,
|
||||
[ --with-platform-dir=DIR
|
||||
Add specified directory to list of SUBDIRS to build.],
|
||||
[ with_platform_dir=$withval ],
|
||||
[ with_platform_dir=no ]
|
||||
)
|
||||
|
||||
AC_MSG_CHECKING("character sets")
|
||||
|
||||
if test "$extra_charsets" = none; then
|
||||
@ -2440,12 +2435,15 @@ AC_SUBST(CLIENT_LIBS)
|
||||
AC_SUBST(sql_client_dirs)
|
||||
AC_SUBST(linked_client_targets)
|
||||
|
||||
platform_dir=
|
||||
if test "$with_platform_dir" != "no"
|
||||
then
|
||||
platform_dir="$with_platform_dir"
|
||||
# If configuring for NetWare, set up to link sources from and build the netware directory
|
||||
netware_dir=
|
||||
linked_netware_sources=
|
||||
if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null; then
|
||||
netware_dir="netware"
|
||||
linked_netware_sources="linked_netware_sources"
|
||||
fi
|
||||
AC_SUBST(platform_dir)
|
||||
AC_SUBST(netware_dir)
|
||||
AC_SUBST(linked_netware_sources)
|
||||
|
||||
if test "$with_server" = "yes" -o "$THREAD_SAFE_CLIENT" != "no"
|
||||
then
|
||||
@ -2612,6 +2610,17 @@ AC_SUBST(GXX)
|
||||
#Remove TOOLS_LIBS, because this is included in LIBRARIES
|
||||
#AC_SUBST(TOOLS_LIBS)
|
||||
|
||||
# Set configuration options for make_binary_distribution
|
||||
case $SYSTEM_TYPE in
|
||||
*netware*)
|
||||
MAKE_BINARY_DISTRIBUTION_OPTIONS=--no-strip
|
||||
;;
|
||||
*)
|
||||
MAKE_BINARY_DISTRIBUTION_OPTIONS=
|
||||
;;
|
||||
esac
|
||||
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
|
||||
|
||||
# Output results
|
||||
AC_OUTPUT(Makefile extra/Makefile mysys/Makefile isam/Makefile dnl
|
||||
strings/Makefile regex/Makefile heap/Makefile dnl
|
||||
|
@ -16,6 +16,8 @@
|
||||
|
||||
/* Wait until a program dies */
|
||||
|
||||
#ifndef __NETWARE__
|
||||
|
||||
#include <my_global.h>
|
||||
#include <m_string.h>
|
||||
#include <my_getopt.h>
|
||||
@ -101,3 +103,15 @@ void usage(void)
|
||||
my_print_help(my_long_options);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
main()
|
||||
{
|
||||
fprintf(stderr,"This tool has not been ported to NetWare\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* __NETWARE__ */
|
||||
|
@ -49,6 +49,21 @@
|
||||
|
||||
/* The following is parameter to ha_rkey() how to use key */
|
||||
|
||||
/* We define a complete-field prefix of a key value as a prefix where the
|
||||
last included field in the prefix contains the full field, not just some bytes
|
||||
from the start of the field. A partial-field prefix is allowed to
|
||||
contain only a few first bytes from the last included field.
|
||||
|
||||
Below HA_READ_KEY_EXACT, ..., HA_READ_BEFORE_KEY can take a
|
||||
complete-field prefix of a key value as the search key. HA_READ_PREFIX
|
||||
and HA_READ_PREFIX_LAST could also take a partial-field prefix, but
|
||||
currently (4.0.10) they are only used with complete-field prefixes. MySQL uses
|
||||
a padding trick to implement LIKE 'abc%' queries.
|
||||
|
||||
NOTE that in InnoDB HA_READ_PREFIX_LAST will NOT work with a partial-field
|
||||
prefix because InnoDB currently strips spaces from the end of varchar
|
||||
fields! */
|
||||
|
||||
enum ha_rkey_function {
|
||||
HA_READ_KEY_EXACT, /* Find first record else error */
|
||||
HA_READ_KEY_OR_NEXT, /* Record or next record */
|
||||
|
@ -430,7 +430,7 @@ struct tm *localtime_r(const time_t *clock, struct tm *res);
|
||||
#define pthread_kill(A,B) pthread_dummy(0)
|
||||
#undef pthread_detach_this_thread
|
||||
#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(&tmp); }
|
||||
#else /* HAVE_PTHREAD_ATTR_CREATE && !HAVE_SIGWAIT */
|
||||
#elif !defined(__NETWARE__) /* HAVE_PTHREAD_ATTR_CREATE && !HAVE_SIGWAIT */
|
||||
#define HAVE_PTHREAD_KILL
|
||||
#endif
|
||||
|
||||
|
@ -422,7 +422,7 @@ int STDCALL mysql_drop_db(MYSQL *mysql, const char *DB);
|
||||
int simple_command(MYSQL *mysql,enum enum_server_command command,
|
||||
const char *arg, unsigned long length, my_bool skipp_check);
|
||||
unsigned long net_safe_read(MYSQL* mysql);
|
||||
void STDCALL mysql_once_init(void);
|
||||
void mysql_once_init(void);
|
||||
|
||||
#ifdef __NETWARE__
|
||||
#pragma pack(pop) /* restore alignment */
|
||||
|
@ -120,6 +120,53 @@ page_cur_try_search_shortcut(
|
||||
|
||||
#endif
|
||||
|
||||
/********************************************************************
|
||||
Checks if the nth field in a record is a character type field which extends
|
||||
the nth field in tuple, i.e., the field is longer or equal in length and has
|
||||
common first characters. */
|
||||
static
|
||||
ibool
|
||||
page_cur_rec_field_extends(
|
||||
/*=======================*/
|
||||
/* out: TRUE if rec field extends tuple
|
||||
field */
|
||||
dtuple_t* tuple, /* in: data tuple */
|
||||
rec_t* rec, /* in: record */
|
||||
ulint n) /* in: compare nth field */
|
||||
{
|
||||
dtype_t* type;
|
||||
dfield_t* dfield;
|
||||
byte* rec_f;
|
||||
ulint rec_f_len;
|
||||
|
||||
dfield = dtuple_get_nth_field(tuple, n);
|
||||
|
||||
type = dfield_get_type(dfield);
|
||||
|
||||
rec_f = rec_get_nth_field(rec, n, &rec_f_len);
|
||||
|
||||
if (type->mtype == DATA_VARCHAR
|
||||
|| type->mtype == DATA_CHAR
|
||||
|| type->mtype == DATA_FIXBINARY
|
||||
|| type->mtype == DATA_BINARY
|
||||
|| type->mtype == DATA_BLOB
|
||||
|| type->mtype == DATA_VARMYSQL
|
||||
|| type->mtype == DATA_MYSQL) {
|
||||
|
||||
if (dfield_get_len(dfield) != UNIV_SQL_NULL
|
||||
&& rec_f_len != UNIV_SQL_NULL
|
||||
&& rec_f_len >= dfield_get_len(dfield)
|
||||
&& 0 == cmp_data_data_slow(type, dfield_get_data(dfield),
|
||||
dfield_get_len(dfield),
|
||||
rec_f, dfield_get_len(dfield))) {
|
||||
|
||||
return(TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
Searches the right position for a page cursor. */
|
||||
|
||||
@ -239,16 +286,8 @@ page_cur_search_with_match(
|
||||
} else if (cmp == -1) {
|
||||
|
||||
if (mode == PAGE_CUR_LE_OR_EXTENDS
|
||||
&& dfield_get_len(dtuple_get_nth_field(tuple,
|
||||
cur_matched_fields))
|
||||
== cur_matched_bytes
|
||||
&& rec_get_nth_field_len(mid_rec,
|
||||
cur_matched_fields)
|
||||
!= UNIV_SQL_NULL) {
|
||||
|
||||
/* This means current dfield is not SQL
|
||||
NULL, and the current rec field extends it */
|
||||
|
||||
&& page_cur_rec_field_extends(tuple, mid_rec,
|
||||
cur_matched_fields)) {
|
||||
low = mid;
|
||||
low_matched_fields = cur_matched_fields;
|
||||
low_matched_bytes = cur_matched_bytes;
|
||||
@ -296,16 +335,8 @@ page_cur_search_with_match(
|
||||
|
||||
} else if (cmp == -1) {
|
||||
if (mode == PAGE_CUR_LE_OR_EXTENDS
|
||||
&& dfield_get_len(dtuple_get_nth_field(tuple,
|
||||
cur_matched_fields))
|
||||
== cur_matched_bytes
|
||||
&& rec_get_nth_field_len(mid_rec,
|
||||
cur_matched_fields)
|
||||
!= UNIV_SQL_NULL) {
|
||||
|
||||
/* This means current dfield is not SQL
|
||||
NULL, and the current rec field extends it */
|
||||
|
||||
&& page_cur_rec_field_extends(tuple, mid_rec,
|
||||
cur_matched_fields)) {
|
||||
low_rec = mid_rec;
|
||||
low_matched_fields = cur_matched_fields;
|
||||
low_matched_bytes = cur_matched_bytes;
|
||||
|
@ -536,7 +536,8 @@ char* getlogin(void);
|
||||
/* default to "root" on NetWare */
|
||||
static void read_user_name(char *name)
|
||||
{
|
||||
(void)strmake(name,"root", USERNAME_LENGTH);
|
||||
char *str=getenv("USER");
|
||||
strmake(name, str ? str : "UNKNOWN_USER", USERNAME_LENGTH);
|
||||
}
|
||||
|
||||
#elif !defined(MSDOS) && ! defined(VMS) && !defined(__WIN__) && !defined(OS2)
|
||||
@ -1427,7 +1428,7 @@ mysql_init(MYSQL *mysql)
|
||||
outside program.
|
||||
*/
|
||||
|
||||
void STDCALL mysql_once_init(void)
|
||||
void mysql_once_init(void)
|
||||
{
|
||||
if (!mysql_client_init)
|
||||
{
|
||||
|
@ -62,7 +62,7 @@ my_string mysql_unix_port=0;
|
||||
#define closesocket(A) close(A)
|
||||
#endif
|
||||
|
||||
void STDCALL mysql_once_init(void);
|
||||
static void mysql_once_init(void);
|
||||
static MYSQL_DATA *read_rows (MYSQL *mysql,MYSQL_FIELD *fields,
|
||||
uint field_count);
|
||||
static int read_one_row(MYSQL *mysql,uint fields,MYSQL_ROW row,
|
||||
|
@ -331,6 +331,7 @@ while test $# -gt 0; do
|
||||
EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT --skip-safemalloc"
|
||||
SLEEP_TIME_AFTER_RESTART=10
|
||||
SLEEP_TIME_FOR_DELETE=120
|
||||
USE_RUNNING_SERVER=""
|
||||
;;
|
||||
--valgrind-options=*)
|
||||
TMP=`$ECHO "$1" | $SED -e "s;--valgrind-options=;;"`
|
||||
|
@ -1058,3 +1058,13 @@ create table t2 (b varchar(10) not null unique) type=innodb;
|
||||
select t1.a from t1,t2 where t1.a=t2.b;
|
||||
a
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB;
|
||||
CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id), FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE CASCADE ) TYPE=INNODB;
|
||||
insert into t1 set id=1;
|
||||
insert into t2 set id=1, t1_id=1;
|
||||
delete t1,t2 from t1,t2 where t1.id=t2.t1_id;
|
||||
select * from t1;
|
||||
id
|
||||
select * from t2;
|
||||
id t1_id
|
||||
drop table t1,t2;
|
||||
|
@ -553,3 +553,14 @@ Table 'test.t1' doesn't exist
|
||||
drop table t2;
|
||||
select * from t1 where id=2;
|
||||
Table 'test.t1' doesn't exist
|
||||
create table t1 (word char(20) not null);
|
||||
select * from t1;
|
||||
word
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
drop table t1;
|
||||
|
@ -8,7 +8,7 @@ drop table if exists t1,t2,t3;
|
||||
create table t1 (word char(20) not null);
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
load data local infile 'MYSQL_TEST_DIR/std_data/words.dat' into table t1;
|
||||
select * from t1;
|
||||
select * from t1 limit 10;
|
||||
word
|
||||
Aarhus
|
||||
Aaron
|
||||
@ -20,16 +20,6 @@ abandoned
|
||||
abandoning
|
||||
abandonment
|
||||
abandons
|
||||
Aarhus
|
||||
Aaron
|
||||
Ababa
|
||||
aback
|
||||
abaft
|
||||
abandon
|
||||
abandoned
|
||||
abandoning
|
||||
abandonment
|
||||
abandons
|
||||
slave stop;
|
||||
set password for root@"localhost" = password('foo');
|
||||
slave start;
|
||||
@ -42,7 +32,7 @@ n
|
||||
2
|
||||
select sum(length(word)) from t1;
|
||||
sum(length(word))
|
||||
141
|
||||
1021
|
||||
drop table t1,t3;
|
||||
reset master;
|
||||
slave stop;
|
||||
|
@ -23,7 +23,7 @@ Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
10
|
||||
70
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
0
|
||||
|
@ -22,9 +22,9 @@ master-bin.001 172 Intvar 1 172 INSERT_ID=1
|
||||
master-bin.001 200 Query 1 200 use test; insert into t1 values (NULL)
|
||||
master-bin.001 263 Query 1 263 use test; drop table t1
|
||||
master-bin.001 311 Query 1 311 use test; create table t1 (word char(20) not null)
|
||||
master-bin.001 386 Create_file 1 386 db=test;table=t1;file_id=1;block_len=81
|
||||
master-bin.001 556 Exec_load 1 556 ;file_id=1
|
||||
master-bin.001 579 Query 1 579 use test; drop table t1
|
||||
master-bin.001 386 Create_file 1 386 db=test;table=t1;file_id=1;block_len=581
|
||||
master-bin.001 1056 Exec_load 1 1056 ;file_id=1
|
||||
master-bin.001 1079 Query 1 1079 use test; drop table t1
|
||||
show binlog events from 79 limit 1;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; create table t1(n int not null auto_increment primary key)
|
||||
@ -50,10 +50,10 @@ master-bin.001 172 Intvar 1 172 INSERT_ID=1
|
||||
master-bin.001 200 Query 1 200 use test; insert into t1 values (NULL)
|
||||
master-bin.001 263 Query 1 263 use test; drop table t1
|
||||
master-bin.001 311 Query 1 311 use test; create table t1 (word char(20) not null)
|
||||
master-bin.001 386 Create_file 1 386 db=test;table=t1;file_id=1;block_len=81
|
||||
master-bin.001 556 Exec_load 1 556 ;file_id=1
|
||||
master-bin.001 579 Query 1 579 use test; drop table t1
|
||||
master-bin.001 627 Rotate 1 627 master-bin.002;pos=4
|
||||
master-bin.001 386 Create_file 1 386 db=test;table=t1;file_id=1;block_len=581
|
||||
master-bin.001 1056 Exec_load 1 1056 ;file_id=1
|
||||
master-bin.001 1079 Query 1 1079 use test; drop table t1
|
||||
master-bin.001 1127 Rotate 1 1127 master-bin.002;pos=4
|
||||
show binlog events in 'master-bin.002';
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.002 4 Query 1 4 use test; create table t1 (n int)
|
||||
@ -76,10 +76,10 @@ slave-bin.001 172 Intvar 1 172 INSERT_ID=1
|
||||
slave-bin.001 200 Query 1 200 use test; insert into t1 values (NULL)
|
||||
slave-bin.001 263 Query 1 263 use test; drop table t1
|
||||
slave-bin.001 311 Query 1 311 use test; create table t1 (word char(20) not null)
|
||||
slave-bin.001 386 Create_file 1 386 db=test;table=t1;file_id=1;block_len=81
|
||||
slave-bin.001 565 Exec_load 1 556 ;file_id=1
|
||||
slave-bin.001 588 Query 1 579 use test; drop table t1
|
||||
slave-bin.001 636 Rotate 2 636 slave-bin.002;pos=4
|
||||
slave-bin.001 386 Create_file 1 386 db=test;table=t1;file_id=1;block_len=581
|
||||
slave-bin.001 1065 Exec_load 1 1056 ;file_id=1
|
||||
slave-bin.001 1088 Query 1 1079 use test; drop table t1
|
||||
slave-bin.001 1136 Rotate 2 1136 slave-bin.002;pos=4
|
||||
show binlog events in 'slave-bin.002' from 4;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
slave-bin.002 4 Query 1 4 use test; create table t1 (n int)
|
||||
@ -87,6 +87,6 @@ slave-bin.002 62 Query 1 62 use test; insert into t1 values (1)
|
||||
slave-bin.002 122 Query 1 122 use test; drop table t1
|
||||
show slave status;
|
||||
Master_Host Master_User Master_Port Connect_retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_do_db Replicate_ignore_db Last_errno Last_error Skip_counter Exec_master_log_pos Relay_log_space
|
||||
127.0.0.1 root MASTER_PORT 1 master-bin.002 170 slave-relay-bin.002 957 master-bin.002 Yes Yes 0 0 170 961
|
||||
127.0.0.1 root MASTER_PORT 1 master-bin.002 170 slave-relay-bin.002 1457 master-bin.002 Yes Yes 0 0 170 1461
|
||||
show binlog events in 'slave-bin.005' from 4;
|
||||
Error when executing command SHOW BINLOG EVENTS: Could not find target log
|
||||
|
@ -448,3 +448,10 @@ select foobar, boggle from t1 where foobar = 'fish' and boggle = 10;
|
||||
foobar boggle
|
||||
fish 10
|
||||
drop table t1;
|
||||
create table t1 (id integer auto_increment unique,imagem LONGBLOB not null);
|
||||
insert into t1 (id) values (1);
|
||||
update t1 set imagem=load_file('../../std_data/words.dat') where id=1;
|
||||
select if(imagem is null, "ERROR", "OK"),length(imagem) from t1 where id = 1;
|
||||
if(imagem is null, "ERROR", "OK") length(imagem)
|
||||
OK 581
|
||||
drop table t1;
|
||||
|
@ -8,3 +8,63 @@ abandoned
|
||||
abandoning
|
||||
abandonment
|
||||
abandons
|
||||
Aarhus
|
||||
Aaron
|
||||
Ababa
|
||||
aback
|
||||
abaft
|
||||
abandon
|
||||
abandoned
|
||||
abandoning
|
||||
abandonment
|
||||
abandons
|
||||
abase
|
||||
abased
|
||||
abasement
|
||||
abasements
|
||||
abases
|
||||
abash
|
||||
abashed
|
||||
abashes
|
||||
abashing
|
||||
abasing
|
||||
abate
|
||||
abated
|
||||
abatement
|
||||
abatements
|
||||
abater
|
||||
abates
|
||||
abating
|
||||
Abba
|
||||
abbe
|
||||
abbey
|
||||
abbeys
|
||||
abbot
|
||||
abbots
|
||||
Abbott
|
||||
abbreviate
|
||||
abbreviated
|
||||
abbreviates
|
||||
abbreviating
|
||||
abbreviation
|
||||
abbreviations
|
||||
Abby
|
||||
abdomen
|
||||
abdomens
|
||||
abdominal
|
||||
abduct
|
||||
abducted
|
||||
abduction
|
||||
abductions
|
||||
abductor
|
||||
abductors
|
||||
abducts
|
||||
Abe
|
||||
abed
|
||||
Abel
|
||||
Abelian
|
||||
Abelson
|
||||
Aberdeen
|
||||
Abernathy
|
||||
aberrant
|
||||
aberration
|
||||
|
@ -696,3 +696,16 @@ create table t1 (a varchar(10) not null) type=myisam;
|
||||
create table t2 (b varchar(10) not null unique) type=innodb;
|
||||
select t1.a from t1,t2 where t1.a=t2.b;
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# Test of multi-table-delete with foreign key constraints
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB;
|
||||
CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id), FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE CASCADE ) TYPE=INNODB;
|
||||
insert into t1 set id=1;
|
||||
insert into t2 set id=1, t1_id=1;
|
||||
delete t1,t2 from t1,t2 where t1.id=t2.t1_id;
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
drop table t1,t2;
|
||||
|
@ -384,7 +384,6 @@ select * from mysql.db;
|
||||
enable_result_log;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
|
||||
|
||||
#
|
||||
# simple rename test
|
||||
#
|
||||
@ -397,3 +396,14 @@ select * from t1 where id=2;
|
||||
drop table t2;
|
||||
-- error 1146
|
||||
select * from t1 where id=2;
|
||||
|
||||
#
|
||||
# Load data invalidation test
|
||||
#
|
||||
|
||||
create table t1 (word char(20) not null);
|
||||
select * from t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
drop table t1;
|
@ -4,7 +4,7 @@ create table t1 (word char(20) not null);
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
eval load data local infile '$MYSQL_TEST_DIR/std_data/words.dat' into table t1;
|
||||
select * from t1;
|
||||
select * from t1 limit 10;
|
||||
|
||||
#
|
||||
# Test slave with wrong password
|
||||
|
@ -1,3 +1,7 @@
|
||||
# This test can't be run with running server (--extern) as this uses
|
||||
# load_file() on a file in the tree.
|
||||
#
|
||||
|
||||
#
|
||||
# test of full join with blob
|
||||
#
|
||||
@ -249,3 +253,13 @@ insert into t1 values ('fish', 10),('bear', 20);
|
||||
select foobar, boggle from t1 where foobar = 'fish';
|
||||
select foobar, boggle from t1 where foobar = 'fish' and boggle = 10;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug when blob is updated
|
||||
#
|
||||
|
||||
create table t1 (id integer auto_increment unique,imagem LONGBLOB not null);
|
||||
insert into t1 (id) values (1);
|
||||
update t1 set imagem=load_file('../../std_data/words.dat') where id=1;
|
||||
select if(imagem is null, "ERROR", "OK"),length(imagem) from t1 where id = 1;
|
||||
drop table t1;
|
||||
|
@ -350,7 +350,7 @@ static my_bool win32_init_tcp_ip()
|
||||
|
||||
static void netware_init()
|
||||
{
|
||||
char cwd[PATH_MAX], *name
|
||||
char cwd[PATH_MAX], *name;
|
||||
|
||||
/* init only if we are not a client library */
|
||||
if (my_progname)
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
#include <mysys_priv.h>
|
||||
#ifdef __NETWARE__
|
||||
#include <string.h>
|
||||
#include <library.h>
|
||||
|
||||
/*
|
||||
@ -61,8 +62,8 @@ long PMMeteredUsageRequest
|
||||
long *NLSMeterErrCode
|
||||
);
|
||||
|
||||
ypedef long(*PMUR)(char*, long, char*, char, char*, long, long*, long*,
|
||||
long*);
|
||||
typedef long(*PMUR)(const char*, long, const char*, char,
|
||||
const char*, long, long*, long*, long*);
|
||||
|
||||
/* infoType */
|
||||
/* indicates that the info in the userInfo param is an NDS user */
|
||||
|
@ -14,7 +14,6 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
if PLATFORM_NETWARE
|
||||
INCLUDES = -I$(srcdir)/../include -I../include -I..
|
||||
bin_PROGRAMS = mysqld_safe mysql_install_db mysql_test_run libmysql
|
||||
mysqld_safe_SOURCES= mysqld_safe.c my_manage.c
|
||||
@ -22,7 +21,27 @@ mysql_install_db_SOURCES= mysql_install_db.c my_manage.c
|
||||
mysql_test_run_SOURCES= mysql_test_run.c my_manage.c
|
||||
libmysql_SOURCES= libmysqlmain.c
|
||||
libmysql_LDADD = ../libmysql/.libs/libmysqlclient.a
|
||||
endif
|
||||
|
||||
netware_build_files = client/mysql.def client/mysqladmin.def \
|
||||
client/mysqlbinlog.def client/mysqlcheck.def \
|
||||
client/mysqldump.def client/mysqlimport.def \
|
||||
client/mysqlshow.def client/mysqltest.def \
|
||||
extra/mysql_install.def extra/my_print_defaults.def \
|
||||
extra/perror.def extra/replace.def \
|
||||
extra/resolveip.def isam/isamchk.def \
|
||||
isam/isamlog.def isam/pack_isam.def \
|
||||
libmysqld/libmysqld.def myisam/myisamchk.def \
|
||||
myisam/myisamlog.def myisam/myisampack.def \
|
||||
sql/mysqld.def sql/mysqld.xdc
|
||||
|
||||
link_sources:
|
||||
set -x; \
|
||||
for f in $(netware_build_files); do \
|
||||
rm -f $(srcdir)/../$$f; \
|
||||
org=`echo $$f | sed -e 's/.*\/\(.*\)/\1/g'`; \
|
||||
@LN_CP_F@ $(srcdir)/$$org $(srcdir)/../$$f; \
|
||||
done;
|
||||
|
||||
|
||||
# Don't update the files from bitkeeper
|
||||
%::SCCS/s.%
|
||||
|
@ -1,3 +1,6 @@
|
||||
CREATE DATABASE mysql;
|
||||
CREATE DATABASE test;
|
||||
|
||||
USE mysql;
|
||||
|
||||
CREATE TABLE db (Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL, References_priv enum('N','Y') DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db,User), KEY User (User)) comment='Database privileges';
|
||||
|
@ -2,7 +2,7 @@
|
||||
# ISAM Check
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL ISAM Table Check Tool"
|
||||
VERSION 4, 0
|
||||
STACKSIZE 65536
|
||||
|
@ -2,8 +2,8 @@
|
||||
# ISAM Log
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "ISAM Log"
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL ISAM Table Log Tool"
|
||||
VERSION 4, 0
|
||||
DEBUG
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
EXPORT @libmysql.imp
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Client Library"
|
||||
VERSION 4, 0
|
||||
AUTOUNLOAD
|
||||
|
@ -2,7 +2,7 @@
|
||||
# My Print Defaults
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Print Defaults Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -2,7 +2,7 @@
|
||||
# MyISAM Check
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL MyISAM Table Check Tool"
|
||||
VERSION 4, 0
|
||||
STACKSIZE 65536
|
||||
|
@ -2,7 +2,7 @@
|
||||
# MyISAM Log
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL MyISAM Table Log Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -2,7 +2,7 @@
|
||||
# MyISAM Pack
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL MyISAM Table Pack Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -3,7 +3,7 @@
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
SCREENNAME "MySQL Monitor"
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Monitor"
|
||||
VERSION 4, 0
|
||||
MULTIPLE
|
||||
|
@ -312,20 +312,6 @@ void create_paths()
|
||||
{
|
||||
mkdir(datadir, 0);
|
||||
}
|
||||
|
||||
// mysql directory
|
||||
snprintf(temp, PATH_MAX, "%s/mysql", datadir);
|
||||
if (stat(temp, &info))
|
||||
{
|
||||
mkdir(temp, 0);
|
||||
}
|
||||
|
||||
// test directory
|
||||
snprintf(temp, PATH_MAX, "%s/test", datadir);
|
||||
if (stat(temp, &info))
|
||||
{
|
||||
mkdir(temp, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
|
@ -3,7 +3,7 @@
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
SCREENNAME "MySQL Install"
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Initial Database Installer"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -4,7 +4,7 @@
|
||||
MODULE libc.nlm
|
||||
STACKSIZE 65536
|
||||
SCREENNAME "MySQL Test Run"
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Test Run"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -3,7 +3,7 @@
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
SCREENNAME "MySQL Admin"
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Admin Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -2,7 +2,7 @@
|
||||
# MySQL Binary Log
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Binary Log Dump Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -2,7 +2,7 @@
|
||||
# MySQL Client
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Check Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -190,7 +190,7 @@ void finish_defaults()
|
||||
if (!err_log[0]) snprintf(err_log, PATH_MAX, "%s/%s.err", datadir, hostname);
|
||||
|
||||
// safe-log
|
||||
if (!safe_log[0]) snprintf(safe_log, PATH_MAX, "%s/%s.log", datadir, hostname);
|
||||
if (!safe_log[0]) snprintf(safe_log, PATH_MAX, "%s/%s.safe", datadir, hostname);
|
||||
|
||||
// mysqld
|
||||
if (!mysqld[0]) snprintf(mysqld, PATH_MAX, "%s/bin/mysqld-max", basedir);
|
||||
@ -364,7 +364,7 @@ void get_options(int argc, char *argv[])
|
||||
|
||||
// default file arguments
|
||||
init_args(al);
|
||||
add_arg(al, "dummy");
|
||||
add_arg(al, "ignore");
|
||||
read_defaults(al);
|
||||
parse_args(al->argc, al->argv);
|
||||
free_args(al);
|
||||
|
@ -2,7 +2,7 @@
|
||||
# MySQL Admin
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Dump Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -2,7 +2,7 @@
|
||||
# MySQL Client
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Import Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -3,7 +3,7 @@
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
SCREENNAME "MySQL Show"
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Show Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -2,7 +2,7 @@
|
||||
# MySQL Admin
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Test Case Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -2,8 +2,8 @@
|
||||
# Pack ISAM
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "Pack ISAM"
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL ISAM Table Pack Tool"
|
||||
VERSION 4, 0
|
||||
DEBUG
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
# PERROR
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Error Code Description Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Replace
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL Text Replacement Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Resolve IP
|
||||
#------------------------------------------------------------------------------
|
||||
MODULE libc.nlm
|
||||
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||
DESCRIPTION "MySQL IP/Hostname Resolve Tool"
|
||||
VERSION 4, 0
|
||||
#DEBUG
|
||||
|
@ -1,3 +1,6 @@
|
||||
CREATE DATABASE mysql;
|
||||
CREATE DATABASE test;
|
||||
|
||||
USE mysql;
|
||||
|
||||
CREATE TABLE db (Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL, References_priv enum('N','Y') DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db,User), KEY User (User)) comment='Database privileges';
|
||||
|
@ -10,6 +10,7 @@ version=@VERSION@
|
||||
export machine system version
|
||||
SOURCE=`pwd`
|
||||
CP="cp -p"
|
||||
MV="mv"
|
||||
|
||||
STRIP=1
|
||||
DEBUG=0
|
||||
@ -58,7 +59,7 @@ case $system in
|
||||
MYSQL_SHARE=$BASE/share
|
||||
EXTRA_BIN_FILES="netware/mysqld_safe.nlm netware/mysql_install_db.nlm \
|
||||
netware/init_db.sql netware/test_db.sql netware/mysql_explain_log.nlm \
|
||||
netware/mysqlhotcopy.nlm netware/libmysql.nlm"
|
||||
netware/mysqlhotcopy.nlm netware/libmysql.nlm netware/init_secure_db.sql"
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -122,7 +123,7 @@ do
|
||||
done
|
||||
|
||||
if [ $BASE_SYSTEM = "netware" ] ; then
|
||||
$CP -r netware/scripts/* $BASE/scripts
|
||||
$CP -r netware/*.pl $BASE/scripts
|
||||
fi
|
||||
|
||||
for i in libmysql/.libs/libmysqlclient.a libmysql/.libs/libmysqlclient.so* libmysql/libmysqlclient.* libmysql_r/.libs/libmysqlclient_r.a libmysql_r/.libs/libmysqlclient_r.so* libmysql_r/libmysqlclient_r.* mysys/libmysys.a strings/libmystrings.a dbug/libdbug.a libmysqld/.libs/libmysqld.a libmysqld/.libs/libmysqld.so* libmysqld/libmysqld.a netware/libmysql.imp
|
||||
@ -148,12 +149,15 @@ if [ $BASE_SYSTEM != "netware" ] ; then
|
||||
rm -f $BASE/include/config-netware.h
|
||||
fi
|
||||
|
||||
if [ -d tests ] ; then
|
||||
if [ $BASE_SYSTEM != "netware" ] ; then
|
||||
if [ -d tests ] ; then
|
||||
$CP tests/*.res tests/*.tst tests/*.pl $BASE/tests
|
||||
fi
|
||||
if [ -d man ] ; then
|
||||
fi
|
||||
if [ -d man ] ; then
|
||||
$CP man/*.1 $BASE/man/man1
|
||||
fi
|
||||
fi
|
||||
|
||||
$CP support-files/* $BASE/support-files
|
||||
|
||||
if [ $BASE_SYSTEM = "netware" ] ; then
|
||||
|
@ -272,6 +272,7 @@ echo "Starting $MYSQLD daemon with databases from $DATADIR"
|
||||
echo "`date +'%y%m%d %H:%M:%S mysqld started'`" >> $err_log
|
||||
while true
|
||||
do
|
||||
rm -f $MYSQL_UNIX_PORT $pid_file # Some extra safety
|
||||
if test -z "$args"
|
||||
then
|
||||
$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file @MYSQLD_DEFAULT_SWITCHES@ >> $err_log 2>&1
|
||||
@ -310,7 +311,6 @@ do
|
||||
I=`expr $I + 1`
|
||||
done
|
||||
fi
|
||||
rm -f $MYSQL_UNIX_PORT $pid_file # Some extra safety
|
||||
echo "`date +'%y%m%d %H:%M:%S'` mysqld restarted" | tee -a $err_log
|
||||
done
|
||||
|
||||
|
@ -2256,14 +2256,20 @@ convert_search_mode_to_innobase(
|
||||
case HA_READ_BEFORE_KEY: return(PAGE_CUR_L);
|
||||
case HA_READ_PREFIX: return(PAGE_CUR_GE);
|
||||
case HA_READ_PREFIX_LAST: return(PAGE_CUR_LE);
|
||||
/* In MySQL HA_READ_PREFIX and HA_READ_PREFIX_LAST always
|
||||
use a complete-field-prefix of a kay value as the search
|
||||
/* In MySQL-4.0 HA_READ_PREFIX and HA_READ_PREFIX_LAST always
|
||||
pass a complete-field prefix of a key value as the search
|
||||
tuple. I.e., it is not allowed that the last field would
|
||||
just contain n first bytes of the full field value.
|
||||
MySQL uses a 'padding' trick to convert LIKE 'abc%'
|
||||
type queries so that it can use as a search tuple
|
||||
a complete-field-prefix of a key value. Thus, the InnoDB
|
||||
search mode PAGE_CUR_LE_OR_EXTENDS is never used. */
|
||||
search mode PAGE_CUR_LE_OR_EXTENDS is never used.
|
||||
TODO: when/if MySQL starts to use also partial-field
|
||||
prefixes, we have to deal with stripping of spaces
|
||||
and comparison of non-latin1 char type fields in
|
||||
innobase_mysql_cmp() to get PAGE_CUR_LE_OR_EXTENDS to
|
||||
work correctly. */
|
||||
|
||||
default: assert(0);
|
||||
}
|
||||
|
||||
|
@ -465,17 +465,18 @@ public:
|
||||
void update_used_tables()
|
||||
{
|
||||
if (!args[0]->maybe_null)
|
||||
used_tables_cache=0; /* is always false */
|
||||
{
|
||||
used_tables_cache= 0; /* is always false */
|
||||
cached_value= (longlong) 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
args[0]->update_used_tables();
|
||||
used_tables_cache=args[0]->used_tables();
|
||||
}
|
||||
if (!used_tables_cache)
|
||||
if (!(used_tables_cache=args[0]->used_tables()))
|
||||
{
|
||||
/* Remember if the value is always NULL or never NULL */
|
||||
args[0]->val();
|
||||
cached_value= args[0]->null_value ? (longlong) 1 : (longlong) 0;
|
||||
cached_value= (longlong) args[0]->is_null();
|
||||
}
|
||||
}
|
||||
}
|
||||
optimize_type select_optimize() const { return OPTIMIZE_NULL; }
|
||||
|
@ -494,7 +494,7 @@ int mysqld_show(THD *thd, const char *wild, show_var_st *variables,
|
||||
/* sql_handler.cc */
|
||||
int mysql_ha_open(THD *thd, TABLE_LIST *tables);
|
||||
int mysql_ha_close(THD *thd, TABLE_LIST *tables, bool dont_send_ok=0);
|
||||
int mysql_ha_closeall(THD *thd, TABLE_LIST *tables, bool dont_send_ok=0);
|
||||
int mysql_ha_closeall(THD *thd, TABLE_LIST *tables);
|
||||
int mysql_ha_read(THD *, TABLE_LIST *,enum enum_ha_read_modes,char *,
|
||||
List<Item> *,enum ha_rkey_function,Item *,ha_rows,ha_rows);
|
||||
|
||||
|
@ -760,7 +760,7 @@ void kill_mysql(void)
|
||||
|
||||
#if defined(OS2) || defined(__NETWARE__)
|
||||
extern "C" void kill_server(int sig_ptr)
|
||||
#define RETURN_FROM_KILL_SERVER DBUG_RETURN
|
||||
#define RETURN_FROM_KILL_SERVER DBUG_VOID_RETURN
|
||||
#elif !defined(__WIN__)
|
||||
static void *kill_server(void *sig_ptr)
|
||||
#define RETURN_FROM_KILL_SERVER DBUG_RETURN(0)
|
||||
@ -777,9 +777,6 @@ static void __cdecl kill_server(int sig_ptr)
|
||||
RETURN_FROM_KILL_SERVER;
|
||||
kill_in_progress=TRUE;
|
||||
abort_loop=1; // This should be set
|
||||
#ifdef __NETWARE__
|
||||
ActivateScreen(getscreenhandle()); // Show the screen going down
|
||||
#endif
|
||||
signal(sig,SIG_IGN);
|
||||
if (sig == MYSQL_KILL_SIGNAL || sig == 0)
|
||||
sql_print_error(ER(ER_NORMAL_SHUTDOWN),my_progname);
|
||||
@ -1392,7 +1389,6 @@ static void check_data_home(const char *path)
|
||||
// down server event callback
|
||||
void mysql_down_server_cb(void *, void *)
|
||||
{
|
||||
setscreenmode(SCR_AUTOCLOSE_ON_EXIT); // auto close the screen
|
||||
kill_server(0);
|
||||
}
|
||||
|
||||
@ -1448,26 +1444,6 @@ static void start_signal_handler(void)
|
||||
|
||||
static void check_data_home(const char *path)
|
||||
{
|
||||
struct volume_info vol;
|
||||
char buff[PATH_MAX], *pos;
|
||||
|
||||
bzero((char*) &vol, sizeof(vol)); // clear struct
|
||||
|
||||
// find volume name
|
||||
if ((pos= strchr(path, ':')))
|
||||
{
|
||||
uint length= (uint) (pos-path);
|
||||
strmake(buff, path, min(length, sizeof(buff)-1));
|
||||
}
|
||||
else
|
||||
strmov(buff, "SYS"); // assume SYS volume
|
||||
|
||||
netware_vol_info_from_name(&vol, buff); // retrieve information
|
||||
if ((vol.flags & VOL_NSS_PRESENT) == 0)
|
||||
{
|
||||
sql_print_error("Error: %s is not on an NSS volume!", path);
|
||||
unireg_abort(-1);
|
||||
}
|
||||
}
|
||||
|
||||
#elif defined(__EMX__)
|
||||
@ -2005,11 +1981,6 @@ int main(int argc, char **argv)
|
||||
|
||||
start_time=time((time_t*) 0);
|
||||
|
||||
#ifdef __NETWARE__
|
||||
printf("MySQL Server %s, for %s (%s)\n", VERSION, SYSTEM_TYPE, MACHINE_TYPE);
|
||||
fflush(stdout);
|
||||
#endif /* __NETWARE__ */
|
||||
|
||||
#ifdef OS2
|
||||
{
|
||||
// fix timezone for daylight saving
|
||||
@ -2764,7 +2735,11 @@ inline void kill_broken_server()
|
||||
(!opt_disable_networking && ip_sock == INVALID_SOCKET))
|
||||
{
|
||||
select_thread_in_use = 0;
|
||||
#ifdef __NETWARE__
|
||||
kill_server(MYSQL_KILL_SIGNAL); /* never returns */
|
||||
#else
|
||||
kill_server((void*)MYSQL_KILL_SIGNAL); /* never returns */
|
||||
#endif /* __NETWARE__ */
|
||||
}
|
||||
}
|
||||
#define MAYBE_BROKEN_SYSCALL kill_broken_server();
|
||||
@ -3181,8 +3156,7 @@ enum options {
|
||||
OPT_BDB_CACHE_SIZE,
|
||||
OPT_BDB_LOG_BUFFER_SIZE,
|
||||
OPT_BDB_MAX_LOCK,
|
||||
OPT_ERROR_LOG_FILE,
|
||||
OPT_AUTOCLOSE
|
||||
OPT_ERROR_LOG_FILE
|
||||
};
|
||||
|
||||
|
||||
@ -3192,9 +3166,6 @@ struct my_option my_long_options[] =
|
||||
{
|
||||
{"ansi", 'a', "Use ANSI SQL syntax instead of MySQL syntax", 0, 0, 0,
|
||||
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#ifdef __NETWARE__
|
||||
{"autoclose", OPT_AUTOCLOSE, "Auto close screen. (NetWare only)", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif /* __NETWARE__ */
|
||||
{"basedir", 'b',
|
||||
"Path to installation directory. All paths are usually resolved relative to this.",
|
||||
(gptr*) &mysql_home_ptr, (gptr*) &mysql_home_ptr, 0, GET_STR, REQUIRED_ARG,
|
||||
@ -4526,11 +4497,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
if (opt_console)
|
||||
opt_error_log= 0; // Force logs to stdout
|
||||
break;
|
||||
#ifdef __NETWARE__
|
||||
case (int) OPT_AUTOCLOSE:
|
||||
setscreenmode(SCR_AUTOCLOSE_ON_EXIT);
|
||||
break;
|
||||
#endif
|
||||
case (int) OPT_FLUSH:
|
||||
#ifdef HAVE_ISAM
|
||||
nisam_flush=1;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
|
||||
/* Copyright (C) 2000-2003 MySQL AB
|
||||
|
||||
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
|
||||
@ -283,11 +283,6 @@ bool
|
||||
net_store_data(String *packet,const char *from,uint length)
|
||||
{
|
||||
ulong packet_length=packet->length();
|
||||
/*
|
||||
We have added net5store in net_store_length.
|
||||
Before that largest size was int3store.
|
||||
Therefore +5 is changed to +9
|
||||
*/
|
||||
if (packet_length+9+length > packet->alloced_length() &&
|
||||
packet->realloc(packet_length+9+length))
|
||||
return 1;
|
||||
@ -305,8 +300,12 @@ net_store_data(String *packet,const char *from)
|
||||
{
|
||||
uint length=(uint) strlen(from);
|
||||
uint packet_length=packet->length();
|
||||
if (packet_length+9+length > packet->alloced_length() &&
|
||||
packet->realloc(packet_length+9+length))
|
||||
/*
|
||||
3 is the longest coding for storing a string with the used
|
||||
net_store_length() function. We use 5 here 'just in case'
|
||||
*/
|
||||
if (packet_length+5+length > packet->alloced_length() &&
|
||||
packet->realloc(packet_length+5+length))
|
||||
return 1;
|
||||
char *to=(char*) net_store_length((char*) packet->ptr()+packet_length,
|
||||
length);
|
||||
|
@ -45,7 +45,8 @@ void init_read_record(READ_RECORD *info,THD *thd, TABLE *table,
|
||||
info->ref_length=table->file->ref_length;
|
||||
info->select=select;
|
||||
info->print_error=print_error;
|
||||
table->status=0; /* And it's allways found */
|
||||
info->ignore_not_found_rows= 0;
|
||||
table->status=0; /* And it's always found */
|
||||
|
||||
if (select && my_b_inited(&select->file))
|
||||
tempfile= &select->file;
|
||||
@ -184,7 +185,8 @@ tryNext:
|
||||
{
|
||||
if (tmp == HA_ERR_END_OF_FILE)
|
||||
tmp= -1;
|
||||
else if (tmp == HA_ERR_RECORD_DELETED)
|
||||
else if (tmp == HA_ERR_RECORD_DELETED ||
|
||||
(tmp == HA_ERR_KEY_NOT_FOUND && info->ignore_not_found_rows))
|
||||
goto tryNext;
|
||||
else
|
||||
{
|
||||
@ -212,7 +214,8 @@ tryNext:
|
||||
{
|
||||
if (tmp == HA_ERR_END_OF_FILE)
|
||||
tmp= -1;
|
||||
else if (tmp == HA_ERR_RECORD_DELETED)
|
||||
else if (tmp == HA_ERR_RECORD_DELETED ||
|
||||
(tmp == HA_ERR_KEY_NOT_FOUND && info->ignore_not_found_rows))
|
||||
goto tryNext;
|
||||
else
|
||||
{
|
||||
|
@ -393,6 +393,7 @@ void multi_delete::send_error(uint errcode,const char *err)
|
||||
int multi_delete::do_deletes(bool from_send_error)
|
||||
{
|
||||
int local_error= 0, counter= 0;
|
||||
DBUG_ENTER("do_deletes");
|
||||
|
||||
if (from_send_error)
|
||||
{
|
||||
@ -418,7 +419,12 @@ int multi_delete::do_deletes(bool from_send_error)
|
||||
}
|
||||
|
||||
READ_RECORD info;
|
||||
init_read_record(&info,thd,table,NULL,0,0);
|
||||
init_read_record(&info,thd,table,NULL,0,1);
|
||||
/*
|
||||
Ignore any rows not found in reference tables as they may already have
|
||||
been deleted by foreign key handling
|
||||
*/
|
||||
info.ignore_not_found_rows= 1;
|
||||
while (!(local_error=info.read_record(&info)) && !thd->killed)
|
||||
{
|
||||
if ((local_error=table->file->delete_row(table->record[0])))
|
||||
@ -432,7 +438,7 @@ int multi_delete::do_deletes(bool from_send_error)
|
||||
if (local_error == -1) // End of file
|
||||
local_error = 0;
|
||||
}
|
||||
return local_error;
|
||||
DBUG_RETURN(local_error);
|
||||
}
|
||||
|
||||
|
||||
|
@ -87,18 +87,11 @@ int mysql_ha_close(THD *thd, TABLE_LIST *tables, bool dont_send_ok)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mysql_ha_closeall(THD *thd, TABLE_LIST *tables, bool dont_send_ok)
|
||||
int mysql_ha_closeall(THD *thd, TABLE_LIST *tables)
|
||||
{
|
||||
TABLE **ptr=find_table_ptr_by_name(thd, tables->db, tables->real_name, 0);
|
||||
|
||||
DBUG_ASSERT(dont_send_ok);
|
||||
if (*ptr)
|
||||
{
|
||||
// if (!dont_send_ok) VOID(pthread_mutex_lock(&LOCK_open));
|
||||
close_thread_table(thd, ptr);
|
||||
// if (!dont_send_ok) VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
}
|
||||
// if (!dont_send_ok) send_ok(&thd->net);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -336,6 +336,7 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
|
||||
}
|
||||
if (transactional_table)
|
||||
error=ha_autocommit_or_rollback(thd,error);
|
||||
query_cache_invalidate3(thd, table_list, 0);
|
||||
|
||||
err:
|
||||
if (thd->lock)
|
||||
|
@ -174,7 +174,7 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists,
|
||||
for (table=tables ; table ; table=table->next)
|
||||
{
|
||||
char *db=table->db ? table->db : thd->db;
|
||||
mysql_ha_closeall(thd, table, 1);
|
||||
mysql_ha_closeall(thd, table);
|
||||
if (!close_temporary_table(thd, db, table->real_name))
|
||||
{
|
||||
tmp_table_deleted=1;
|
||||
|
@ -106,7 +106,7 @@ typedef struct st_read_record { /* Parameter to read_record */
|
||||
byte *record;
|
||||
byte *cache,*cache_pos,*cache_end,*read_positions;
|
||||
IO_CACHE *io_cache;
|
||||
bool print_error;
|
||||
bool print_error, ignore_not_found_rows;
|
||||
} READ_RECORD;
|
||||
|
||||
enum timestamp_type { TIMESTAMP_NONE, TIMESTAMP_DATE, TIMESTAMP_FULL,
|
||||
|
Reference in New Issue
Block a user