Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proto Query Interface #494

Merged
merged 2,164 commits into from
Apr 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2164 commits
Select commit Hold shift + click to select a range
20a22c9
add statement types to proto
Jun 2, 2023
4c24c96
code cleanup
Jun 2, 2023
825c5dc
add frame, row and value
Jun 2, 2023
cb7e2c9
remove unused value from logging
Jun 2, 2023
80ba326
remove unused import
Jun 2, 2023
a453838
improve unparameterized query execution
Jun 2, 2023
0f81c3e
proto definition cleanup
Jun 2, 2023
c6aa9d9
removing rebase artifacts
datomo Jun 4, 2023
4806d26
proto refactor
Jun 5, 2023
1973185
now using string map proto for properties
Jun 5, 2023
9d6edb6
add frame building
Jun 5, 2023
48d6d41
add serialisation for most poly values
Jun 5, 2023
99ff05b
add serialisation for PolyValue
Jun 5, 2023
e15a324
implement frame building using lambda
Jun 5, 2023
43595a8
add statement closing
Jun 6, 2023
dab823a
improved proto poly type conversion
Jun 6, 2023
fc70b88
fix access to polyFloat and polyValue
Jun 7, 2023
24497f2
add status requests for running queries to protocol
Jun 7, 2023
59c8fe6
add periodic status update
Jun 7, 2023
3915590
implement periodic status updates to service
Jun 7, 2023
64d64c9
remove unused imports
Jun 7, 2023
53ef9e4
allow user to disable status updates
Jun 7, 2023
af085cd
redesigned status update system
Jun 7, 2023
c8c5fbe
remove unused field from statement status
Jun 7, 2023
b8bda80
add column meta data
Jun 8, 2023
c577679
code formatting
Jun 8, 2023
64815d9
add last flag to frame
Jun 13, 2023
2b6002c
add type to column meta
Jun 13, 2023
e6138d0
add fetch request
Jun 13, 2023
1d119ed
add type to values
Jun 13, 2023
9fde581
add BigDecimal Serialization
Jun 13, 2023
aa5793a
remove unused string map from execute
Jun 14, 2023
ec2b1e3
remove unused map unwrap
Jun 14, 2023
2f5edc3
now using string map directly
Jun 14, 2023
dad8d95
add own meta extraction
Jun 15, 2023
71d11ff
refactor result protos
Jun 15, 2023
a540484
refactor result protos
Jun 15, 2023
e3889bd
refactor relational proto utils
Jun 15, 2023
a9becbb
add automatic frame types for fetch
Jun 15, 2023
543ace9
cosmetics
Jun 15, 2023
1b20191
add long and big decimal serialization
Jun 19, 2023
93348a2
cosmetics
Jun 19, 2023
f161619
add new row extraction
Jun 19, 2023
f48b743
fix client meta null pointer exception
Jun 20, 2023
6eba8d7
add autocommit to statement
Jun 20, 2023
dd45d10
rename SupportedLanguages to LanguageResponse
Jun 20, 2023
75e7e26
add commit call to protocol
Jun 20, 2023
721c5e3
handle autocommit property
Jun 20, 2023
92193e9
fix user not recognized error
Jun 26, 2023
9e8eb34
add map for default properties and values
Jun 26, 2023
bf8ccc5
add autocommit property
Jun 26, 2023
e2b51ff
cosmetics
Jun 26, 2023
28c832b
add rollback of current statement
Jun 26, 2023
7c410c0
add key for fetch size
Jun 26, 2023
b1405be
add frame fetch with size
Jun 26, 2023
d9af8e7
implement fetch size
Jun 26, 2023
ad0fb0f
add fetch size to protocol
Jun 26, 2023
fcc3c2d
remove unused default value and field
Jun 26, 2023
0e58e69
rename to PropertyDefaults
Jun 26, 2023
11edff9
add update count to all frame types
Jun 28, 2023
ccd8133
implement unparameterized statement batches
Jun 28, 2023
8f96d4d
make execute public in unparameterized statement batch
Jun 28, 2023
c04bf07
rename scalar to scalars
Jun 28, 2023
e023e9e
add namedIndexes and valueMap transformation
Jun 28, 2023
043a797
implement parameterized statements
Jun 28, 2023
8a85ad7
add list serialization
Jun 28, 2023
af100c0
refactor relational utils
Jun 28, 2023
bc4e275
add parameter meta retrieval
Jun 28, 2023
6b91f59
refactor
Jun 28, 2023
7b43916
add parameterized and prepared statements
Jun 28, 2023
0835939
implement deserialization
Jun 28, 2023
4ee23f3
add parameterized and prepared statements
Jun 28, 2023
9ffa98e
cosmetics
Jun 28, 2023
8dbbc05
add prepared and parameterized statements
Jun 28, 2023
7207d0d
add connection check
Jul 3, 2023
5091e8b
refactor client properties
Jul 3, 2023
3737e50
add dbms version request
Jul 3, 2023
f52f719
implement version info request
Jul 3, 2023
5195c4b
fixed rebase conflicts
datomo Jul 5, 2023
91cc4db
fix inappropriate call to getRowCount
Jul 6, 2023
bbc3946
add dbms version retrieval
Jul 6, 2023
e0ece65
fix openBatches null
Jul 6, 2023
eaed241
add meta message skeletons
Jul 6, 2023
456b1d3
add meta rpc calls
Jul 6, 2023
36d26ff
add table message
Jul 6, 2023
b338f82
add tables to table response
Jul 6, 2023
ef9cda1
implement table meta
Jul 6, 2023
332d24e
minor abjustement to result fetching and switched order of commit in …
datomo Jul 6, 2023
faa76f4
add filtering by table type
Jul 7, 2023
2cfad5e
add table types to meta
Jul 7, 2023
63924a4
rename schema to namespace
Jul 7, 2023
4972bc4
add get namespaces
Jul 7, 2023
a2de23c
make method static
Jul 7, 2023
2203ee3
refactor pattern creation to dedicated method
Jul 7, 2023
a41541b
add column meta
Jul 7, 2023
32bd046
add column meta
Jul 7, 2023
f1a8082
add column meta
Jul 8, 2023
9e1909f
add primary keys to meta
Jul 8, 2023
34e24cf
add catalogs to meta
Jul 8, 2023
d166c16
add imported keys to meta
Jul 8, 2023
a61c7fb
add exported keys to meta
Jul 8, 2023
6445d35
add types to meta
Jul 8, 2023
284c80d
add indexes to meta
Jul 8, 2023
8e7058c
refactor reorder methods
Jul 9, 2023
3a45cf9
refactor reorder methods
Jul 9, 2023
b49aae3
refactor named value processor
Jul 9, 2023
13d81db
discern indexed and named parameters
Jul 9, 2023
798d7e0
discern indexed and named parameters
Jul 9, 2023
df98ba9
add indexed statement batch to protocol
Jul 9, 2023
4f41cf6
implement indexed value batches
Jul 9, 2023
9d47f8e
implement indexed value batches
Jul 9, 2023
521abed
implement indexed value batches
Jul 9, 2023
1109267
tidy up type enum
Jul 9, 2023
539c40b
implement poly interval serialization
Jul 9, 2023
ac96269
add udt serialization
Jul 9, 2023
6e1c385
add poly list serialization
Jul 9, 2023
a7464f7
add map and document serialization
Jul 9, 2023
cf82e66
add graph serialization
Jul 9, 2023
23c4477
add graph serialization
Jul 9, 2023
5a0fdb0
fix nullable of bug
Jul 10, 2023
badda95
fix repeated frame bug
Jul 10, 2023
e9acd91
meta bugfix
Jul 12, 2023
e7c8b5c
fix client properties
Jul 12, 2023
0ed4e66
fix client properties
Jul 12, 2023
6618332
refactor statement properties
Jul 12, 2023
cad8a1e
further property refactor
Jul 12, 2023
dbdca18
add more meta
Jul 13, 2023
287ba0b
refactor statement manager
Jul 13, 2023
fa170ab
add todo
Jul 13, 2023
556a4ba
fix connection closing
Jul 13, 2023
9f83fcb
indexed parameters bug
Jul 14, 2023
0ea28ce
fix exception forwarding
Jul 14, 2023
4796eba
add cancel flag to transaction
Jul 15, 2023
873c593
remove cancel flag to transaction
Jul 15, 2023
20c1b9c
add get procedures meta
Jul 15, 2023
e2a0854
add get procedure columns meta
Jul 15, 2023
a25a4a8
add new meta system
Jul 16, 2023
e7e54ff
add client info properties
Jul 18, 2023
8392d6d
cosmetics
Jul 18, 2023
671e713
rename proto interface plugin class
Jul 18, 2023
57ad622
fix exception handling bug
Jul 18, 2023
62cfd81
fix meta bug
Jul 18, 2023
eafdfab
parameterized statement bugfix
Jul 18, 2023
3e55e83
add info to unregistered client exception
Jul 18, 2023
ce6b4c0
cosmetics
Jul 18, 2023
1c5dc03
bugs for david
Jul 19, 2023
2b0c8bf
general bugfixing
Jul 19, 2023
bc8a657
ProcessorTest method
Jul 19, 2023
57b04e9
add auto kick of inactive connections
Jul 19, 2023
9bbef95
added missing imports
Jul 20, 2023
55176e1
delete processor test class
Jul 20, 2023
64d9d21
refactor statements not quite working yet
Jul 20, 2023
e24e13f
refactor fetching (needs further work to make continuous)
Jul 21, 2023
56e1a18
fix commit deadlock
Jul 21, 2023
6709c24
remove redundant commit after ddl
Jul 21, 2023
327cdd8
refactor plugin server service structure
Jul 21, 2023
0ee1c09
implement heartbeat
Jul 23, 2023
e264f06
implement heartbeat options to plugin settings
Jul 23, 2023
4d9de1c
remove unused parameter form fetch request
Jul 23, 2023
5a60a35
cleanup unsed message fields
Jul 23, 2023
b7061b8
add document fetching and serialization
Jul 23, 2023
51621da
implement fetch method based on language + codestyle
Jul 23, 2023
a4edad6
prepare de(serialization) of row ids
Jul 24, 2023
eda3d33
add protobuf messages for advanced error details
Jul 24, 2023
0b2ad4b
add constructor from SQLException for ProtoInterfaceService Exception
Jul 25, 2023
4f8bf17
sql exception used as cause of proto interface service exception
Jul 25, 2023
2cc7e44
add exception handling using errorDetails
Jul 25, 2023
cf5c4ec
add unit tests for url args
Jul 27, 2023
e7904e7
fix hertbeat interval bug
Aug 1, 2023
925ca3f
fix typo in unit test
Aug 1, 2023
f6e8754
add connection tests
Aug 1, 2023
2326e4b
fix timestamp serialization error
Aug 1, 2023
c7e331a
add tests for statement
Aug 1, 2023
5bdc77a
add statement integration tests
Aug 1, 2023
ed6ab57
addTimezoneTest
Aug 2, 2023
f8b5bd0
add meta unit tests
Aug 2, 2023
1032504
add result set test
Aug 2, 2023
59badf6
add result set unit tests
Aug 3, 2023
a755e5e
fix tests for result set
Aug 3, 2023
1da155d
unit tests
Aug 3, 2023
c49428d
generify statement processing
Aug 5, 2023
e860c2c
implement namespace handling
Aug 5, 2023
2d55b71
begin document implementation
Aug 5, 2023
d6e6368
remove statement properties from PIStatement
Aug 6, 2023
0cf365d
remove builder pattern from indexed statement
Aug 6, 2023
cfbdff1
replace getters and setters with lombok ones
Aug 6, 2023
734e9ca
remove builder pattern from client
Aug 6, 2023
c461e29
clean up statement protocol files
Aug 7, 2023
86f67c0
clean up transaction and connection protocol files
Aug 7, 2023
35c0519
move frames and fetching to statements
Aug 7, 2023
bba4177
split meta.proto into different files
Aug 7, 2023
9cfa6e1
refactor protocol files
Aug 7, 2023
db1f3c2
clean up proto imports
Aug 7, 2023
07485fd
refactor statements
Aug 7, 2023
17ae6bb
refactor for coherent field names
Aug 7, 2023
3682979
refactor statement properties
Aug 7, 2023
cf0bff9
refactor namespace meta messages into different files
Aug 11, 2023
31016f4
minor bugfixing
Aug 12, 2023
e33f51f
remove unused imports
Aug 12, 2023
c1f7a9d
add serializer unit tests
Aug 13, 2023
6aae185
bugfix
Aug 17, 2023
567c47e
add continuous fetching using new functions to relational result retr…
Aug 17, 2023
5620447
add continuous fetching using new functions to document result retriever
Aug 17, 2023
104dc33
use new getter for column visibility (used for jdbc pseudo column flag)
Aug 17, 2023
e32a83b
bugfix
TobiasHafner Aug 23, 2023
5dced65
rename statement processing components
TobiasHafner Aug 23, 2023
30de4c4
add execute without fetch size
TobiasHafner Aug 23, 2023
c0b2c4c
fixed new Result representations
datomo Aug 25, 2023
ce294ae
add import
TobiasHafner Aug 26, 2023
9534295
implement result iterator handling to statements
TobiasHafner Aug 26, 2023
2d66cd4
new fetch size handling
TobiasHafner Sep 1, 2023
8f525b0
code cleanup
TobiasHafner Sep 1, 2023
d6e52a8
code cleanup
TobiasHafner Sep 1, 2023
09f360a
bugfix
Sep 14, 2023
471c867
document executor fix
Sep 18, 2023
2285466
remove unused fields
Sep 19, 2023
bb6bb7b
cleanup
Sep 20, 2023
6562ce5
Fix inconsistent field names
gartens Sep 22, 2023
06beb1c
Fix prepared statements with named parameters
gartens Sep 25, 2023
7fbd55b
Only look up value once
gartens Sep 25, 2023
f7c87f5
added missing dependincies from merge
datomo Oct 8, 2023
f102a08
Workaround to make it build again with -xtest
gartens Oct 9, 2023
de74740
fixed renaming problems with plugins, moved poly-beam start after cat…
datomo Oct 9, 2023
fceee2e
Remove objc_class_prefix option from value.proto
gartens Dec 11, 2023
7c72ea7
Format the protobuf files
gartens Dec 11, 2023
4275038
Remove duplicate line
gartens Dec 11, 2023
79c7f00
Start statement id counter with 1
gartens Dec 11, 2023
3394a53
adjusted to new query processing
datomo Dec 11, 2023
86f0e19
Set the origin in the QueryContext
gartens Dec 12, 2023
62592af
Require named parameters to have a name
gartens Dec 12, 2023
15f7226
Reformat and fix one typo
gartens Dec 18, 2023
d61b83b
Remove unused import and format PolyValue.java
gartens Dec 18, 2023
43ce820
Fix typo in field and reformat one line
gartens Dec 18, 2023
dace0eb
Fix setting name missed in last commit
gartens Dec 19, 2023
c98f657
Fix format of a log message
gartens Dec 19, 2023
4d4c787
Rename response file to match the request file
gartens Dec 20, 2023
974b497
Order imports
gartens Dec 22, 2023
ca33e9d
WIP: Rework value serialization
gartens Dec 22, 2023
ada6e15
fixed rebasing conflicts and adjusted proto to compile again
datomo Feb 27, 2024
5fe040f
mini adjustement to document webui component, some refactoring
datomo Mar 18, 2024
3872b19
fixed merge conflicts
datomo Mar 18, 2024
dc34179
Merge branch 'master' of https://github.com/polypheny/Polypheny-DB in…
datomo Apr 9, 2024
c479726
Fix tests
Apr 17, 2024
1b7a37d
Merge branch 'refs/heads/master' into proto-interface
vogti Apr 18, 2024
3011141
Minor code improvements
vogti Apr 18, 2024
fd396d6
Migrate to junit 5 and some code cleanup
vogti Apr 18, 2024
8b791b2
Declare dependency
vogti Apr 18, 2024
10d00ce
Disable new test classes
vogti Apr 18, 2024
78057b5
removed old rebase artifacts, unused classes and minor adjustment of …
datomo Apr 19, 2024
50dda39
handled todos, re-added missing final in transaction
datomo Apr 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import com.google.common.collect.ImmutableMap;
import java.util.function.Consumer;
import java.util.function.Function;
import org.apache.calcite.linq4j.function.Function2;
import org.jetbrains.annotations.Nullable;

