github-advanced-security[bot] commented on code in PR #16533:
URL: https://github.com/apache/druid/pull/16533#discussion_r1623185997
##########
processing/src/main/java/org/apache/druid/segment/CursorFactory.java:
##########
@@ -35,12 +38,55 @@
*/
public interface CursorFactory
{
+ default CursorMaker asCursorMaker(CursorBuildSpec spec)
+ {
+
+ return new CursorMaker()
+ {
+ @Override
+ public boolean canVectorize()
+ {
+ return CursorFactory.this.canVectorize(spec.getFilter(),
spec.getVirtualColumns(), spec.isDescending());
+ }
+
+ @Override
+ public Sequence<Cursor> makeCursors()
+ {
+ return CursorFactory.this.makeCursors(
+ spec.getFilter(),
+ spec.getInterval(),
+ spec.getVirtualColumns(),
+ spec.getGranularity(),
+ spec.isDescending(),
+ spec.getQueryMetrics()
+ );
Review Comment:
## Deprecated method or constructor invocation
Invoking [CursorFactory.makeCursors](1) should be avoided because it has
been deprecated.
[Show more
details](https://github.com/apache/druid/security/code-scanning/7432)
##########
processing/src/main/java/org/apache/druid/segment/FilteredStorageAdapter.java:
##########
@@ -44,6 +44,24 @@
this.filterOnDataSource = filter;
}
+ @Override
+ public CursorMaker asCursorMaker(CursorBuildSpec spec)
+ {
+ final CursorBuildSpec.CursorBuildSpecBuilder buildSpecBuilder =
CursorBuildSpec.builder(spec);
+ final Filter newFilter;
+ if (spec.getFilter() == null) {
+ if (filterOnDataSource != null) {
+ newFilter = filterOnDataSource.toFilter();
+ } else {
+ newFilter = null;
+ }
+ } else {
+ newFilter = new AndFilter(ImmutableList.of(spec.getFilter(),
filterOnDataSource.toFilter()));
Review Comment:
## Dereferenced variable may be null
Variable [filterOnDataSource](1) may be null at this access as suggested by
[this](2) null guard.
[Show more
details](https://github.com/apache/druid/security/code-scanning/7438)
##########
processing/src/main/java/org/apache/druid/segment/CursorFactory.java:
##########
@@ -35,12 +38,55 @@
*/
public interface CursorFactory
{
+ default CursorMaker asCursorMaker(CursorBuildSpec spec)
+ {
+
+ return new CursorMaker()
+ {
+ @Override
+ public boolean canVectorize()
+ {
+ return CursorFactory.this.canVectorize(spec.getFilter(),
spec.getVirtualColumns(), spec.isDescending());
+ }
+
+ @Override
+ public Sequence<Cursor> makeCursors()
+ {
+ return CursorFactory.this.makeCursors(
+ spec.getFilter(),
+ spec.getInterval(),
+ spec.getVirtualColumns(),
+ spec.getGranularity(),
+ spec.isDescending(),
+ spec.getQueryMetrics()
+ );
+ }
+
+ @Override
+ public VectorCursor makeVectorCursor()
+ {
+ return CursorFactory.this.makeVectorCursor(
+ spec.getFilter(),
+ spec.getInterval(),
+ spec.getVirtualColumns(),
+ spec.isDescending(),
+ spec.getQueryContext().getVectorSize(),
+ spec.getQueryMetrics()
+ );
Review Comment:
## Deprecated method or constructor invocation
Invoking [CursorFactory.makeVectorCursor](1) should be avoided because it
has been deprecated.
[Show more
details](https://github.com/apache/druid/security/code-scanning/7433)
##########
processing/src/main/java/org/apache/druid/segment/CursorFactory.java:
##########
@@ -35,12 +38,55 @@
*/
public interface CursorFactory
{
+ default CursorMaker asCursorMaker(CursorBuildSpec spec)
+ {
+
+ return new CursorMaker()
+ {
+ @Override
+ public boolean canVectorize()
+ {
+ return CursorFactory.this.canVectorize(spec.getFilter(),
spec.getVirtualColumns(), spec.isDescending());
Review Comment:
## Deprecated method or constructor invocation
Invoking [CursorFactory.canVectorize](1) should be avoided because it has
been deprecated.
[Show more
details](https://github.com/apache/druid/security/code-scanning/7431)
##########
processing/src/main/java/org/apache/druid/segment/QueryableIndexCursorMaker.java:
##########
@@ -668,4 +724,43 @@
return new DescendingTimestampCheckingOffset(baseOffset.clone(),
timestamps, timeLimit, allWithinThreshold);
}
}
+
+ private final class CursorResources implements Closeable
Review Comment:
## Inner class could be static
CursorResources could be made static, since the enclosing instance is used
only in its constructor.
[Show more
details](https://github.com/apache/druid/security/code-scanning/7436)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]