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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
1029db2b
Commit
1029db2b
authored
Feb 24, 2005
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/home/jonas/src/mysql-5.0-ndb
parents
0a265b6d
4e6a4dfa
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
83 additions
and
37 deletions
+83
-37
Build-tools/Bootstrap
Build-tools/Bootstrap
+1
-1
VC++Files/libmysqld/libmysqld.dsp
VC++Files/libmysqld/libmysqld.dsp
+1
-1
mysql-test/r/ndb_condition_pushdown.result
mysql-test/r/ndb_condition_pushdown.result
+12
-4
mysql-test/r/sp.result
mysql-test/r/sp.result
+4
-5
mysql-test/t/ndb_condition_pushdown.test
mysql-test/t/ndb_condition_pushdown.test
+12
-4
ndb/src/ndbapi/NdbDictionaryImpl.hpp
ndb/src/ndbapi/NdbDictionaryImpl.hpp
+13
-0
ndb/src/ndbapi/NdbOperationInt.cpp
ndb/src/ndbapi/NdbOperationInt.cpp
+13
-7
ndb/src/ndbapi/NdbScanFilter.cpp
ndb/src/ndbapi/NdbScanFilter.cpp
+2
-2
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+10
-4
sql/mysqld.cc
sql/mysqld.cc
+3
-4
sql/protocol.cc
sql/protocol.cc
+3
-1
sql/sql_map.cc
sql/sql_map.cc
+1
-2
sql/sql_parse.cc
sql/sql_parse.cc
+6
-0
sql/sql_select.cc
sql/sql_select.cc
+2
-2
No files found.
Build-tools/Bootstrap
View file @
1029db2b
...
...
@@ -278,7 +278,7 @@ if (defined $opt_changelog)
unless
(
$opt_skip_manual
)
{
&
logger
("
Updating manual files
");
foreach
$file
qw/internals manual reservedwords/
foreach
$file
qw/internals manual reservedwords
errmsg-table cl-errmsg-table
/
{
system
("
bk cat
$opt_docdir
/Docs/
$file
.texi >
$target_dir
/Docs/
$file
.texi
")
==
0
or
&
abort
("
Could not update
$file
.texi in
$target_dir
/Docs/!
");
...
...
VC++Files/libmysqld/libmysqld.dsp
View file @
1029db2b
...
...
@@ -344,7 +344,7 @@ SOURCE=..\mysys\my_alloc.c
# End Source File
# Begin Source File
SOURCE=..\
mysys
\my_decimal.cpp
SOURCE=..\
sql
\my_decimal.cpp
# End Source File
# Begin Source File
...
...
mysql-test/r/ndb_condition_pushdown.result
View file @
1029db2b
...
...
@@ -235,13 +235,17 @@ auto
4
select auto from t1 where
string like "b%" and
vstring like "b%"
vstring like "b%" and
bin like concat(0xBB, '%') and
vbin like concat(0xBB, '%')
order by auto;
auto
2
select auto from t1 where
string not like "b%" and
vstring not like "b%"
vstring not like "b%" and
bin not like concat(0xBB, '%') and
vbin not like concat(0xBB, '%')
order by auto;
auto
1
...
...
@@ -637,13 +641,17 @@ auto
4
select auto from t1 where
string like "b%" and
vstring like "b%"
vstring like "b%" and
bin like concat(0xBB, '%') and
vbin like concat(0xBB, '%')
order by auto;
auto
2
select auto from t1 where
string not like "b%" and
vstring not like "b%"
vstring not like "b%" and
bin not like concat(0xBB, '%') and
vbin not like concat(0xBB, '%')
order by auto;
auto
1
...
...
mysql-test/r/sp.result
View file @
1029db2b
...
...
@@ -656,7 +656,6 @@ delete from t1|
drop table if exists t3|
create table t3 ( s char(16), d int)|
call into_test4()|
Warnings:
select * from t3|
s d
into4 NULL
...
...
@@ -1344,9 +1343,7 @@ end if;
insert into t4 values (2, rc, t3);
end|
call bug1863(10)|
Warnings:
call bug1863(10)|
Warnings:
select * from t4|
f1 rc t3
2 0 NULL
...
...
@@ -1643,9 +1640,7 @@ begin
end|
call bug4579_1()|
call bug4579_1()|
Warnings:
call bug4579_1()|
Warnings:
drop procedure bug4579_1|
drop procedure bug4579_2|
drop table t3|
...
...
@@ -2118,12 +2113,16 @@ var
call bug7743("OneWord")|
var
NULL
Warnings:
Warning 1329 No data to FETCH
call bug7743("anotherword")|
var
2
call bug7743("AnotherWord")|
var
NULL
Warnings:
Warning 1329 No data to FETCH
drop procedure bug7743|
drop table t4|
delete from t3|
...
...
mysql-test/t/ndb_condition_pushdown.test
View file @
1029db2b
...
...
@@ -236,12 +236,16 @@ order by auto;
# Test LIKE/NOT LIKE
select
auto
from
t1
where
string
like
"b%"
and
vstring
like
"b%"
vstring
like
"b%"
and
bin
like
concat
(
0xBB
,
'%'
)
and
vbin
like
concat
(
0xBB
,
'%'
)
order
by
auto
;
select
auto
from
t1
where
string
not
like
"b%"
and
vstring
not
like
"b%"
vstring
not
like
"b%"
and
bin
not
like
concat
(
0xBB
,
'%'
)
and
vbin
not
like
concat
(
0xBB
,
'%'
)
order
by
auto
;
# Various tests
...
...
@@ -586,12 +590,16 @@ order by auto;
# Test LIKE/NOT LIKE
select
auto
from
t1
where
string
like
"b%"
and
vstring
like
"b%"
vstring
like
"b%"
and
bin
like
concat
(
0xBB
,
'%'
)
and
vbin
like
concat
(
0xBB
,
'%'
)
order
by
auto
;
select
auto
from
t1
where
string
not
like
"b%"
and
vstring
not
like
"b%"
vstring
not
like
"b%"
and
bin
not
like
concat
(
0xBB
,
'%'
)
and
vbin
not
like
concat
(
0xBB
,
'%'
)
order
by
auto
;
# Various tests
...
...
ndb/src/ndbapi/NdbDictionaryImpl.hpp
View file @
1029db2b
...
...
@@ -76,8 +76,10 @@ public:
Uint32
m_attrSize
;
// element size (size when arraySize==1)
Uint32
m_arraySize
;
// length or length+2 for Var* types
Uint32
m_keyInfoPos
;
// TODO: use bits in attr desc 2
bool
getInterpretableType
()
const
;
bool
getCharType
()
const
;
bool
getStringType
()
const
;
bool
getBlobType
()
const
;
/**
...
...
@@ -469,6 +471,17 @@ NdbColumnImpl::getCharType() const {
m_type
==
NdbDictionary
::
Column
::
Longvarchar
);
}
inline
bool
NdbColumnImpl
::
getStringType
()
const
{
return
(
m_type
==
NdbDictionary
::
Column
::
Char
||
m_type
==
NdbDictionary
::
Column
::
Varchar
||
m_type
==
NdbDictionary
::
Column
::
Longvarchar
||
m_type
==
NdbDictionary
::
Column
::
Binary
||
m_type
==
NdbDictionary
::
Column
::
Varbinary
||
m_type
==
NdbDictionary
::
Column
::
Longvarbinary
);
}
inline
bool
NdbColumnImpl
::
getBlobType
()
const
{
...
...
ndb/src/ndbapi/NdbOperationInt.cpp
View file @
1029db2b
...
...
@@ -1014,8 +1014,14 @@ NdbOperation::branch_col(Uint32 type,
Uint32
ColId
,
const
void
*
val
,
Uint32
len
,
bool
nopad
,
Uint32
Label
){
DBUG_ENTER
(
"NdbOperation::branch_col"
);
DBUG_PRINT
(
"enter"
,
(
"type=%u col=%u val=0x%x len=%u label=%u"
,
type
,
ColId
,
val
,
len
,
Label
));
if
(
val
!=
NULL
)
DBUG_DUMP
(
"value"
,
(
char
*
)
val
,
len
);
if
(
initial_interpreterCheck
()
==
-
1
)
return
-
1
;
DBUG_RETURN
(
-
1
)
;
Interpreter
::
BinaryCondition
c
=
(
Interpreter
::
BinaryCondition
)
type
;
...
...
@@ -1029,26 +1035,26 @@ NdbOperation::branch_col(Uint32 type,
if
(
val
==
NULL
)
len
=
0
;
else
{
if
(
!
col
->
get
Char
Type
())
{
if
(
!
col
->
get
String
Type
())
{
// prevent assert in NdbSqlUtil on length error
Uint32
sizeInBytes
=
col
->
m_attrSize
*
col
->
m_arraySize
;
if
(
len
!=
0
&&
len
!=
sizeInBytes
)
{
setErrorCodeAbort
(
4209
);
return
-
1
;
DBUG_RETURN
(
-
1
)
;
}
len
=
sizeInBytes
;
}
}
if
(
insertATTRINFO
(
Interpreter
::
BranchCol
(
c
,
0
,
0
,
false
))
==
-
1
)
return
-
1
;
DBUG_RETURN
(
-
1
)
;
if
(
insertBranch
(
Label
)
==
-
1
)
return
-
1
;
DBUG_RETURN
(
-
1
)
;
if
(
insertATTRINFO
(
Interpreter
::
BranchCol_2
(
ColId
,
len
)))
return
-
1
;
DBUG_RETURN
(
-
1
)
;
Uint32
len2
=
Interpreter
::
mod4
(
len
);
if
(
len2
==
len
){
...
...
@@ -1065,7 +1071,7 @@ NdbOperation::branch_col(Uint32 type,
}
theErrorLine
++
;
return
0
;
DBUG_RETURN
(
0
)
;
}
int
...
...
ndb/src/ndbapi/NdbScanFilter.cpp
View file @
1029db2b
...
...
@@ -405,8 +405,8 @@ NdbScanFilterImpl::cond_col_const(Interpreter::BinaryCondition op,
return
-
1
;
}
(
m_operation
->*
branch
)(
AttrId
,
value
,
len
,
false
,
m_current
.
m_ownLabel
);
return
0
;
int
ret
=
(
m_operation
->*
branch
)(
AttrId
,
value
,
len
,
false
,
m_current
.
m_ownLabel
);
return
ret
;
}
int
...
...
sql/ha_ndbcluster.cc
View file @
1029db2b
...
...
@@ -5697,8 +5697,11 @@ extern "C" pthread_handler_decl(ndb_util_thread_func,
continue
;
}
/* Round tim e from millisceonds to seconds */
uint
wait_secs
=
((
ndb_cache_check_time
+
999
)
/
1000
);
DBUG_PRINT
(
"ndb_util_thread"
,
(
"wait_secs: %d"
,
wait_secs
));
/* Set new time to wake up */
set_timespec
(
abstime
,
ndb_cache_check_time
);
set_timespec
(
abstime
,
wait_secs
);
/* Lock mutex and fill list with pointers to all open tables */
NDB_SHARE
*
share
;
...
...
@@ -5707,7 +5710,6 @@ extern "C" pthread_handler_decl(ndb_util_thread_func,
{
share
=
(
NDB_SHARE
*
)
hash_element
(
&
ndbcluster_open_tables
,
i
);
share
->
use_count
++
;
/* Make sure the table can't be closed */
DBUG_PRINT
(
"ndb_util_thread"
,
(
"Found open table[%d]: %s, use_count: %d"
,
i
,
share
->
table_name
,
share
->
use_count
));
...
...
@@ -6620,7 +6622,9 @@ ha_ndbcluster::build_scan_filter_predicate(Ndb_cond * &cond,
}
case
(
Item_func
:
:
LIKE_FUNC
)
:
{
if
(
!
value
||
!
field
)
break
;
if
(
value
->
qualification
.
value_type
!=
Item
::
STRING_ITEM
)
break
;
if
((
value
->
qualification
.
value_type
!=
Item
::
STRING_ITEM
)
&&
(
value
->
qualification
.
value_type
!=
Item
::
VARBIN_ITEM
))
break
;
// Save value in right format for the field type
value
->
save_in_field
(
field
);
DBUG_PRINT
(
"info"
,
(
"Generating LIKE filter: like(%d,%s,%d)"
,
...
...
@@ -6636,7 +6640,9 @@ ha_ndbcluster::build_scan_filter_predicate(Ndb_cond * &cond,
}
case
(
Item_func
:
:
NOTLIKE_FUNC
)
:
{
if
(
!
value
||
!
field
)
break
;
if
(
value
->
qualification
.
value_type
!=
Item
::
STRING_ITEM
)
break
;
if
((
value
->
qualification
.
value_type
!=
Item
::
STRING_ITEM
)
&&
(
value
->
qualification
.
value_type
!=
Item
::
VARBIN_ITEM
))
break
;
// Save value in right format for the field type
value
->
save_in_field
(
field
);
DBUG_PRINT
(
"info"
,
(
"Generating NOTLIKE filter: notlike(%d,%s,%d)"
,
...
...
sql/mysqld.cc
View file @
1029db2b
...
...
@@ -4691,10 +4691,9 @@ Disable with --skip-ndbcluster (will save memory).",
(
gptr
*
)
&
opt_ndb_optimized_node_selection
,
0
,
GET_BOOL
,
OPT_ARG
,
1
,
0
,
0
,
0
,
0
,
0
},
{
"ndb-cache-check-time"
,
OPT_NDB_CACHE_CHECK_TIME
,
"A dedicated thread is created to update cached commit count value"
" at the given interval."
,
(
gptr
*
)
&
opt_ndb_cache_check_time
,
(
gptr
*
)
&
opt_ndb_cache_check_time
,
0
,
GET_ULONG
,
REQUIRED_ARG
,
0
,
0
,
LONG_TIMEOUT
,
0
,
1
,
0
},
"A dedicated thread is created to, at the given millisecons interval, invalidate the query cache if another MySQL server in the cluster has changed the data in the database."
,
(
gptr
*
)
&
opt_ndb_cache_check_time
,
(
gptr
*
)
&
opt_ndb_cache_check_time
,
0
,
GET_ULONG
,
REQUIRED_ARG
,
0
,
0
,
LONG_TIMEOUT
,
0
,
1
,
0
},
#endif
{
"new"
,
'n'
,
"Use very new possible 'unsafe' functions."
,
(
gptr
*
)
&
global_system_variables
.
new_mode
,
...
...
sql/protocol.cc
View file @
1029db2b
...
...
@@ -359,7 +359,9 @@ send_eof(THD *thd, bool no_flush)
if
(
thd
->
client_capabilities
&
CLIENT_PROTOCOL_41
)
{
uchar
buff
[
5
];
uint
tmp
=
min
(
thd
->
total_warn_count
,
65535
);
/* Don't send warn count during SP execution, as the warn_list
is cleared between substatements, and mysqltest gets confused */
uint
tmp
=
(
thd
->
spcont
?
0
:
min
(
thd
->
total_warn_count
,
65535
));
buff
[
0
]
=
254
;
int2store
(
buff
+
1
,
tmp
);
/*
...
...
sql/sql_map.cc
View file @
1029db2b
...
...
@@ -19,9 +19,8 @@
#pragma implementation // gcc: Class implementation
#endif
#include <sys/stat.h>
#include "mysql_priv.h"
#include <sys/stat.h>
#ifdef HAVE_SYS_MMAN_H
#include <sys/mman.h>
#endif
...
...
sql/sql_parse.cc
View file @
1029db2b
...
...
@@ -4189,6 +4189,12 @@ unsent_create_error:
thd
->
row_count_func
=
0
;
res
=
sp
->
execute_procedure
(
thd
,
&
lex
->
value_list
);
/* If warnings have been cleared, we have to clear total_warn_count
* too, otherwise the clients get confused.
*/
if
(
thd
->
warn_list
.
is_empty
())
thd
->
total_warn_count
=
0
;
thd
->
variables
.
select_limit
=
select_limit
;
#ifndef NO_EMBEDDED_ACCESS_CHECKS
sp_restore_security_context
(
thd
,
sp
,
&
save_ctx
);
...
...
sql/sql_select.cc
View file @
1029db2b
...
...
@@ -11418,8 +11418,8 @@ find_order_in_list(THD *thd, Item **ref_pointer_array, TABLE_LIST *tables,
in is field of view table => check that references on translation
table are same
*/
((
*
select_item
)
->
type
()
==
Item
::
Item
::
REF_ITEM
&&
view_ref
->
type
()
==
Item
::
Item
::
REF_ITEM
&&
((
*
select_item
)
->
type
()
==
Item
::
REF_ITEM
&&
view_ref
->
type
()
==
Item
::
REF_ITEM
&&
((
Item_ref
*
)
(
*
select_item
))
->
ref
==
((
Item_ref
*
)
view_ref
)
->
ref
)))
/*
...
...
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