/**
Expand Down Expand Up @@ -84,38 +83,6 @@ default void handle( AlgNode visitable ) {
}


interface AlgProducingVisitor2<Return, Param1> {

default Return handle( AlgNode visitable, Param1 param1 ) {
Function2<AlgNode, Param1, Return> handler = findHandler( visitable.getClass() );
if ( handler != null ) {
return handler.apply( visitable, param1 );
}

return getDefaultHandler().apply( visitable, param1 );
}


default @Nullable Function2<AlgNode, Param1, Return> findHandler( Class<?> clazz ) {
while ( clazz != null && clazz != AlgNode.class ) {
if ( getHandlers().containsKey( clazz ) ) {
return getHandlers().get( clazz );
}
clazz = clazz.getSuperclass();
}

return null;
}


ImmutableMap<Class<? extends AlgNode>, Function2<AlgNode, Param1, Return>> getHandlers();


Function2<AlgNode, Param1, Return> getDefaultHandler();

}


interface AlgProducingVisitor3<Return, Param1, Param2> {

default Return handle( AlgNode visitable, Param1 param1, Param2 param2 ) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@
/**
* Relational expression that executes its children using an interpreter.
* <p>
* Although quite a few kinds of {@link AlgNode} can be interpreted, this is only created by default for {@link org.polypheny.db.schema.types.FilterableEntity} and
* {@link org.polypheny.db.schema.types.ProjectableFilterableEntity}.
* Although quite a few kinds of {@link AlgNode} can be interpreted, this is only created by default for {@link org.polypheny.db.schema.types.FilterableEntity}.
*/
public class EnumerableInterpreter extends SingleAlg implements EnumerableAlg {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@
import org.polypheny.db.plan.AlgTraitSet;
import org.polypheny.db.plan.volcano.VolcanoCost;
import org.polypheny.db.schema.types.FilterableEntity;
import org.polypheny.db.schema.types.ProjectableFilterableEntity;
import org.polypheny.db.schema.types.QueryableEntity;
import org.polypheny.db.schema.types.ScannableEntity;
import org.polypheny.db.schema.types.StreamableEntity;
Expand Down Expand Up @@ -138,7 +137,6 @@ public static Class<?> deduceElementType( PhysicalTable entity ) {
}
} else if ( entity instanceof ScannableEntity
|| entity instanceof FilterableEntity
|| entity instanceof ProjectableFilterableEntity
|| entity instanceof StreamableEntity ) {
return Object[].class;
} else {
Expand Down Expand Up @@ -177,8 +175,7 @@ private Expression toRows( PhysType physType, Expression expression ) {
&& Object[].class.isAssignableFrom( elementType )
&& getTupleType().getFieldCount() == 1
&& (entity.unwrap( ScannableEntity.class ).isPresent()
|| entity.unwrap( FilterableEntity.class ).isPresent()
|| entity.unwrap( ProjectableFilterableEntity.class ).isPresent()) ) {
|| entity.unwrap( FilterableEntity.class ).isPresent()) ) {
return Expressions.call( BuiltInMethod.SLICE0.method, expression );
}
JavaTupleFormat oldFormat = format();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
import org.polypheny.db.algebra.logical.document.LogicalDocumentModify;
import org.polypheny.db.algebra.logical.lpg.LogicalLpgModify;
import org.polypheny.db.algebra.logical.relational.LogicalRelModify;
import org.polypheny.db.catalog.CatalogType.State;
import org.polypheny.db.catalog.entity.allocation.AllocationEntity;
import org.polypheny.db.catalog.refactor.CatalogType.State;
import org.polypheny.db.plan.AlgOptRule;
import org.polypheny.db.plan.AlgOptRuleCall;
import org.polypheny.db.plan.Convention;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
import org.polypheny.db.rex.RexNode;
import org.polypheny.db.rex.RexUtil;
import org.polypheny.db.schema.types.FilterableEntity;
import org.polypheny.db.schema.types.ProjectableFilterableEntity;
import org.polypheny.db.tools.AlgBuilderFactory;
import org.polypheny.db.util.mapping.Mapping;
import org.polypheny.db.util.mapping.Mappings;
Expand All @@ -57,12 +56,10 @@
* a {@link Filter}
* on a {@link RelScan}
* of a {@link FilterableEntity}
* or a {@link ProjectableFilterableEntity}
* to a {@link BindableScan}.
*
* The {@link #INTERPRETER} variant allows an intervening {@link EnumerableInterpreter}.
*
* @see ProjectScanRule
*/
public abstract class FilterScanRule extends AlgOptRule {

Expand Down Expand Up @@ -115,15 +112,14 @@ protected FilterScanRule( AlgOptRuleOperand operand, AlgBuilderFactory algBuilde

public static boolean test( RelScan<?> scan ) {
// We can only push filters into a FilterableTable or ProjectableFilterableTable.
return scan.entity.unwrap( FilterableEntity.class ).isPresent() || scan.entity.unwrap( ProjectableFilterableEntity.class ).isPresent();
return scan.entity.unwrap( FilterableEntity.class ).isPresent();
}


protected void apply( AlgOptRuleCall call, Filter filter, RelScan<?> scan ) {
final ImmutableList<Integer> projects;
final ImmutableList.Builder<RexNode> filters = ImmutableList.builder();
if ( scan instanceof BindableScan ) {
final BindableScan bindableScan = (BindableScan) scan;
if ( scan instanceof BindableScan bindableScan ) {
filters.addAll( bindableScan.filters );
projects = bindableScan.projects;
} else {
Expand Down
139 changes: 0 additions & 139 deletions core/src/main/java/org/polypheny/db/algebra/rules/ProjectScanRule.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

package org.polypheny.db.catalog.refactor;
package org.polypheny.db.catalog;

public interface CatalogType {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
import org.polypheny.db.algebra.type.AlgDataTypeFactory;
import org.polypheny.db.algebra.type.DocumentType;
import org.polypheny.db.algebra.type.GraphType;
import org.polypheny.db.catalog.CatalogType;
import org.polypheny.db.catalog.logistic.DataModel;
import org.polypheny.db.catalog.logistic.EntityType;
import org.polypheny.db.catalog.refactor.CatalogType;
import org.polypheny.db.schema.Statistic;
import org.polypheny.db.schema.Statistics;
import org.polypheny.db.schema.types.Expressible;
Expand Down
13 changes: 13 additions & 0 deletions core/src/main/java/org/polypheny/db/iface/QueryInterface.java
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,19 @@ public QueryInterfaceSettingInteger( String name, boolean canBeNull, boolean req
}


public static class QueryInterfaceSettingLong extends QueryInterfaceSetting {

public final Long defaultValue;


public QueryInterfaceSettingLong( String name, boolean canBeNull, boolean required, boolean modifiable, Long defaultValue ) {
super( name, canBeNull, required, modifiable );
this.defaultValue = defaultValue;
}

}


public static class QueryInterfaceSettingString extends QueryInterfaceSetting {

public final String defaultValue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@
import org.polypheny.db.rex.RexLiteral;
import org.polypheny.db.rex.RexNode;
import org.polypheny.db.schema.types.FilterableEntity;
import org.polypheny.db.schema.types.ProjectableFilterableEntity;
import org.polypheny.db.schema.types.ScannableEntity;
import org.polypheny.db.tools.AlgBuilderFactory;
import org.polypheny.db.type.entity.PolyValue;
Expand Down Expand Up @@ -269,8 +268,7 @@ public String algCompareString() {

public static boolean canHandle( Entity entity ) {
return entity.unwrap( ScannableEntity.class ).isPresent()
|| entity.unwrap( FilterableEntity.class ).isPresent()
|| entity.unwrap( ProjectableFilterableEntity.class ).isPresent();
|| entity.unwrap( FilterableEntity.class ).isPresent();
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@
import org.polypheny.db.algebra.AlgVisitor;
import org.polypheny.db.algebra.rules.CalcSplitRule;
import org.polypheny.db.algebra.rules.FilterScanRule;
import org.polypheny.db.algebra.rules.ProjectScanRule;
import org.polypheny.db.algebra.type.AlgDataType;
import org.polypheny.db.algebra.type.AlgDataTypeFactory.Builder;
import org.polypheny.db.config.RuntimeConfig;
Expand Down Expand Up @@ -111,8 +110,6 @@ private AlgNode optimize( AlgNode rootAlg ) {
.addRuleInstance( CalcSplitRule.INSTANCE )
.addRuleInstance( FilterScanRule.INSTANCE )
.addRuleInstance( FilterScanRule.INTERPRETER )
.addRuleInstance( ProjectScanRule.INSTANCE )
.addRuleInstance( ProjectScanRule.INTERPRETER )
.build();
final HepPlanner planner = new HepPlanner( hepProgram );
planner.setRoot( rootAlg );
Expand Down
Loading
Loading