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
b441ace7
Commit
b441ace7
authored
Jan 07, 2005
by
mskold@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed nested conditions for condition pushdown to storage engine
parent
c4ba5a52
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
163 additions
and
97 deletions
+163
-97
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+152
-88
sql/ha_ndbcluster.h
sql/ha_ndbcluster.h
+10
-9
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+1
-0
No files found.
sql/ha_ndbcluster.cc
View file @
b441ace7
This diff is collapsed.
Click to expand it.
sql/ha_ndbcluster.h
View file @
b441ace7
...
...
@@ -64,7 +64,8 @@ typedef struct st_ndbcluster_share {
typedef
enum
ndb_item_type
{
NDB_VALUE
=
0
,
// Qualified more with Item::Type
NDB_FIELD
=
1
,
// Qualified from table definition
NDB_FUNCTION
=
2
// Qualified from Item_func::Functype
NDB_FUNCTION
=
2
,
// Qualified from Item_func::Functype
NDB_END_COND
=
3
// End marker for condition group
}
NDB_ITEM_TYPE
;
typedef
union
ndb_item_qualification
{
...
...
@@ -93,12 +94,12 @@ typedef union ndb_item_value {
class
Ndb_item
{
public:
Ndb_item
(
NDB_ITEM_TYPE
item_type
);
Ndb_item
(
NDB_ITEM_TYPE
item_type
,
NDB_ITEM_QUALIFICATION
item_qualification
,
const
Item
*
item_value
);
Ndb_item
(
longlong
int_value
);
Ndb_item
(
double
real_value
);
Ndb_item
();
Ndb_item
(
Field
*
field
,
int
column_no
);
Ndb_item
(
Item_func
::
Functype
func_type
);
~
Ndb_item
();
...
...
@@ -376,13 +377,13 @@ class ha_ndbcluster: public handler
*/
void
cond_clear
();
bool
serialize_cond
(
const
COND
*
cond
,
Ndb_cond_stack
*
ndb_cond
);
Ndb_cond
*
build_scan_filter_predicate
(
Ndb_cond
*
cond
,
NdbScanFilter
*
filter
);
Ndb_cond
*
build_scan_filter_group
(
Ndb_cond
*
cond
,
NdbScanFilter
*
filter
);
void
build_scan_filter
(
Ndb_cond
*
cond
,
NdbScanFilter
*
filter
);
void
generate_scan_filter
(
Ndb_cond_stack
*
cond_stack
,
NdbScanOperation
*
op
);
int
build_scan_filter_predicate
(
Ndb_cond
*
&
cond
,
NdbScanFilter
*
filter
);
int
build_scan_filter_group
(
Ndb_cond
*
&
cond
,
NdbScanFilter
*
filter
);
int
build_scan_filter
(
Ndb_cond
*
&
cond
,
NdbScanFilter
*
filter
);
int
generate_scan_filter
(
Ndb_cond_stack
*
cond_stack
,
NdbScanOperation
*
op
);
friend
int
execute_commit
(
ha_ndbcluster
*
,
NdbTransaction
*
);
friend
int
execute_no_commit
(
ha_ndbcluster
*
,
NdbTransaction
*
);
...
...
sql/item_cmpfunc.cc
View file @
b441ace7
...
...
@@ -2086,6 +2086,7 @@ void Item_cond::traverse_cond(Item_cond_traverser traverser,
{
item
->
traverse_cond
(
traverser
,
arg
,
order
);
}
(
*
traverser
)(
NULL
,
arg
);
break
;
case
(
POSTFIX
):
while
((
item
=
li
++
))
...
...
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