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
e8613e53
Commit
e8613e53
authored
Jun 01, 2005
by
mskold@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed handling of condition pushdown to storage engine of NO BETWEEN and NOT IN
parent
bf7f0508
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
647 additions
and
32 deletions
+647
-32
mysql-test/r/ndb_condition_pushdown.result
mysql-test/r/ndb_condition_pushdown.result
+329
-15
mysql-test/t/ndb_condition_pushdown.test
mysql-test/t/ndb_condition_pushdown.test
+311
-15
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+7
-2
No files found.
mysql-test/r/ndb_condition_pushdown.result
View file @
e8613e53
This diff is collapsed.
Click to expand it.
mysql-test/t/ndb_condition_pushdown.test
View file @
e8613e53
This diff is collapsed.
Click to expand it.
sql/ha_ndbcluster.cc
View file @
e8613e53
...
...
@@ -7232,8 +7232,10 @@ ha_ndbcluster::build_scan_filter_group(Ndb_cond* &cond, NdbScanFilter *filter)
break
;
}
case
(
Item_func
:
:
NOT_FUNC
)
:
{
DBUG_PRINT
(
"info"
,
(
"Generating negated query"
));
cond
=
cond
->
next
;
negated
=
TRUE
;
break
;
}
default:
...
...
@@ -7249,12 +7251,14 @@ ha_ndbcluster::build_scan_filter_group(Ndb_cond* &cond, NdbScanFilter *filter)
if
(
cond
)
cond
=
cond
->
next
;
if
(
filter
->
end
()
==
-
1
)
DBUG_RETURN
(
1
);
break
;
if
(
!
negated
)
break
;
// else fall through (NOT END is an illegal condition)
default:
{
DBUG_PRINT
(
"info"
,
(
"Illegal scan filter"
));
}
}
}
while
(
level
>
0
);
}
while
(
level
>
0
||
negated
);
DBUG_RETURN
(
0
);
}
...
...
@@ -7296,6 +7300,7 @@ ha_ndbcluster::generate_scan_filter(Ndb_cond_stack *ndb_cond_stack,
DBUG_ENTER
(
"generate_scan_filter"
);
if
(
ndb_cond_stack
)
{
DBUG_PRINT
(
"info"
,
(
"Generating scan filter"
));
NdbScanFilter
filter
(
op
);
bool
multiple_cond
=
FALSE
;
// Wrap an AND group around multiple conditions
...
...
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