Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
f13723ac
Commit
f13723ac
authored
Nov 30, 2004
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/jonas/src/mysql-5.0-ndb
into mysql.com:/home/jonas/src/wl2126
parents
f8e8cbc6
a1a4ddad
Changes
47
Show whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
207 additions
and
79 deletions
+207
-79
client/mysqladmin.cc
client/mysqladmin.cc
+9
-0
dbug/monty.doc
dbug/monty.doc
+1
-1
dbug/user.r
dbug/user.r
+4
-4
mysql-test/r/ndb_index_unique.result
mysql-test/r/ndb_index_unique.result
+38
-0
mysql-test/r/strict.result
mysql-test/r/strict.result
+1
-1
mysql-test/r/view.result
mysql-test/r/view.result
+4
-4
mysql-test/t/information_schema.test
mysql-test/t/information_schema.test
+1
-0
mysql-test/t/ndb_grant.later
mysql-test/t/ndb_grant.later
+0
-0
mysql-test/t/ndb_index_unique.test
mysql-test/t/ndb_index_unique.test
+20
-0
mysql-test/t/ps_1general.test
mysql-test/t/ps_1general.test
+2
-0
mysql-test/t/view.test
mysql-test/t/view.test
+4
-2
ndb/src/ndbapi/NdbScanOperation.cpp
ndb/src/ndbapi/NdbScanOperation.cpp
+1
-0
netware/comp_err.def
netware/comp_err.def
+1
-1
netware/isamchk.def
netware/isamchk.def
+1
-1
netware/isamlog.def
netware/isamlog.def
+1
-1
netware/libmysql.def
netware/libmysql.def
+1
-1
netware/my_print_defaults.def
netware/my_print_defaults.def
+1
-1
netware/myisam_ftdump.def
netware/myisam_ftdump.def
+1
-1
netware/myisamchk.def
netware/myisamchk.def
+1
-1
netware/myisamlog.def
netware/myisamlog.def
+1
-1
netware/myisampack.def
netware/myisampack.def
+1
-1
netware/mysql.def
netware/mysql.def
+1
-1
netware/mysql_install.def
netware/mysql_install.def
+1
-1
netware/mysql_install_db.def
netware/mysql_install_db.def
+1
-1
netware/mysql_test_run.def
netware/mysql_test_run.def
+1
-1
netware/mysql_waitpid.def
netware/mysql_waitpid.def
+1
-1
netware/mysqladmin.def
netware/mysqladmin.def
+1
-1
netware/mysqlbinlog.def
netware/mysqlbinlog.def
+1
-1
netware/mysqlcheck.def
netware/mysqlcheck.def
+1
-1
netware/mysqld.def
netware/mysqld.def
+1
-1
netware/mysqld_safe.def
netware/mysqld_safe.def
+1
-1
netware/mysqldump.def
netware/mysqldump.def
+1
-1
netware/mysqlimport.def
netware/mysqlimport.def
+1
-1
netware/mysqlshow.def
netware/mysqlshow.def
+1
-1
netware/mysqltest.def
netware/mysqltest.def
+1
-1
netware/pack_isam.def
netware/pack_isam.def
+1
-1
netware/perror.def
netware/perror.def
+1
-1
netware/replace.def
netware/replace.def
+1
-1
netware/resolve_stack_dump.def
netware/resolve_stack_dump.def
+1
-1
netware/resolveip.def
netware/resolveip.def
+1
-1
sql/examples/ha_archive.cc
sql/examples/ha_archive.cc
+18
-4
sql/examples/ha_archive.h
sql/examples/ha_archive.h
+8
-6
sql/field.cc
sql/field.cc
+14
-14
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+38
-6
sql/item_cmpfunc.h
sql/item_cmpfunc.h
+1
-1
sql/mysqld.cc
sql/mysqld.cc
+6
-2
sql/sql_select.cc
sql/sql_select.cc
+9
-6
No files found.
client/mysqladmin.cc
View file @
f13723ac
...
...
@@ -125,6 +125,10 @@ static TYPELIB command_typelib=
static
struct
my_option
my_long_options
[]
=
{
#ifdef __NETWARE__
{
"autoclose"
,
'a'
,
" Auto close the screen on exit for NetWare"
,
0
,
0
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#endif
{
"count"
,
'c'
,
"Number of iterations to make. This works with -i (--sleep) only."
,
(
gptr
*
)
&
nr_iterations
,
(
gptr
*
)
&
nr_iterations
,
0
,
GET_UINT
,
...
...
@@ -218,6 +222,11 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
int
error
=
0
;
switch
(
optid
)
{
#ifdef __NETWARE__
case
'a'
:
setscreenmode
(
SCR_AUTOCLOSE_ON_EXIT
);
// auto close the screen /
break
;
#endif
case
'c'
:
opt_count_iterations
=
1
;
break
;
...
...
dbug/monty.doc
View file @
f13723ac
...
...
@@ -15,6 +15,6 @@ All changes that I or other people at MySQL AB have done to all files
in the dbug library (Mainly in dbug.c, dbug_analyze.c, dbug_long.h,
dbug.h) are put in public domain, as the rest of the dbug.c library)
To my knowledge, all code in dbug library
are
in public domain.
To my knowledge, all code in dbug library
is
in public domain.
Michael Widenius
dbug/user.r
View file @
f13723ac
...
...
@@ -377,7 +377,7 @@ The factorial function is then called three times, with the arguments
Note that the DBUG_PRINT takes exactly
.B two
arguments, with the second argument (a format string and list
of printable values) enclosed in parenthes
i
s.
of printable values) enclosed in parenthes
e
s.
.P
Debug control strings consist of a header, the "-#", followed
by a colon separated list of debugger arguments.
...
...
@@ -575,7 +575,7 @@ The second argument to a
.B DBUG_PRINT
macro is a standard printf style
format string and one or more arguments to print, all
enclosed in parenthes
i
s so that they collectively become a single macro
enclosed in parenthes
e
s so that they collectively become a single macro
argument.
This is how variable numbers of printf arguments are supported.
Also note that no explicit newline is required at the end of the format string.
...
...
@@ -807,7 +807,7 @@ and the corresponding argument list.
Note that the format string and argument list are all one macro argument
and
.B must
be enclosed in parenthes
i
s.
be enclosed in parenthes
e
s.
.SP 1
EX:\ \fCDBUG_PRINT\ ("eof",\ ("end\ of\ file\ found"));\fR
.br
...
...
@@ -826,7 +826,7 @@ EX: \fCDBUG_DBUG\ ("net",\ packet,\ len);\fR
.LI DBUG_SETJMP\
Used in place of the setjmp() function to first save the current
debugger state and then execute the standard setjmp call.
This allows to the debugger to restore it
'
s state when the
This allows to the debugger to restore its state when the
DBUG_LONGJMP macro is used to invoke the standard longjmp() call.
Currently all instances of DBUG_SETJMP must occur within the
same function and at the same function nesting level.
...
...
mysql-test/r/ndb_index_unique.result
View file @
f13723ac
...
...
@@ -77,8 +77,10 @@ a b c
3 NULL NULL
select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
a b c
3 NULL NULL
select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
a b c
2 NULL 2
select * from t1 use index (bc) where b < 4 order by a;
a b c
1 1 1
...
...
@@ -574,3 +576,39 @@ uid gid rid cid
1 1 2 3
1 1 2 4
drop table t1,t2,t3,t4,t5,t6,t7;
CREATE TABLE t1 (
a int unsigned NOT NULL PRIMARY KEY,
b int unsigned,
c int unsigned,
UNIQUE bc(b,c) ) engine = ndb;
insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
select * from t1 where b=1 and c=1;
a b c
1 1 1
select * from t1 where b is null and c is null;
a b c
3 NULL NULL
select * from t1 where b is null and c = 2;
a b c
2 NULL 2
select * from t1 where b = 4 and c is null;
a b c
4 4 NULL
create table t8 as
select * from t1 where (b = 1 and c = 1)
or (b is null and c is null)
or (b is null and c = 2)
or (b = 4 and c is null);
select * from t8 order by a;
a b c
1 1 1
2 NULL 2
3 NULL NULL
4 4 NULL
select * from t1 order by a;
a b c
1 1 1
2 NULL 2
3 NULL NULL
4 4 NULL
drop table t1, t8;
mysql-test/r/strict.result
View file @
f13723ac
...
...
@@ -616,7 +616,7 @@ col1 col2
-9223372036854775808 0
9223372036854775807 18446744073709551615
-9223372036854773760 0
-9223372036854775808
1844674407370953984
9223372036854775807
1844674407370953984
-9223372036854775808 NULL
-9223372036854775808 NULL
NULL 18446744073709551615
...
...
mysql-test/r/view.result
View file @
f13723ac
...
...
@@ -8,7 +8,7 @@ create temporary table t1 (a int, b int);
create view v1 (c) as select b+1 from t1;
ERROR HY000: View's SELECT contains a temporary table 't1'
drop table t1;
create table t1 (a int, b int)
max_rows=1000000
;
create table t1 (a int, b int);
insert into t1 values (1,2), (1,3), (2,4), (2,5), (3,10);
create view v1 (c,d) as select a,b+@@global.max_user_connections from t1;
ERROR HY000: View's SELECT contains a variable or parameter
...
...
@@ -149,7 +149,7 @@ v5 VIEW
v6 VIEW
show table status;
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
t1 MyISAM 9 Fixed 5 9 45
150994943 1024 0 NULL # # NULL latin1_swedish_ci NULL max_rows=1000000
t1 MyISAM 9 Fixed 5 9 45
38654705663 1024 0 NULL # # NULL latin1_swedish_ci NULL
v1 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL # # NULL NULL NULL NULL view
v2 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL # # NULL NULL NULL NULL view
v3 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL # # NULL NULL NULL NULL view
...
...
@@ -1213,14 +1213,14 @@ select * from v1;
drop view v1;
drop table t1;
create function x1 () returns int return 5;
create table t1 (s1 int)
max_rows=1000000
;
create table t1 (s1 int);
create view v1 as select x1() from t1;
drop function x1;
select * from v1;
ERROR 42000: FUNCTION test.x1 does not exist
show table status;
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
t1 MyISAM 9 Fixed 0 0 0
83886079 1024 0 NULL # # NULL latin1_swedish_ci NULL max_rows=1000000
t1 MyISAM 9 Fixed 0 0 0
21474836479 1024 0 NULL # # NULL latin1_swedish_ci NULL
v1 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL # # NULL NULL NULL NULL FUNCTION test.x1 does not exist
drop view v1;
drop table t1;
...
...
mysql-test/t/information_schema.test
View file @
f13723ac
...
...
@@ -41,6 +41,7 @@ show tables like 't%';
--
replace_column
15
# 16 #
show
tables
*
from
test
where
table_name
like
't%'
;
--
replace_column
12
# 13 #
--
replace_result
"2147483647 "
"21474836479 "
show
table
status
;
show
full
columns
from
t3
like
"a%"
;
show
full
columns
from
mysql
.
db
like
"Insert%"
;
...
...
mysql-test/t/ndb_grant.
test
→
mysql-test/t/ndb_grant.
later
View file @
f13723ac
File moved
mysql-test/t/ndb_index_unique.test
View file @
f13723ac
...
...
@@ -265,4 +265,24 @@ select * from t4 where rid = 2 order by cid;
drop
table
t1
,
t2
,
t3
,
t4
,
t5
,
t6
,
t7
;
# test null in indexes
CREATE
TABLE
t1
(
a
int
unsigned
NOT
NULL
PRIMARY
KEY
,
b
int
unsigned
,
c
int
unsigned
,
UNIQUE
bc
(
b
,
c
)
)
engine
=
ndb
;
insert
into
t1
values
(
1
,
1
,
1
),(
2
,
NULL
,
2
),(
3
,
NULL
,
NULL
),(
4
,
4
,
NULL
);
select
*
from
t1
where
b
=
1
and
c
=
1
;
select
*
from
t1
where
b
is
null
and
c
is
null
;
select
*
from
t1
where
b
is
null
and
c
=
2
;
select
*
from
t1
where
b
=
4
and
c
is
null
;
create
table
t8
as
select
*
from
t1
where
(
b
=
1
and
c
=
1
)
or
(
b
is
null
and
c
is
null
)
or
(
b
is
null
and
c
=
2
)
or
(
b
=
4
and
c
is
null
);
select
*
from
t8
order
by
a
;
select
*
from
t1
order
by
a
;
drop
table
t1
,
t8
;
mysql-test/t/ps_1general.test
View file @
f13723ac
...
...
@@ -294,12 +294,14 @@ execute stmt4;
prepare
stmt4
from
' show table status from test like ''t2%'' '
;
# egalize date and time values
--
replace_column
12
# 13 # 14 #
--
replace_result
2147483647
64424509439
# Bug#4288 : prepared statement 'show table status ..', wrong output on execute
execute
stmt4
;
# try the same with the big table
prepare
stmt4
from
' show table status from test like ''t9%'' '
;
# egalize date and time values
--
replace_column
12
# 13 # 14 #
--
replace_result
2147483647
4294967295
# Bug#4288
execute
stmt4
;
prepare
stmt4
from
' show status like ''Threads_running'' '
;
...
...
mysql-test/t/view.test
View file @
f13723ac
...
...
@@ -19,7 +19,7 @@ create temporary table t1 (a int, b int);
create
view
v1
(
c
)
as
select
b
+
1
from
t1
;
drop
table
t1
;
create
table
t1
(
a
int
,
b
int
)
max_rows
=
1000000
;
create
table
t1
(
a
int
,
b
int
);
insert
into
t1
values
(
1
,
2
),
(
1
,
3
),
(
2
,
4
),
(
2
,
5
),
(
3
,
10
);
# view with variable
...
...
@@ -84,6 +84,7 @@ explain extended select c from v6;
show
tables
;
show
full
tables
;
--
replace_column
12
# 13 #
--
replace_result
2147483647
38654705663
show
table
status
;
drop
view
v1
,
v2
,
v3
,
v4
,
v5
,
v6
;
...
...
@@ -1165,12 +1166,13 @@ drop table t1;
# VIEW over dropped function
#
create function x1 () returns int return 5;
create table t1 (s1 int)
max_rows=1000000
;
create table t1 (s1 int);
create view v1 as select x1() from t1;
drop function x1;
-- error 1305
select * from v1;
--replace_column 12 # 13 #
--replace_result "2147483647 " "21474836479 "
show table status;
drop view v1;
drop table t1;
...
...
ndb/src/ndbapi/NdbScanOperation.cpp
View file @
f13723ac
...
...
@@ -1648,4 +1648,5 @@ NdbIndexScanOperation::end_of_bound()
m_first_bound_word
=
theKEYINFOptr
+
theTotalNrOfKeyWordInSignal
;;
m_this_bound_start
=
theTupKeyLen
;
return
0
;
}
netware/comp_err.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# MySQL Error File Compiler
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Error File Compiler"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/isamchk.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL ISAM Table Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL ISAM Table Check Tool"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/isamlog.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# ISAM Log
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL ISAM Table Log Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/libmysql.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
EXPORT @libmysql.imp
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Client Library"
VERSION 4, 0
AUTOUNLOAD
...
...
netware/my_print_defaults.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# My Print Defaults
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Print Defaults Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/myisam_ftdump.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Dump Tool"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/myisamchk.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Check Tool"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/myisamlog.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Log Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Log Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/myisampack.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL MyISAM Table Pack Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL MyISAM Table Pack Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysql.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Monitor"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Monitor"
VERSION 4, 0
MULTIPLE
...
...
netware/mysql_install.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# My Print Defaults
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Install Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysql_install_db.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Install"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Initial Database Installer"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysql_test_run.def
View file @
f13723ac
...
...
@@ -4,7 +4,7 @@
MODULE libc.nlm
STACKSIZE 65536
SCREENNAME "MySQL Test Run"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Test Run"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysql_waitpid.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
#SCREENNAME "MySQL Tool - Wait for a Program to Terminate"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Tool - Wait for a Program to Terminate"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/mysqladmin.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Admin"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Admin Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqlbinlog.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Binary Log Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Binary Log Dump Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqlcheck.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Check Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Check Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqld.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# MySQL Server
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Database Server"
VERSION 4, 0
MULTIPLE
...
...
netware/mysqld_safe.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Database Server"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Database Server Monitor"
VERSION 4, 0
MULTIPLE
...
...
netware/mysqldump.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Dump Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Dump Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqlimport.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Import"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Import Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqlshow.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
SCREENNAME "MySQL Show"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Show Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/mysqltest.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# MySQL Admin
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Test Case Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/pack_isam.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# Pack ISAM
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL ISAM Table Pack Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/perror.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# PERROR
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Error Code Description Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/replace.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# Replace
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Text Replacement Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
netware/resolve_stack_dump.def
View file @
f13723ac
...
...
@@ -3,7 +3,7 @@
#------------------------------------------------------------------------------
MODULE libc.nlm
#SCREENNAME "MySQL Stack Dump Resolve Tool"
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL Stack Dump Resolve Tool"
VERSION 4, 0
STACKSIZE 65536
...
...
netware/resolveip.def
View file @
f13723ac
...
...
@@ -2,7 +2,7 @@
# Resolve IP
#------------------------------------------------------------------------------
MODULE libc.nlm
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
COPYRIGHT "(c) 2003
-2005
Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
DESCRIPTION "MySQL IP/Hostname Resolve Tool"
VERSION 4, 0
XDCDATA ../netware/mysql.xdc
...
...
sql/examples/ha_archive.cc
View file @
f13723ac
...
...
@@ -305,6 +305,7 @@ ARCHIVE_SHARE *ha_archive::get_share(const char *table_name, TABLE *table)
share
->
use_count
=
0
;
share
->
table_name_length
=
length
;
share
->
table_name
=
tmp_name
;
share
->
delayed
=
FALSE
;
fn_format
(
share
->
data_file_name
,
table_name
,
""
,
ARZ
,
MY_REPLACE_EXT
|
MY_UNPACK_FILENAME
);
fn_format
(
meta_file_name
,
table_name
,
""
,
ARM
,
MY_REPLACE_EXT
|
MY_UNPACK_FILENAME
);
strmov
(
share
->
table_name
,
table_name
);
...
...
@@ -536,7 +537,11 @@ int ha_archive::write_row(byte * buf)
pthread_mutex_lock
(
&
share
->
mutex
);
written
=
gzwrite
(
share
->
archive_write
,
buf
,
table
->
reclength
);
DBUG_PRINT
(
"ha_archive::get_row"
,
(
"Wrote %d bytes expected %d"
,
written
,
table
->
reclength
));
if
(
!
delayed_insert
)
share
->
dirty
=
TRUE
;
else
share
->
delayed
=
TRUE
;
if
(
written
!=
table
->
reclength
)
goto
error
;
/*
...
...
@@ -594,6 +599,7 @@ int ha_archive::rnd_init(bool scan)
{
gzflush
(
share
->
archive_write
,
Z_SYNC_FLUSH
);
share
->
dirty
=
FALSE
;
share
->
delayed
=
FALSE
;
}
pthread_mutex_unlock
(
&
share
->
mutex
);
}
...
...
@@ -628,9 +634,12 @@ int ha_archive::get_row(gzFile file_to_read, byte *buf)
if
(
read
==
0
)
DBUG_RETURN
(
HA_ERR_END_OF_FILE
);
/* If the record is the wrong size, the file is probably damaged */
/* If the record is the wrong size, the file is probably damaged, unless
we are dealing with a delayed insert. In that case we can assume the file is ok,
but our row count doesn't match our data since the file has not been flushed.
*/
if
((
ulong
)
read
!=
table
->
reclength
)
DBUG_RETURN
(
HA_ERR_CRASHED_ON_USAGE
);
DBUG_RETURN
(
share
->
delayed
?
HA_ERR_END_OF_FILE
:
HA_ERR_CRASHED_ON_USAGE
);
/* Calculate blob length, we use this for our buffer */
for
(
field
=
table
->
blob_field
;
*
field
;
field
++
)
...
...
@@ -648,7 +657,7 @@ int ha_archive::get_row(gzFile file_to_read, byte *buf)
{
read
=
gzread
(
file_to_read
,
last
,
size
);
if
((
size_t
)
read
!=
size
)
DBUG_RETURN
(
HA_ERR_CRASHED_ON_USAGE
);
DBUG_RETURN
(
share
->
delayed
?
HA_ERR_END_OF_FILE
:
HA_ERR_CRASHED_ON_USAGE
);
(
*
field
)
->
set_ptr
(
size
,
last
);
last
+=
size
;
}
...
...
@@ -839,6 +848,11 @@ THR_LOCK_DATA **ha_archive::store_lock(THD *thd,
THR_LOCK_DATA
**
to
,
enum
thr_lock_type
lock_type
)
{
if
(
lock_type
==
TL_WRITE_DELAYED
)
delayed_insert
=
TRUE
;
else
delayed_insert
=
FALSE
;
if
(
lock_type
!=
TL_IGNORE
&&
lock
.
type
==
TL_UNLOCK
)
{
/*
...
...
sql/examples/ha_archive.h
View file @
f13723ac
...
...
@@ -36,6 +36,7 @@ typedef struct st_archive_share {
gzFile
archive_write
;
/* Archive file we are working with */
bool
dirty
;
/* Flag for if a flush should occur */
ulonglong
rows_recorded
;
/* Number of rows in tables */
bool
delayed
;
/* If a delayed insert has happened since opena */
}
ARCHIVE_SHARE
;
/*
...
...
@@ -53,9 +54,10 @@ class ha_archive: public handler
byte
byte_buffer
[
IO_SIZE
];
/* Initial buffer for our string */
String
buffer
;
/* Buffer used for blob storage */
ulonglong
scan_rows
;
/* Number of rows left in scan */
bool
delayed_insert
;
/* If the insert is delayed */
public:
ha_archive
(
TABLE
*
table
)
:
handler
(
table
)
ha_archive
(
TABLE
*
table
)
:
handler
(
table
)
,
delayed_insert
(
0
)
{
/* Set our original buffer from pre-allocated memory */
buffer
.
set
(
byte_buffer
,
IO_SIZE
,
system_charset_info
);
...
...
@@ -72,7 +74,7 @@ class ha_archive: public handler
ulong
table_flags
()
const
{
return
(
HA_REC_NOT_IN_SEQ
|
HA_NOT_EXACT_COUNT
|
HA_NO_AUTO_INCREMENT
|
HA_FILE_BASED
);
HA_FILE_BASED
|
HA_CAN_INSERT_DELAYED
);
}
ulong
index_flags
(
uint
idx
,
uint
part
,
bool
all_parts
)
const
{
...
...
sql/field.cc
View file @
f13723ac
...
...
@@ -1182,7 +1182,7 @@ int Field_tiny::store(double nr)
error
=
1
;
}
else
*
ptr
=
(
char
)
nr
;
*
ptr
=
(
char
)
(
int
)
nr
;
}
return
error
;
}
...
...
@@ -1313,9 +1313,9 @@ int Field_short::store(const char *from,uint len,CHARSET_INFO *cs)
set_warning
(
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_WARN_DATA_OUT_OF_RANGE
,
1
);
error
=
1
;
}
else
if
(
tmp
>
(
uint16
)
~
0
)
else
if
(
tmp
>
UINT_MAX16
)
{
tmp
=
(
uint16
)
~
0
;
tmp
=
UINT_MAX16
;
set_warning
(
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_WARN_DATA_OUT_OF_RANGE
,
1
);
error
=
1
;
}
...
...
@@ -1364,9 +1364,9 @@ int Field_short::store(double nr)
set_warning
(
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_WARN_DATA_OUT_OF_RANGE
,
1
);
error
=
1
;
}
else
if
(
nr
>
(
double
)
(
uint16
)
~
0
)
else
if
(
nr
>
(
double
)
UINT_MAX16
)
{
res
=
(
int16
)
(
uint16
)
~
0
;
res
=
(
int16
)
UINT_MAX16
;
set_warning
(
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_WARN_DATA_OUT_OF_RANGE
,
1
);
error
=
1
;
}
...
...
@@ -1388,7 +1388,7 @@ int Field_short::store(double nr)
error
=
1
;
}
else
res
=
(
int16
)
nr
;
res
=
(
int16
)
(
int
)
nr
;
}
#ifdef WORDS_BIGENDIAN
if
(
table
->
db_low_byte_first
)
...
...
@@ -1413,9 +1413,9 @@ int Field_short::store(longlong nr)
set_warning
(
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_WARN_DATA_OUT_OF_RANGE
,
1
);
error
=
1
;
}
else
if
(
nr
>
(
longlong
)
(
uint16
)
~
0
)
else
if
(
nr
>
(
longlong
)
UINT_MAX16
)
{
res
=
(
int16
)
(
uint16
)
~
0
;
res
=
(
int16
)
UINT_MAX16
;
set_warning
(
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_WARN_DATA_OUT_OF_RANGE
,
1
);
error
=
1
;
}
...
...
@@ -1884,7 +1884,7 @@ int Field_long::store(double nr)
error
=
1
;
}
else
res
=
(
int32
)
nr
;
res
=
(
int32
)
(
longlong
)
nr
;
}
if
(
error
)
set_warning
(
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_WARN_DATA_OUT_OF_RANGE
,
1
);
...
...
@@ -2123,7 +2123,7 @@ int Field_longlong::store(double nr)
res
=
0
;
error
=
1
;
}
else
if
(
nr
>=
(
double
)
~
(
ulonglong
)
0
)
else
if
(
nr
>=
(
double
)
ULONGLONG_MAX
)
{
res
=
~
(
longlong
)
0
;
error
=
1
;
...
...
@@ -2133,15 +2133,15 @@ int Field_longlong::store(double nr)
}
else
{
if
(
nr
<
(
double
)
LONGLONG_MIN
)
if
(
nr
<
=
(
double
)
LONGLONG_MIN
)
{
res
=
LONGLONG_MIN
;
error
=
1
;
error
=
(
nr
<
(
double
)
LONGLONG_MIN
)
;
}
else
if
(
nr
>
(
double
)
LONGLONG_MAX
)
else
if
(
nr
>
=
(
double
)
LONGLONG_MAX
)
{
res
=
LONGLONG_MAX
;
error
=
1
;
error
=
(
nr
>
(
double
)
LONGLONG_MAX
)
;
}
else
res
=
(
longlong
)
nr
;
...
...
sql/ha_ndbcluster.cc
View file @
f13723ac
...
...
@@ -1183,9 +1183,10 @@ int ha_ndbcluster::unique_index_read(const byte *key,
for
(
i
=
0
;
key_part
!=
end
;
key_part
++
,
i
++
)
{
if
(
set_ndb_key
(
op
,
key_part
->
field
,
i
,
key_ptr
))
if
(
set_ndb_key
(
op
,
key_part
->
field
,
i
,
key_part
->
null_bit
?
key_ptr
+
1
:
key_ptr
))
ERR_RETURN
(
trans
->
getNdbError
());
key_ptr
+=
key_part
->
length
;
key_ptr
+=
key_part
->
store_
length
;
}
if
((
res
=
define_read_attrs
(
buf
,
op
)))
...
...
@@ -2273,6 +2274,28 @@ int ha_ndbcluster::index_end()
DBUG_RETURN
(
close_scan
());
}
/**
* Check if key contains null
*/
static
int
check_null_in_key
(
const
KEY
*
key_info
,
const
byte
*
key
,
uint
key_len
)
{
KEY_PART_INFO
*
curr_part
,
*
end_part
;
const
byte
*
end_ptr
=
key
+
key_len
;
curr_part
=
key_info
->
key_part
;
end_part
=
curr_part
+
key_info
->
key_parts
;
for
(;
curr_part
!=
end_part
&&
key
<
end_ptr
;
curr_part
++
)
{
if
(
curr_part
->
null_bit
&&
*
key
)
return
1
;
key
+=
curr_part
->
store_length
;
}
return
0
;
}
int
ha_ndbcluster
::
index_read
(
byte
*
buf
,
const
byte
*
key
,
uint
key_len
,
...
...
@@ -2290,6 +2313,8 @@ int ha_ndbcluster::index_read(byte *buf,
case
PRIMARY_KEY_INDEX
:
if
(
find_flag
==
HA_READ_KEY_EXACT
&&
key_info
->
key_length
==
key_len
)
{
if
(
m_active_cursor
&&
(
error
=
close_scan
()))
DBUG_RETURN
(
error
);
DBUG_RETURN
(
pk_read
(
key
,
key_len
,
buf
));
}
else
if
(
type
==
PRIMARY_KEY_INDEX
)
...
...
@@ -2299,8 +2324,11 @@ int ha_ndbcluster::index_read(byte *buf,
break
;
case
UNIQUE_ORDERED_INDEX
:
case
UNIQUE_INDEX
:
if
(
find_flag
==
HA_READ_KEY_EXACT
&&
key_info
->
key_length
==
key_len
)
if
(
find_flag
==
HA_READ_KEY_EXACT
&&
key_info
->
key_length
==
key_len
&&
!
check_null_in_key
(
key_info
,
key
,
key_len
))
{
if
(
m_active_cursor
&&
(
error
=
close_scan
()))
DBUG_RETURN
(
error
);
DBUG_RETURN
(
unique_index_read
(
key
,
key_len
,
buf
));
}
else
if
(
type
==
UNIQUE_INDEX
)
...
...
@@ -2407,6 +2435,8 @@ int ha_ndbcluster::read_range_first_to_buf(const key_range *start_key,
start_key
->
length
==
key_info
->
key_length
&&
start_key
->
flag
==
HA_READ_KEY_EXACT
)
{
if
(
m_active_cursor
&&
(
error
=
close_scan
()))
DBUG_RETURN
(
error
);
error
=
pk_read
(
start_key
->
key
,
start_key
->
length
,
buf
);
DBUG_RETURN
(
error
==
HA_ERR_KEY_NOT_FOUND
?
HA_ERR_END_OF_FILE
:
error
);
}
...
...
@@ -2414,10 +2444,12 @@ int ha_ndbcluster::read_range_first_to_buf(const key_range *start_key,
case
UNIQUE_ORDERED_INDEX
:
case
UNIQUE_INDEX
:
key_info
=
table
->
key_info
+
active_index
;
if
(
start_key
&&
start_key
->
length
==
key_info
->
key_length
&&
start_key
->
flag
==
HA_READ_KEY_EXACT
)
if
(
start_key
&&
start_key
->
length
==
key_info
->
key_length
&&
start_key
->
flag
==
HA_READ_KEY_EXACT
&&
!
check_null_in_key
(
key_info
,
start_key
->
key
,
start_key
->
length
)
)
{
if
(
m_active_cursor
&&
(
error
=
close_scan
()))
DBUG_RETURN
(
error
);
error
=
unique_index_read
(
start_key
->
key
,
start_key
->
length
,
buf
);
DBUG_RETURN
(
error
==
HA_ERR_KEY_NOT_FOUND
?
HA_ERR_END_OF_FILE
:
error
);
}
...
...
sql/item_cmpfunc.h
View file @
f13723ac
...
...
@@ -1086,7 +1086,7 @@ class COND_EQUAL: public Sql_alloc
};
class
Item_equal_iterator
:
List_iterator_fast
<
Item_field
>
class
Item_equal_iterator
:
public
List_iterator_fast
<
Item_field
>
{
public:
inline
Item_equal_iterator
(
Item_equal
&
item_equal
)
...
...
sql/mysqld.cc
View file @
f13723ac
...
...
@@ -149,6 +149,7 @@ static VolumeID_t datavolid;
static
event_handle_t
eh
;
static
Report_t
ref
;
static
void
*
refneb
=
NULL
;
my_bool
event_flag
=
FALSE
;
static
int
volumeid
=
-
1
;
/* NEB event callback */
...
...
@@ -819,6 +820,7 @@ static void __cdecl kill_server(int sig_ptr)
unireg_end
();
#ifdef __NETWARE__
if
(
!
event_flag
)
pthread_join
(
select_thread
,
NULL
);
// wait for main thread
#endif
/* __NETWARE__ */
...
...
@@ -1530,6 +1532,7 @@ static void check_data_home(const char *path)
// down server event callback
void
mysql_down_server_cb
(
void
*
,
void
*
)
{
event_flag
=
TRUE
;
kill_server
(
0
);
}
...
...
@@ -1563,7 +1566,7 @@ void mysql_cb_init()
Register for volume deactivation event
Wrap the callback function, as it is called by non-LibC thread
*/
(
void
)
NX_WRAP_INTERFACE
(
neb_event_callback
,
1
,
&
refneb
);
(
void
*
)
NX_WRAP_INTERFACE
(
neb_event_callback
,
1
,
&
refneb
);
registerwithneb
();
NXVmRegisterExitHandler
(
mysql_cb_destroy
,
NULL
);
// clean-up
...
...
@@ -1660,6 +1663,7 @@ ulong neb_event_callback(struct EventBlock *eblock)
{
consoleprintf
(
"MySQL data volume is deactivated, shutting down MySQL Server
\n
"
);
nw_panic
=
TRUE
;
event_flag
=
TRUE
;
kill_server
(
0
);
}
}
...
...
sql/sql_select.cc
View file @
f13723ac
...
...
@@ -3464,7 +3464,7 @@ best_access_path(JOIN *join,
{
/*
Assume that the first key part matches 1% of the file
and that the hole key matches 10 (duplicates) or 1
and that the
w
hole key matches 10 (duplicates) or 1
(unique) records.
Assume also that more key matches proportionally more
records
...
...
@@ -3472,7 +3472,7 @@ best_access_path(JOIN *join,
records = (x * (b-a) + a*c-b)/(c-1)
b = records matched by whole key
a = records matched by first key part (1
0
% of all records?)
a = records matched by first key part (1% of all records?)
c = number of key parts in key
x = used key parts (1 <= x <= c)
*/
...
...
@@ -3488,9 +3488,12 @@ best_access_path(JOIN *join,
else
{
double
a
=
s
->
records
*
0.01
;
tmp
=
(
max_key_part
*
(
rec_per_key
-
a
)
+
if
(
keyinfo
->
key_parts
>
1
)
tmp
=
(
max_key_part
*
(
rec_per_key
-
a
)
+
a
*
keyinfo
->
key_parts
-
rec_per_key
)
/
(
keyinfo
->
key_parts
-
1
);
else
tmp
=
a
;
set_if_bigger
(
tmp
,
1.0
);
}
records
=
(
ulong
)
tmp
;
...
...
@@ -4421,7 +4424,7 @@ find_best(JOIN *join,table_map rest_tables,uint idx,double record_count,
{
/*
Assume that the first key part matches 1% of the file
and that the hole key matches 10 (duplicates) or 1
and that the
w
hole key matches 10 (duplicates) or 1
(unique) records.
Assume also that more key matches proportionally more
records
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment