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
fa32db5f
Commit
fa32db5f
authored
Apr 27, 2007
by
tomas@whalegate.ndb.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
parents
9a703120
29d2d5dc
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
187 additions
and
111 deletions
+187
-111
BUILD/compile-pentium-debug
BUILD/compile-pentium-debug
+2
-1
BUILD/compile-pentium-debug-max
BUILD/compile-pentium-debug-max
+2
-1
BUILD/compile-pentium-debug-max-no-ndb
BUILD/compile-pentium-debug-max-no-ndb
+2
-1
BUILD/compile-pentium64-debug
BUILD/compile-pentium64-debug
+2
-1
BUILD/compile-pentium64-debug-max
BUILD/compile-pentium64-debug-max
+2
-1
Makefile.am
Makefile.am
+4
-0
VC++Files/mysql.sln
VC++Files/mysql.sln
+1
-0
configure.in
configure.in
+70
-22
dbug/dbug_analyze.c
dbug/dbug_analyze.c
+3
-1
include/Makefile.am
include/Makefile.am
+2
-2
myisam/mi_info.c
myisam/mi_info.c
+3
-3
myisam/mi_rkey.c
myisam/mi_rkey.c
+3
-1
myisam/myisamdef.h
myisam/myisamdef.h
+1
-0
myisammrg/myrg_rkey.c
myisammrg/myrg_rkey.c
+4
-0
mysql-test/Makefile.am
mysql-test/Makefile.am
+8
-1
mysql-test/r/fulltext.result
mysql-test/r/fulltext.result
+7
-0
mysql-test/r/merge.result
mysql-test/r/merge.result
+11
-0
mysql-test/r/truncate.result
mysql-test/r/truncate.result
+3
-23
mysql-test/t/fulltext.test
mysql-test/t/fulltext.test
+10
-0
mysql-test/t/merge.test
mysql-test/t/merge.test
+13
-0
mysql-test/t/sp.test
mysql-test/t/sp.test
+3
-0
mysql-test/t/truncate.test
mysql-test/t/truncate.test
+8
-23
ndb/include/ndbapi/Ndb.hpp
ndb/include/ndbapi/Ndb.hpp
+1
-12
ndb/src/ndbapi/NdbImpl.hpp
ndb/src/ndbapi/NdbImpl.hpp
+12
-3
ndb/test/ndbapi/testScanFilter.cpp
ndb/test/ndbapi/testScanFilter.cpp
+2
-3
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+4
-4
sql/item_func.cc
sql/item_func.cc
+1
-1
sql/sql_delete.cc
sql/sql_delete.cc
+3
-6
sql/sql_lex.cc
sql/sql_lex.cc
+0
-1
No files found.
BUILD/compile-pentium-debug
View file @
fa32db5f
#! /bin/sh
path
=
`
dirname
$0
`
.
"
$path
/SETUP.sh"
$@
--with-debug
=
full
set
--
"
$@
"
--with-debug
=
full
.
"
$path
/SETUP.sh"
extra_flags
=
"
$pentium_cflags
$debug_cflags
"
c_warnings
=
"
$c_warnings
$debug_extra_warnings
"
...
...
BUILD/compile-pentium-debug-max
View file @
fa32db5f
#! /bin/sh
path
=
`
dirname
$0
`
.
"
$path
/SETUP.sh"
$@
--with-debug
=
full
set
--
"
$@
"
--with-debug
=
full
.
"
$path
/SETUP.sh"
extra_flags
=
"
$pentium_cflags
$debug_cflags
$max_cflags
"
c_warnings
=
"
$c_warnings
$debug_extra_warnings
"
...
...
BUILD/compile-pentium-debug-max-no-ndb
View file @
fa32db5f
#! /bin/sh
path
=
`
dirname
$0
`
.
"
$path
/SETUP.sh"
$@
--with-debug
=
full
set
--
"
$@
"
--with-debug
=
full
.
"
$path
/SETUP.sh"
extra_flags
=
"
$pentium_cflags
$debug_cflags
$max_cflags
"
c_warnings
=
"
$c_warnings
$debug_extra_warnings
"
...
...
BUILD/compile-pentium64-debug
View file @
fa32db5f
#! /bin/sh
path
=
`
dirname
$0
`
.
"
$path
/SETUP.sh"
$@
--with-debug
=
full
set
--
"
$@
"
--with-debug
=
full
.
"
$path
/SETUP.sh"
extra_flags
=
"
$pentium64_cflags
$debug_cflags
"
c_warnings
=
"
$c_warnings
$debug_extra_warnings
"
...
...
BUILD/compile-pentium64-debug-max
View file @
fa32db5f
#! /bin/sh
path
=
`
dirname
$0
`
.
"
$path
/SETUP.sh"
$@
--with-debug
=
full
set
--
"
$@
"
--with-debug
=
full
.
"
$path
/SETUP.sh"
extra_flags
=
"
$pentium64_cflags
$debug_cflags
$max_cflags
"
c_warnings
=
"
$c_warnings
$debug_extra_warnings
"
...
...
Makefile.am
View file @
fa32db5f
...
...
@@ -153,6 +153,10 @@ test-bt:
@PERL@ ./mysql-test-run.pl
--force
--comment
=
normal
--report-features
-
cd
mysql-test
;
MTR_BUILD_THREAD
=
auto
\
@PERL@ ./mysql-test-run.pl
--force
--comment
=
ps
--ps-protocol
-
cd
mysql-test
;
MTR_BUILD_THREAD
=
auto
\
@PERL@ ./mysql-test-run.pl
--force
--comment
=
funcs1_ps
--ps-protocol
--suite
=
funcs_1
-
cd
mysql-test
;
MTR_BUILD_THREAD
=
auto
\
@PERL@ ./mysql-test-run.pl
--force
--comment
=
funcs2
--suite
=
funcs_2
test-bt-debug
:
-
cd
mysql-test
;
MTR_BUILD_THREAD
=
auto
\
...
...
VC++Files/mysql.sln
View file @
fa32db5f
...
...
@@ -733,6 +733,7 @@ Global
{44D9C7DC-6636-4B82-BD01-6876C64017DF}.Debug 98.ActiveCfg = Debug 98|Win32
{44D9C7DC-6636-4B82-BD01-6876C64017DF}.Debug 98.Build.0 = Debug 98|Win32
{44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise.ActiveCfg = Release|Win32
{44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise.Build.0 = Release|Win32
{44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise Debug.ActiveCfg = Debug|Win32
{44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise Debug.Build.0 = Debug|Win32
{44D9C7DC-6636-4B82-BD01-6876C64017DF}.Enterprise GPL.ActiveCfg = Release|Win32
...
...
configure.in
View file @
fa32db5f
...
...
@@ -463,6 +463,22 @@ AC_SUBST(MAKEINDEX)
# icheck, used for ABI check
AC_PATH_PROG
(
ICHECK, icheck, no
)
# "icheck" is also the name of a file system check program on Tru64.
# Verify the program found is really the interface checker.
if
test
"x
$ICHECK
"
!=
"xno"
then
AC_MSG_CHECKING
(
if
$ICHECK
works as expected
)
echo
"int foo;"
>
conftest.h
$ICHECK
--canonify
-o
conftest.ic conftest.h 2>/dev/null
if
test
-f
"conftest.ic"
then
AC_MSG_RESULT
(
yes
)
else
AC_MSG_RESULT
(
no
)
ICHECK
=
no
fi
rm
-f
conftest.ic conftest.h
fi
AC_SUBST
(
ICHECK
)
# Lock for PS
...
...
@@ -2380,28 +2396,6 @@ AC_ARG_WITH(man,
[
with_man
=
yes
]
)
if
test
X
"
$with_man
"
=
Xyes
then
man_dirs
=
"man"
if
test
X
"
$have_ndbcluster
"
=
Xyes
then
man1_files
=
`
ls
$srcdir
/man/
*
.1 |
sed
-e
's;^.*man/;;'
`
man8_files
=
`
ls
$srcdir
/man/
*
.8 |
sed
-e
's;^.*man/;;'
`
else
man1_files
=
`
ls
$srcdir
/man/
*
.1 |
grep
-v
'/ndb'
|
sed
-e
's;^.*man/;;'
`
man8_files
=
`
ls
$srcdir
/man/
*
.8 |
grep
-v
'/ndb'
|
sed
-e
's;^.*man/;;'
`
fi
man1_files
=
`
echo
$man1_files
`
man8_files
=
`
echo
$man8_files
`
else
man_dirs
=
""
man1_files
=
""
man8_files
=
""
fi
AC_SUBST
(
man_dirs
)
AC_SUBST
(
man1_files
)
AC_SUBST
(
man8_files
)
# Shall we build the bench code?
AC_ARG_WITH
(
bench,
[
--without-bench
Skip building of the benchmark suite.],
...
...
@@ -2536,6 +2530,60 @@ MYSQL_CHECK_BLACKHOLEDB
MYSQL_CHECK_NDBCLUSTER
MYSQL_CHECK_FEDERATED
# Include man pages, if desired, adapted to the configured parts.
if test X"$with_man" = Xyes
then
# First, create the list of all man pages present.
MANLISTFIL=manlist.$$
TMPLISTFIL=`echo $MANLISTFIL | sed -e '
s/manlist/tmplist/
'`
if test -f $MANLISTFIL -o -f $TMPLISTFIL
then
echo "Temp file '
$MANLISTFIL
' or '
$TMPLISTFIL
' already exists in '
`
pwd
`
' - aborting"
exit 1
fi
touch $MANLISTFIL $TMPLISTFIL
ls $srcdir/man/*.[[18]] > $MANLISTFIL
# Then, remove all those pages from the list which are specific to parts
# (table handlers, features, ...) which are not configured in this run.
AC_MSG_CHECKING("for man pages to remove")
MAN_DROP="dropping"
if test X"$have_ndbcluster" != Xyes
then
MAN_DROP="$MAN_DROP ndbcluster"
grep -v '
/ndb
' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL
fi
if test X"$with_embedded_server" != Xyes
then
MAN_DROP="$MAN_DROP embedded"
grep -v '
embedded
' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL
fi
if test X"$have_innodb" != Xyes
then
MAN_DROP="$MAN_DROP innodb"
grep -v '
inno
' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL
fi
AC_MSG_RESULT([$MAN_DROP])
# Finally, split the man pages into sections 1 and 8.
# Get rid of line breaks.
man1_files=`sed -n -e '
/
\.
1
$/
s/^.
*
man
\/
//p
' <$MANLISTFIL`
man8_files=`sed -n -e '
/
\.
8
$/
s/^.
*
man
\/
//p
' <$MANLISTFIL`
man_dirs="man"
man1_files=`echo $man1_files`
man8_files=`echo $man8_files`
rm -f $MANLISTFIL $TMPLISTFIL
else
man_dirs=""
man1_files=""
man8_files=""
fi
AC_SUBST(man_dirs)
AC_SUBST(man1_files)
AC_SUBST(man8_files)
# If we have threads generate some library functions and test programs
sql_server_dirs=
server_scripts=
...
...
dbug/dbug_analyze.c
View file @
fa32db5f
...
...
@@ -574,10 +574,12 @@ int main (int argc, char **argv)
FILE
*
infile
;
FILE
*
outfile
=
{
stdout
};
#if defined(HAVE_PTHREAD_INIT) && defined(THREAD)
#ifdef THREAD
#if defined(HAVE_PTHREAD_INIT)
pthread_init
();
/* Must be called before DBUG_ENTER */
#endif
my_thread_global_init
();
#endif
/* THREAD */
{
DBUG_ENTER
(
"main"
);
DBUG_PROCESS
(
argv
[
0
]);
...
...
include/Makefile.am
View file @
fa32db5f
...
...
@@ -22,7 +22,7 @@ HEADERS_ABI = mysql.h mysql_com.h mysql_time.h \
pkginclude_HEADERS
=
$(HEADERS_ABI)
my_dbug.h m_string.h my_sys.h
\
my_xml.h mysql_embed.h
\
my_pthread.h my_no_pthread.h raid.h
\
errmsg.h my_global.h my_net.h
\
decimal.h
errmsg.h my_global.h my_net.h
\
my_getopt.h sslopt-longopts.h my_dir.h
\
sslopt-vars.h sslopt-case.h sql_common.h keycache.h
\
m_ctype.h my_attribute.h
$(HEADERS_GEN)
...
...
@@ -33,7 +33,7 @@ noinst_HEADERS = config-win.h config-os2.h config-netware.h \
my_nosys.h my_alarm.h queues.h rijndael.h sha1.h
\
my_aes.h my_tree.h hash.h thr_alarm.h
\
thr_lock.h t_ctype.h violite.h md5.h base64.h
\
mysql_version.h.in my_handler.h my_time.h
decimal.h
\
mysql_version.h.in my_handler.h my_time.h
\
my_user.h my_libwrap.h
# Remove built files and the symlinked directories
...
...
myisam/mi_info.c
View file @
fa32db5f
...
...
@@ -57,9 +57,9 @@ int mi_status(MI_INFO *info, register MI_ISAMINFO *x, uint flag)
x
->
keys
=
share
->
state
.
header
.
keys
;
x
->
check_time
=
share
->
state
.
check_time
;
x
->
mean_reclength
=
info
->
state
->
records
?
(
ulong
)
((
info
->
state
->
data_file_length
-
info
->
state
->
empty
)
/
info
->
state
->
records
)
:
(
ulong
)
share
->
min_pack_length
;
x
->
mean_reclength
=
x
->
records
?
(
ulong
)
((
x
->
data_file_length
-
x
->
delete_length
)
/
x
->
records
)
:
(
ulong
)
share
->
min_pack_length
;
}
if
(
flag
&
HA_STATUS_ERRKEY
)
{
...
...
myisam/mi_rkey.c
View file @
fa32db5f
...
...
@@ -49,7 +49,7 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
key_buff
=
info
->
lastkey
+
info
->
s
->
base
.
max_key_length
;
pack_key_length
=
key_len
;
bmove
(
key_buff
,
key
,
key_len
);
last_used_keyseg
=
0
;
last_used_keyseg
=
info
->
s
->
keyinfo
[
inx
].
seg
+
info
->
last_used_keyseg
;
}
else
{
...
...
@@ -61,6 +61,8 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
key_len
,
&
last_used_keyseg
);
/* Save packed_key_length for use by the MERGE engine. */
info
->
pack_key_length
=
pack_key_length
;
info
->
last_used_keyseg
=
(
uint16
)
(
last_used_keyseg
-
info
->
s
->
keyinfo
[
inx
].
seg
);
DBUG_EXECUTE
(
"key"
,
_mi_print_key
(
DBUG_FILE
,
keyinfo
->
seg
,
key_buff
,
pack_key_length
););
}
...
...
myisam/myisamdef.h
View file @
fa32db5f
...
...
@@ -263,6 +263,7 @@ struct st_myisam_info {
enum
ha_rkey_function
last_key_func
;
/* CONTAIN, OVERLAP, etc */
uint
save_lastkey_length
;
uint
pack_key_length
;
/* For MYISAMMRG */
uint16
last_used_keyseg
;
/* For MyISAMMRG */
int
errkey
;
/* Got last error on this key */
int
lock_type
;
/* How database was locked */
int
tmp_lock_type
;
/* When locked by readinfo */
...
...
myisammrg/myrg_rkey.c
View file @
fa32db5f
...
...
@@ -40,12 +40,14 @@ int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key,
{
byte
*
key_buff
;
uint
pack_key_length
;
uint16
last_used_keyseg
;
MYRG_TABLE
*
table
;
MI_INFO
*
mi
;
int
err
;
DBUG_ENTER
(
"myrg_rkey"
);
LINT_INIT
(
key_buff
);
LINT_INIT
(
pack_key_length
);
LINT_INIT
(
last_used_keyseg
);
if
(
_myrg_init_queue
(
info
,
inx
,
search_flag
))
DBUG_RETURN
(
my_errno
);
...
...
@@ -60,10 +62,12 @@ int myrg_rkey(MYRG_INFO *info,byte *buf,int inx, const byte *key,
/* Get the saved packed key and packed key length. */
key_buff
=
(
byte
*
)
mi
->
lastkey
+
mi
->
s
->
base
.
max_key_length
;
pack_key_length
=
mi
->
pack_key_length
;
last_used_keyseg
=
mi
->
last_used_keyseg
;
}
else
{
mi
->
once_flags
|=
USE_PACKED_KEYS
;
mi
->
last_used_keyseg
=
last_used_keyseg
;
err
=
mi_rkey
(
mi
,
0
,
inx
,
key_buff
,
pack_key_length
,
search_flag
);
}
info
->
last_used_table
=
table
+
1
;
...
...
mysql-test/Makefile.am
View file @
fa32db5f
...
...
@@ -33,7 +33,7 @@ endif
benchdir_root
=
$(prefix)
testdir
=
$(benchdir_root)
/mysql-test
EXTRA_SCRIPTS
=
mysql-test-run-shell.sh install_test_db.sh valgrind.supp
$(PRESCRIPTS)
EXTRA_DIST
=
$(EXTRA_SCRIPTS)
EXTRA_DIST
=
$(EXTRA_SCRIPTS)
suite
GENSCRIPTS
=
mysql-test-run-shell mysql-test-run install_test_db mtr
PRESCRIPTS
=
mysql-test-run.pl
test_SCRIPTS
=
$(GENSCRIPTS)
$(PRESCRIPTS)
...
...
@@ -67,6 +67,7 @@ dist-hook:
$(INSTALL_DATA)
$(srcdir)
/std_data/
*
.MY
*
$(distdir)
/std_data
$(INSTALL_DATA)
$(srcdir)
/std_data/
*
.cnf
$(distdir)
/std_data
$(INSTALL_DATA)
$(srcdir)
/lib/
*
.pl
$(distdir)
/lib
-
rm
-rf
`
find
$(distdir)
/suite
-type
d
-name
SCCS
`
install-data-local
:
$(mkinstalldirs)
\
...
...
@@ -98,6 +99,12 @@ install-data-local:
$(INSTALL_DATA)
$(srcdir)
/std_data/
*
.MY
*
$(DESTDIR)$(testdir)
/std_data
$(INSTALL_DATA)
$(srcdir)
/std_data/
*
.cnf
$(DESTDIR)$(testdir)
/std_data
$(INSTALL_DATA)
$(srcdir)
/lib/
*
.pl
$(DESTDIR)$(testdir)
/lib
for
f
in
`
(
cd
$(srcdir)
;
find suite
-type
f |
grep
-v
SCCS
)
`
;
\
do
\
d
=
$(DESTDIR)$(testdir)
/
`
dirname
$$
f
`
;
\
mkdir
-p
$$
d
;
\
$(INSTALL_DATA)
$(srcdir)
/
$$
f
$$
d
;
\
done
uninstall-local
:
@
RM@
-f
-r
$(DESTDIR)$(testdir)
...
...
mysql-test/r/fulltext.result
View file @
fa32db5f
...
...
@@ -456,3 +456,10 @@ a FORMAT(MATCH(a) AGAINST('test1 test'),6)
test1 0.685267
DEALLOCATE PREPARE stmt;
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(255), FULLTEXT(a));
SELECT * FROM t1 IGNORE INDEX(a) WHERE MATCH(a) AGAINST('test');
a
ALTER TABLE t1 DISABLE KEYS;
SELECT * FROM t1 WHERE MATCH(a) AGAINST('test');
ERROR HY000: Can't find FULLTEXT index matching the column list
DROP TABLE t1;
mysql-test/r/merge.result
View file @
fa32db5f
...
...
@@ -816,6 +816,17 @@ ALTER TABLE m1 ENGINE=MERGE UNION=(t1);
SELECT * FROM m1;
c1 c2 c3 c4 c5 c6 c7 c8 c9
DROP TABLE t1, m1;
CREATE TABLE t1 (a VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_german2_ci,
b INT, INDEX(a,b));
CREATE TABLE t2 LIKE t1;
CREATE TABLE t3 LIKE t1;
ALTER TABLE t3 ENGINE=MERGE UNION=(t1,t2);
INSERT INTO t1 VALUES ('ss',1);
INSERT INTO t2 VALUES ('ss',2),(0xDF,2);
SELECT COUNT(*) FROM t3 WHERE a=0xDF AND b=2;
COUNT(*)
2
DROP TABLE t1,t2,t3;
create table t1 (b bit(1));
create table t2 (b bit(1));
create table tm (b bit(1)) engine = merge union = (t1,t2);
...
...
mysql-test/r/truncate.result
View file @
fa32db5f
...
...
@@ -57,26 +57,6 @@ create table t1 (s1 int);
insert into t1 (s1) values (1), (2), (3), (4), (5);
create view v1 as select * from t1;
truncate table v1;
select count(*) from t1;
count(*)
0
insert into t1 (s1) values (1), (2), (3), (4), (5);
create view v2 as select * from t1 where s1 > 3;
truncate table v2;
select * from t1;
s1
1
2
3
select * from v2;
s1
delete from t1;
create table t2 (s1 int, s2 int);
create view v3 as select a.s1, b.s2 from t1 a join t2 b on a.s1 = b.s1 where a.s1 > 3;
truncate table v3;
ERROR HY000: Can not delete from join view 'test.v3'
create view v4 as select * from t1 limit 1,1;
truncate table v4;
ERROR HY000: The target table v4 of the TRUNCATE is not updatable
drop view v1, v2, v3, v4;
drop table t1, t2;
ERROR 42S02: Table 'test.v1' doesn't exist
drop view v1;
drop table t1;
mysql-test/t/fulltext.test
View file @
fa32db5f
...
...
@@ -377,4 +377,14 @@ EXECUTE stmt;
DEALLOCATE
PREPARE
stmt
;
DROP
TABLE
t1
;
#
# BUG#25951 - ignore/use index does not work with fulltext
#
CREATE
TABLE
t1
(
a
VARCHAR
(
255
),
FULLTEXT
(
a
));
SELECT
*
FROM
t1
IGNORE
INDEX
(
a
)
WHERE
MATCH
(
a
)
AGAINST
(
'test'
);
ALTER
TABLE
t1
DISABLE
KEYS
;
--
error
1191
SELECT
*
FROM
t1
WHERE
MATCH
(
a
)
AGAINST
(
'test'
);
DROP
TABLE
t1
;
# End of 4.1 tests
mysql-test/t/merge.test
View file @
fa32db5f
...
...
@@ -447,6 +447,19 @@ ALTER TABLE m1 ENGINE=MERGE UNION=(t1);
SELECT
*
FROM
m1
;
DROP
TABLE
t1
,
m1
;
#
# BUG#24342 - Incorrect results with query over MERGE table
#
CREATE
TABLE
t1
(
a
VARCHAR
(
255
)
CHARACTER
SET
latin1
COLLATE
latin1_german2_ci
,
b
INT
,
INDEX
(
a
,
b
));
CREATE
TABLE
t2
LIKE
t1
;
CREATE
TABLE
t3
LIKE
t1
;
ALTER
TABLE
t3
ENGINE
=
MERGE
UNION
=
(
t1
,
t2
);
INSERT
INTO
t1
VALUES
(
'ss'
,
1
);
INSERT
INTO
t2
VALUES
(
'ss'
,
2
),(
0xDF
,
2
);
SELECT
COUNT
(
*
)
FROM
t3
WHERE
a
=
0xDF
AND
b
=
2
;
DROP
TABLE
t1
,
t2
,
t3
;
# End of 4.1 tests
#
...
...
mysql-test/t/sp.test
View file @
fa32db5f
...
...
@@ -7075,8 +7075,11 @@ DROP FUNCTION bug5274_f2|
delimiter
;
|
drop
table
t1
,
t2
;
# Disable warnings to allow test run without InnoDB
--
disable_warnings
CREATE
TABLE
t1
(
a
int
auto_increment
primary
key
)
engine
=
MyISAM
;
CREATE
TABLE
t2
(
a
int
auto_increment
primary
key
,
b
int
)
engine
=
innodb
;
--
enable_warnings
set
@
a
=
0
;
delimiter
|
;
...
...
mysql-test/t/truncate.test
View file @
fa32db5f
...
...
@@ -54,33 +54,18 @@ drop table t1;
# End of 4.1 tests
# Test for Bug#5507 "TRUNCATE should work with views"
#
# when it'll be fixed, the error should become 1347
# (test.v1' is not BASE TABLE)
#
create
table
t1
(
s1
int
);
insert
into
t1
(
s1
)
values
(
1
),
(
2
),
(
3
),
(
4
),
(
5
);
create
view
v1
as
select
*
from
t1
;
--
error
1146
truncate
table
v1
;
select
count
(
*
)
from
t1
;
insert
into
t1
(
s1
)
values
(
1
),
(
2
),
(
3
),
(
4
),
(
5
);
create
view
v2
as
select
*
from
t1
where
s1
>
3
;
truncate
table
v2
;
select
*
from
t1
;
select
*
from
v2
;
delete
from
t1
;
# The following should fail
create
table
t2
(
s1
int
,
s2
int
);
create
view
v3
as
select
a
.
s1
,
b
.
s2
from
t1
a
join
t2
b
on
a
.
s1
=
b
.
s1
where
a
.
s1
>
3
;
--
error
1395
truncate
table
v3
;
# The following should fail
create
view
v4
as
select
*
from
t1
limit
1
,
1
;
--
error
1288
truncate
table
v4
;
drop
view
v1
,
v2
,
v3
,
v4
;
drop
table
t1
,
t2
;
drop
view
v1
;
drop
table
t1
;
# End of 5.0 tests
ndb/include/ndbapi/Ndb.hpp
View file @
fa32db5f
...
...
@@ -1051,18 +1051,7 @@ class Ndb
friend
class
NdbDictionaryImpl
;
friend
class
NdbDictInterface
;
friend
class
NdbBlob
;
friend
class
Ndb_free_list_t
<
NdbRecAttr
>
;
friend
class
Ndb_free_list_t
<
NdbApiSignal
>
;
friend
class
Ndb_free_list_t
<
NdbLabel
>
;
friend
class
Ndb_free_list_t
<
NdbBranch
>
;
friend
class
Ndb_free_list_t
<
NdbSubroutine
>
;
friend
class
Ndb_free_list_t
<
NdbCall
>
;
friend
class
Ndb_free_list_t
<
NdbBlob
>
;
friend
class
Ndb_free_list_t
<
NdbReceiver
>
;
friend
class
Ndb_free_list_t
<
NdbIndexScanOperation
>
;
friend
class
Ndb_free_list_t
<
NdbOperation
>
;
friend
class
Ndb_free_list_t
<
NdbIndexOperation
>
;
friend
class
Ndb_free_list_t
<
NdbTransaction
>
;
friend
class
NdbImpl
;
#endif
public:
...
...
ndb/src/ndbapi/NdbImpl.hpp
View file @
fa32db5f
...
...
@@ -89,6 +89,15 @@ public:
return
0
;
}
/*
We need this friend accessor function to work around a HP compiler problem,
where template class friends are not working.
*/
static
inline
void
setNdbError
(
Ndb
&
ndb
,
int
code
){
ndb
.
theError
.
code
=
code
;
return
;
}
/**
* NOTE free lists must be _after_ theNdbObjectIdMap take
* assure that destructors are run in correct order
...
...
@@ -208,7 +217,7 @@ Ndb_free_list_t<T>::fill(Ndb* ndb, Uint32 cnt)
m_free_list
=
new
T
(
ndb
);
if
(
m_free_list
==
0
)
{
ndb
->
theError
.
code
=
4000
;
NdbImpl
::
setNdbError
(
*
ndb
,
4000
)
;
assert
(
false
);
return
-
1
;
}
...
...
@@ -218,7 +227,7 @@ Ndb_free_list_t<T>::fill(Ndb* ndb, Uint32 cnt)
T
*
obj
=
new
T
(
ndb
);
if
(
obj
==
0
)
{
ndb
->
theError
.
code
=
4000
;
NdbImpl
::
setNdbError
(
*
ndb
,
4000
)
;
assert
(
false
);
return
-
1
;
}
...
...
@@ -250,7 +259,7 @@ Ndb_free_list_t<T>::seize(Ndb* ndb)
}
else
{
ndb
->
theError
.
code
=
4000
;
NdbImpl
::
setNdbError
(
*
ndb
,
4000
)
;
assert
(
false
);
}
return
tmp
;
...
...
ndb/test/ndbapi/testScanFilter.cpp
View file @
fa32db5f
/* Copyright (C) 2007
, Justin He,
MySQL AB
/* Copyright (C) 2007 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
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
...
...
sql/ha_ndbcluster.cc
View file @
fa32db5f
...
...
@@ -733,8 +733,8 @@ int ha_ndbcluster::set_ndb_value(NdbOperation *ndb_op, Field *field,
DBUG_DUMP
(
"value"
,
(
char
*
)
&
bits
,
pack_len
);
#ifdef WORDS_BIGENDIAN
/* store lsw first */
bits
=
((
bits
>>
32
)
&
0x00000000FFFFFFFF
)
|
((
bits
<<
32
)
&
0xFFFFFFFF00000000
);
bits
=
((
bits
>>
32
)
&
0x00000000FFFFFFFF
LL
)
|
((
bits
<<
32
)
&
0xFFFFFFFF00000000
LL
);
#endif
DBUG_RETURN
(
ndb_op
->
setValue
(
fieldnr
,
(
char
*
)
&
bits
,
pack_len
)
!=
0
);
}
...
...
@@ -2685,10 +2685,10 @@ void ha_ndbcluster::unpack_record(byte* buf)
/* lsw is stored first */
Uint32
*
buf
=
(
Uint32
*
)(
*
value
).
rec
->
aRef
();
((
Field_bit
*
)
*
field
)
->
store
((((
longlong
)
*
buf
)
&
0x000000000FFFFFFFF
)
&
0x000000000FFFFFFFF
LL
)
|
((((
longlong
)
*
(
buf
+
1
))
<<
32
)
&
0xFFFFFFFF00000000
),
&
0xFFFFFFFF00000000
LL
),
TRUE
);
#else
((
Field_bit
*
)
*
field
)
->
store
((
longlong
)
...
...
sql/item_func.cc
View file @
fa32db5f
...
...
@@ -4734,7 +4734,7 @@ bool Item_func_match::fix_index()
for
(
keynr
=
0
;
keynr
<
table
->
s
->
keys
;
keynr
++
)
{
if
((
table
->
key_info
[
keynr
].
flags
&
HA_FULLTEXT
)
&&
(
table
->
keys_in_use_for_query
.
is_set
(
keynr
)))
(
table
->
s
->
keys_in_use
.
is_set
(
keynr
)))
{
ft_to_key
[
fts
]
=
keynr
;
ft_cnt
[
fts
]
=
0
;
...
...
sql/sql_delete.cc
View file @
fa32db5f
...
...
@@ -369,8 +369,6 @@ bool mysql_prepare_delete(THD *thd, TABLE_LIST *table_list, Item **conds)
{
Item
*
fake_conds
=
0
;
SELECT_LEX
*
select_lex
=
&
thd
->
lex
->
select_lex
;
const
char
*
operation
=
thd
->
lex
->
sql_command
==
SQLCOM_TRUNCATE
?
"TRUNCATE"
:
"DELETE"
;
DBUG_ENTER
(
"mysql_prepare_delete"
);
List
<
Item
>
all_fields
;
...
...
@@ -385,14 +383,14 @@ bool mysql_prepare_delete(THD *thd, TABLE_LIST *table_list, Item **conds)
DBUG_RETURN
(
TRUE
);
if
(
!
table_list
->
updatable
||
check_key_in_view
(
thd
,
table_list
))
{
my_error
(
ER_NON_UPDATABLE_TABLE
,
MYF
(
0
),
table_list
->
alias
,
operation
);
my_error
(
ER_NON_UPDATABLE_TABLE
,
MYF
(
0
),
table_list
->
alias
,
"DELETE"
);
DBUG_RETURN
(
TRUE
);
}
{
TABLE_LIST
*
duplicate
;
if
((
duplicate
=
unique_table
(
thd
,
table_list
,
table_list
->
next_global
,
0
)))
{
update_non_unique_table_error
(
table_list
,
operation
,
duplicate
);
update_non_unique_table_error
(
table_list
,
"DELETE"
,
duplicate
);
DBUG_RETURN
(
TRUE
);
}
}
...
...
@@ -897,8 +895,7 @@ bool mysql_truncate(THD *thd, TABLE_LIST *table_list, bool dont_send_ok)
if
(
!
dont_send_ok
)
{
db_type
table_type
;
if
(
mysql_frm_type
(
thd
,
path
,
&
table_type
)
==
FRMTYPE_VIEW
)
goto
trunc_by_del
;
mysql_frm_type
(
thd
,
path
,
&
table_type
);
if
(
table_type
==
DB_TYPE_UNKNOWN
)
{
my_error
(
ER_NO_SUCH_TABLE
,
MYF
(
0
),
...
...
sql/sql_lex.cc
View file @
fa32db5f
...
...
@@ -1834,7 +1834,6 @@ bool st_lex::can_use_merged()
case
SQLCOM_UPDATE_MULTI
:
case
SQLCOM_DELETE
:
case
SQLCOM_DELETE_MULTI
:
case
SQLCOM_TRUNCATE
:
case
SQLCOM_INSERT
:
case
SQLCOM_INSERT_SELECT
:
case
SQLCOM_REPLACE
:
...
...
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