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

Textual and Visual Algebra Exploration #503

Open
wants to merge 109 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
8b2dc00
Add ability to serialize AlgNodes to PolyAlg strings for some Logical…
tobias-weber Mar 18, 2024
54d127e
Move mapping to PolyAlgArg for ListArg into constructors
tobias-weber Mar 19, 2024
cc1f9ae
Add PolyAlg representation for LogicalRelJoin
tobias-weber Mar 19, 2024
2dcf395
Add PolyAlg support to more AlgNodes
tobias-weber Mar 19, 2024
27993d4
Introduce PolyAlgArgs to facilitate collection of AlgNode attributes
tobias-weber Mar 20, 2024
024d3ca
Make "collation" in SORT optional for LIMIT to work correctly
tobias-weber Mar 21, 2024
103b0f2
Add tags to operators / params
tobias-weber Mar 21, 2024
57ff77d
Add ability to unpack the arguments of ListArgs
tobias-weber Mar 21, 2024
db4dd13
Begin implementing RexVisitor for replacing field ids with names
tobias-weber Mar 22, 2024
33ba26a
Allow for RexNode digests to use field names
tobias-weber Mar 22, 2024
3f9d4d7
Introduce virtual projects when necessary
tobias-weber Mar 22, 2024
38c9a58
Fix javadoc generation error
tobias-weber Mar 25, 2024
b6bda14
removed unused fields from joins
datomo Mar 21, 2024
6633827
Fix type of entity param
datomo Mar 21, 2024
328be2d
Add initial version of a PolyAlgParser
tobias-weber Mar 26, 2024
e6c72b7
Add mechanism to create AlgNode instances from PolyAlgArgs
tobias-weber Mar 26, 2024
4690638
Change debug symbol for auxiliary projections
tobias-weber Apr 3, 2024
1af8ec7
mini adjustement to document webui component, some refactoring
datomo Mar 17, 2024
36bcd68
some performance testing for serialization, while preserving function…
datomo Mar 18, 2024
2f93a18
enabled namespace.collection.command( syntax for mql, switched to bin…
datomo Mar 19, 2024
4f9a679
adjustment to typed json deserializer to improve caching
datomo Mar 19, 2024
e6509f6
added default namespace to adapters and removed hardcoded namespace f…
datomo Apr 2, 2024
9941c01
separated create source and store, adjusted some PolyValues
datomo Apr 2, 2024
a7f11ba
fixes for multiple queries results
datomo Apr 2, 2024
7f1ea64
Prevent appending of alias for CAST expression that keep their name
tobias-weber Apr 3, 2024
7be6213
Allow for empty inner expressions
tobias-weber Apr 3, 2024
d3e9db4
Indent PolyAlgebra debug outputs
tobias-weber Apr 3, 2024
f0c4979
Omit printing routed query plan
tobias-weber Apr 3, 2024
c936fc3
Use existing uniquify method for generating unique fields
tobias-weber Apr 5, 2024
e4d8b37
Replace with unique field names in PolyArg serialization
tobias-weber Apr 5, 2024
f6e71e8
Move toString(RexVisitor<String>) back to NameReplacer
tobias-weber Apr 5, 2024
c360b30
Add classes required for semantic analysis of PolyAlg
tobias-weber Apr 8, 2024
6a4528d
Expand capabilities of PolyAlgParser
tobias-weber Apr 9, 2024
286ba23
Create PolyAlgToAlgConverter
tobias-weber Apr 9, 2024
0e54afe
Add support for converting from PolyAlg to various ParamTypes and Alg…
tobias-weber Apr 10, 2024
120392c
Support for various features added to the PolyAlg Parser
tobias-weber Apr 13, 2024
b28b980
Register Modify and Values AlgNodes
tobias-weber Apr 13, 2024
4119b11
Add parsing of combined RexCorrelVariable and RexFieldAccess
tobias-weber Apr 15, 2024
f12def5
Introduce PolyAlg to other Scans
tobias-weber Apr 15, 2024
267714c
Add PolyAlg support to more AlgNodes
tobias-weber Apr 17, 2024
d5c942a
Add JSON serialization capability to PolyAlgebra
tobias-weber Apr 17, 2024
3f5a71f
Add some test cases
tobias-weber Apr 17, 2024
d476c03
Add InformationPolyAlg
tobias-weber Apr 22, 2024
cbcb7fc
Add create methods to Lpg AlgNodes
tobias-weber Apr 18, 2024
ff0b62a
Create LaxAggArg and fix EntityArg for cross-modal queries
tobias-weber Apr 18, 2024
d651a7d
Fix Aggregate type mismatch
tobias-weber Apr 18, 2024
2db65ba
Add more doc AlgNodes to PolyAlg
tobias-weber Apr 18, 2024
fadba5e
Modify InformationPolyAlg to include serialized PolyAlgebra
tobias-weber Apr 24, 2024
ecd4230
Add even more AlgNodes to the PolyAlgRegistry
tobias-weber Apr 24, 2024
e1669e6
Allow use of any AggFunction in AggArg
tobias-weber Apr 24, 2024
2b161e4
Add Crud endpoint for getting the PolyAlgRegistry
tobias-weber Apr 29, 2024
903e372
Minor changes to registry serialization
tobias-weber Apr 30, 2024
3c763fe
More changes to registry serialization
tobias-weber May 1, 2024
0962e42
Add ability to hide trivial arguments
tobias-weber May 2, 2024
5ba99d1
Create PolyAlgRequest for executing PolyAlg via websocket
tobias-weber May 2, 2024
9888b4f
Add ability to get a plan from polyAlg via websocket
tobias-weber May 6, 2024
ba74d5f
Change PolyArg type of implicit project to RexArg
tobias-weber May 7, 2024
b1b71fe
Add POST endpoint for building plan from polyAlg
tobias-weber May 7, 2024
87af195
Switch to using anyQueryResult for executing polyAlg
tobias-weber May 10, 2024
7596124
Improve handling of nested lists
tobias-weber May 10, 2024
cc4dca8
Tag some operators as advanced
tobias-weber May 11, 2024
9f78701
Fix failing tests
tobias-weber May 13, 2024
5524c9a
Add REL prefix to relational operators
tobias-weber May 17, 2024
969fdc3
Add metadata when serializing AlgNodes
tobias-weber May 17, 2024
8e232fc
Fix tests
tobias-weber May 18, 2024
a5d267a
Introduce simple versions of parameters
tobias-weber May 22, 2024
fad2fc0
added inferReturnType to the LangFunctionOperator
datomo May 21, 2024
8bd842c
Remove unused method that accessed removed OperatorName
tobias-weber May 22, 2024
3b19303
Check for null in LogicalLpgModify
tobias-weber May 22, 2024
f528820
Fix order of skip and limit
tobias-weber May 22, 2024
a5f6542
Add NEQ, GEQ, LEQ to parser
tobias-weber May 22, 2024
a47c092
Correctly serialize SubstitutionGraph in EntityArg
tobias-weber May 24, 2024
2e00e26
Introduce PolyAlgMetadata
tobias-weber May 28, 2024
c87b5be
Add basic support for routed PolyPlans
tobias-weber May 28, 2024
2bdde1a
Add different severity levels for Metadata Badges
tobias-weber May 29, 2024
bd29234
Do not generate logical query plan for already routed plans
tobias-weber May 30, 2024
7fdcef3
Change EntityArg to use the adapterName
tobias-weber May 30, 2024
63b6172
Add print statements to debug failed test
tobias-weber May 30, 2024
4b9320d
Remove print statements to debug failed test
tobias-weber May 30, 2024
42b3e14
Bug fixes
tobias-weber May 30, 2024
009d4e7
Change InformationPage labels to group them by statement
tobias-weber May 31, 2024
52e7ea7
Add common PolyAlg Operators
tobias-weber Jun 3, 2024
de4d35f
Add partial support for Transformer operators
tobias-weber Jun 4, 2024
1777285
Adjustments to LogicalTransformer
tobias-weber Jun 6, 2024
1ad889f
Add partitionName in serialization
tobias-weber Jun 6, 2024
43469e5
Introduce some Enumerable AlgNodes
tobias-weber Jun 7, 2024
a808d76
Add more physical operators
tobias-weber Jun 7, 2024
fba8cc8
Add even more physical operators
tobias-weber Jun 10, 2024
fc4f226
Add EnumerableTransformer to PolyAlg
tobias-weber Jun 10, 2024
5644350
Add JdbcScan to PolyAlg
tobias-weber Jun 11, 2024
ef5b343
Add LogicalDocumentValues
tobias-weber Jun 11, 2024
526c14c
Improve doc and lpg PolyAlgebra support
tobias-weber Jun 12, 2024
6be7583
Handle duplicate names in the OperatorRegistry
tobias-weber Jun 13, 2024
4a820eb
Enable execution of physical PolyPlans
tobias-weber Jun 14, 2024
59c4e91
Derive type for LpgAggregate
tobias-weber Jun 14, 2024
2617934
Multiple new AlgNodes registered and various bugfixes
tobias-weber Jun 17, 2024
c7f4607
Disable auxiliary projects for physical plans
tobias-weber Jun 17, 2024
059b114
More physical nodes, bugfixes and tests
tobias-weber Jun 18, 2024
9b54a13
added option to create complex return type interfering for LangFuncti…
datomo Jun 20, 2024
7939f5c
Correctly infer type with CYPHER_PATH_MATCH
tobias-weber Jun 20, 2024
d1ab173
Add cypherExtractFromPathTest
tobias-weber Jun 20, 2024
bcc1ae5
Add ability to view LogicalWindow operators
tobias-weber Jun 20, 2024
6fa4b1c
Add doc and graph specific tests
tobias-weber Jun 21, 2024
2480922
Rename collectAttributes to bindArguments and add comments
tobias-weber Jun 27, 2024
3ff5c5c
Cleanup of various PolyAlg related code
tobias-weber Jul 12, 2024
61b99fb
Remove InformationQueryPlan
tobias-weber Jul 12, 2024
6875260
Remove AlgRequest
tobias-weber Jul 12, 2024
9cbcbc9
Change name of "sort" parameter to "order"
tobias-weber Jul 16, 2024
7ec14a7
Remove the QueryPlanBuilder and AlgProcessor
tobias-weber Jul 16, 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
18 changes: 17 additions & 1 deletion core/build.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
import org.javacc.plugin.gradle.javacc.CompileJavaccTask

buildscript {
dependencies {
// Protobuf
classpath group: "com.google.protobuf", name: "protobuf-gradle-plugin", version: protobuf_plugin_version
}
}

plugins {
id "org.javacc.javacc" version "$javacc_plugin_version"
}

group "org.polypheny"


Expand Down Expand Up @@ -63,6 +69,8 @@ dependencies {

api group: "io.activej", name: "activej-serializer", version: activej_serializer_version

javacc group: "net.java.dev.javacc", name: "javacc", version: javacc_version // BSD 2-clause

// --- Test Compile ---
testRuntimeOnly(group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junit_jupiter_version)
testImplementation group: "org.hamcrest", name: "hamcrest-core", version: hamcrest_core_version // BSD 3-clause
Expand All @@ -75,11 +83,18 @@ protobuf {
}
}

tasks.register('generateParser', CompileJavaccTask) {
getConventionMapping().map("classpath", { configurations.javacc })
arguments = [static: "false"]
inputDirectory = file("src/main/codegen")
outputDirectory = file(project.buildDir.absolutePath + "/generated-sources/org/polypheny/db/algebra/polyalg/parser")
}


sourceSets {
main {
java {
srcDirs = ["src/main/java", "build/generated/source/proto/main/java"] // "build/generated/sources/annotationProcessor"
srcDirs = ["src/main/java", "build/generated/source/proto/main/java", files("${buildDir}/generated-sources").builtBy(generateParser)] // "build/generated/sources/annotationProcessor"
}
resources {
srcDirs = ["src/main/resources"]
Expand Down Expand Up @@ -109,6 +124,7 @@ tasks.register('generateVersionProperties', Copy) {

compileJava {
dependsOn("generateVersionProperties")
dependsOn("generateParser")
dependsOn(":config:processResources")
dependsOn(":information:processResources")
dependsOn("generateProto")
Expand Down
Loading
Loading