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

Issue #2196 - EQL: delegating parsing to ANTLR #2209

Merged
merged 297 commits into from
Aug 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
297 commits
Select commit Hold shift + click to select a range
7519dea
#2196 Add ANTLR4 runtime dependency
homedirectory Feb 22, 2024
ddaa817
#2178 Implement toString() and hashCode() in Term types
homedirectory Feb 22, 2024
28e0cb9
#2196 Avoid duplication in generated ANTLR grammar due to multiple pa…
homedirectory Feb 22, 2024
357f3ef
#2178 Split the Yield rule into subrules
homedirectory Feb 23, 2024
4093b80
#2196 Add ANTLR plugin to POM and attach usage instructions
homedirectory Feb 23, 2024
614f822
#2196 Javadoc style improvements
homedirectory Feb 23, 2024
f649f2c
#2196 Add a dependency on JavaPoet for source code generation
homedirectory Feb 22, 2024
6c6363b
#2196 Implement basic generation of custom token types
homedirectory Feb 23, 2024
ab231ce
#2178 Add a grammar rule for standalone expressions
homedirectory Feb 23, 2024
84bc47d
#2178 Enhance the grammar with rules for standalone conditions
homedirectory Feb 23, 2024
8e0fc26
#2178 Enhance the grammar with rules for "order by" expressions
homedirectory Feb 23, 2024
2b0afc1
#2178 Enhance the grammar to cover all "select" variants
homedirectory Feb 26, 2024
18ef7df
#2178 Add negated compound conditions to the grammar
homedirectory Feb 26, 2024
a0ff944
#2196 Sort generated lexer rules
homedirectory Feb 26, 2024
51fa045
#2178 Enhance the BNF abstraction with the Alternation type
homedirectory Feb 27, 2024
8d60e84
#2196 Inline ANTLR grammar rules to improve parse tree navigation
homedirectory Feb 27, 2024
4433838
#2178 #2196 Eliminate redundant SingleOperandOrExpr rule
homedirectory Feb 27, 2024
aba702d
#2196 Configure ANTLR Maven plugin to output artifacts into platform-…
homedirectory Feb 28, 2024
5e1598b
#2196 Inline grammar rules related to "select"
homedirectory Feb 28, 2024
1daa142
#2196 platform-pojo-bl: Add ANTLR4 runtime dependency
homedirectory Feb 28, 2024
f320df3
#2196 Initial transition to ANTLR tokens in fluent API implementation
homedirectory Feb 28, 2024
3026851
#2196 Introduce major abstractions for transformation of EQL to stage…
homedirectory Feb 28, 2024
0bc6ce8
#2196 Connect QueryModelToStage1Transformer to the introduced abstrac…
homedirectory Feb 28, 2024
1f8a82a
#2196 Move the instantiation of ITypeCasting associated with "end" of…
homedirectory Feb 28, 2024
65583d9
Include exception cause when rethrowing
homedirectory Feb 28, 2024
faa630b
#2196 Adjust ExpressionModel#containsSingleValueToken() to use ANTLR …
homedirectory Feb 28, 2024
05f1c44
#2178 Allow zero repetitions of `yield` after `yieldAll`
homedirectory Feb 28, 2024
b7e5d7d
#2196 Adjust ANTLR grammar to correctly handle yieldAll cases
homedirectory Feb 28, 2024
6246152
#2196 Throw an exception if parsing of an EQL expression fails
homedirectory Feb 29, 2024
c3c8b4c
#2196 Friendlier text representation of simple tokens
homedirectory Feb 29, 2024
dfb1364
#2196 Collect tokens for terminal methods in the fluent API
homedirectory Feb 29, 2024
3df4bae
#2196 Enhance the `select` token with all parameterisation variants
homedirectory Feb 29, 2024
67bc4ca
#2196 Collect tokens for `then` and `otherwise` in `caseWhen` contexts
homedirectory Feb 29, 2024
69a9327
#2196 Explicitly state the acceptance of null values in javadoc
homedirectory Feb 29, 2024
bdb1ef2
#2196 Replace List<Token> with a higher level abstraction to represen…
homedirectory Feb 29, 2024
69e0e0e
#2196 Collect starting tokens for standalone condition/expression and…
homedirectory Feb 29, 2024
862bdcd
#2196 Introduce more custom token types
homedirectory Feb 29, 2024
18312d5
#2196 Simplify the `select` grammar rule
homedirectory Mar 1, 2024
b128287
#2196 Send whitespace and comments to a hidden channel instead of ski…
homedirectory Mar 1, 2024
51e6ff4
#2196 Document some parts of the ANTLR grammar with comments
homedirectory Mar 1, 2024
dbc8328
#2196 Enhance Conditions1 with static factory methods
homedirectory Mar 1, 2024
dd83e77
#2196 ANTLR grammar: minor name correction
homedirectory Mar 1, 2024
dc70454
#2196 ANTLR grammar: remove redundant labels
homedirectory Mar 1, 2024
d0623b8
#2196 Simplify the `select` custom ANTLR token
homedirectory Mar 1, 2024
a366546
#2196 Move common token-handling code to the abstract ANTLR visitor
homedirectory Mar 1, 2024
e852720
#2196 Enhance stage 1 Yield structures with static factory methods an…
homedirectory Mar 1, 2024
5dd00ce
#2196 Provide an additional signature of EqlCompiler#compile method f…
homedirectory Mar 1, 2024
281fb1a
#2196 Introduce an exception type for parse errors
homedirectory Mar 1, 2024
79992e1
#2196 ANTLR grammar: improve parse tree structure by using labels
homedirectory Mar 1, 2024
a39669a
#2196 Lay out a skeleton for compilation of `select` expressions
homedirectory Mar 1, 2024
68de9d8
#2196 Implement compilation of some single operands
homedirectory Mar 1, 2024
d069b13
#2196 Implement compilation of conditions
homedirectory Mar 1, 2024
b73225f
#2196 Implement compilation of yields
homedirectory Mar 1, 2024
2b4c3ce
#2196 #2178 Eliminate recursion from the `groupBy` rule
homedirectory Mar 1, 2024
2a70c42
#2196 Implement compilation of `groupBy`
homedirectory Mar 1, 2024
28237e7
#2196 Provide an extra signature of method `StreamUtils#zip`
homedirectory Mar 1, 2024
dc0a031
#2196 Enhance stream utilities with method `zipDo`
homedirectory Mar 1, 2024
d6d85d2
#2196 Yields compilation: use a default value if a query has no yields
homedirectory Mar 1, 2024
cb22682
#2196 Implement compilation of `case when` expressions
homedirectory Mar 1, 2024
04e5c32
#2196 Migrate users of token builders for standalone expression/condi…
homedirectory Mar 1, 2024
94e1481
#2196 Implement compilation of standalone expressions
homedirectory Mar 1, 2024
a552b79
#2196 Implement compilation of subchained queries in single operand c…
homedirectory Mar 1, 2024
1555989
#2196 Ensure that token sources are restarted before use
homedirectory Mar 4, 2024
061cc11
#2196 Implement missing token collecting methods in EqlSentenceBuilder
homedirectory Mar 4, 2024
1fcd296
#2196 Implement compilation of `concat`
homedirectory Mar 4, 2024
265243d
#2196 Don't forget to preprocess values
homedirectory Mar 4, 2024
22544f9
#2196 Implement compilation of unary functions
homedirectory Mar 4, 2024
5c68c94
#2196 Add token types for comparison set operands
homedirectory Mar 4, 2024
5d27e4a
#2196 Implement compilation of various query sources
homedirectory Mar 4, 2024
3a39557
#2196 Introduce ANTLR token types for the any/all family of EQL tokens
homedirectory Mar 4, 2024
d94c6df
#2196 Introduce a custom ANTLR token for the `as` EQL token
homedirectory Mar 4, 2024
c5ddf00
#2196 Don't forget to collect the `to` token when adding date intervals
homedirectory Mar 4, 2024
8adbbe3
#2196 Optimise imports
homedirectory Mar 4, 2024
dd0f493
#2196 Make the constructor of OperandsBasedSet1 more liberal
homedirectory Mar 4, 2024
b2d8e9a
#2196 #2178 Extend the yield operand rule with expressions involving …
homedirectory Mar 4, 2024
5c710c9
#2196 Don't forget to collect the `between` token
homedirectory Mar 4, 2024
3cc3627
#2196 Don't forget to collect the `then` token
homedirectory Mar 4, 2024
fa0d05b
#2196 Implement compilation of comparison operators in a generic way
homedirectory Mar 4, 2024
eadfc92
#2196 Implement compilation of unary and membership predicates
homedirectory Mar 4, 2024
63c1df1
#2196 Be consistent with source ID generation logic when compiling po…
homedirectory Mar 5, 2024
fac3f80
#2196 Implement compilation of quantified comparison predicates
homedirectory Mar 5, 2024
9fc9e1c
#2196 Add custom ANTLR token types for `join` EQL tokens
homedirectory Mar 5, 2024
93482c4
#2196 Implement compilation of joins
homedirectory Mar 5, 2024
0a04324
#2196 Extend yield compilation to cover expressions
homedirectory Mar 5, 2024
9e03459
#2196 Avoid ambiguity in the parser related to yielded expressions
homedirectory Mar 5, 2024
09e8936
#2196 Enable compilation of User Data Filtering conditions
homedirectory Mar 5, 2024
38bb071
#2196 Merge date add/diff interval unit into a single rule
homedirectory Mar 5, 2024
7bd3257
#2196 Implement compilation of standalone conditions
homedirectory Mar 5, 2024
75abae5
#2196 Implement compilation of date interval operands and `ifNull`
homedirectory Mar 5, 2024
438b79d
#2196 Fix typos in text representation of custom tokens
homedirectory Mar 5, 2024
5227200
#2196 ANTLR grammar: swap `startDate` and `endDate` labels
homedirectory Mar 5, 2024
2a12e71
#2196 ANTLR grammar: add more labels for convenience
homedirectory Mar 5, 2024
de12f83
#2196 Imlement compilation of `orderBy` exressions
homedirectory Mar 5, 2024
73802d7
#2196 Implement compilation of `like` options
homedirectory Mar 5, 2024
02e59ae
#2196 Apply consistent formatting to all custom ANTLR tokens
homedirectory Mar 5, 2024
9c2e65c
#2196 Move ListTokenSource and SimpleTokens to the util package
homedirectory Mar 5, 2024
ab28b2b
#2196 Throw an informative exception if the compilation of an EQL exp…
homedirectory Mar 6, 2024
e726b25
#2196 Document various query model types
homedirectory Mar 6, 2024
4ba166f
#2196 Adjust fluent API implementation to collect the correct token w…
homedirectory Mar 6, 2024
6afc5b8
#2196 Add a test to ensure that nested expressions can be used inside…
homedirectory Mar 6, 2024
2be2b36
#2196 Allow null values in query parameter substitution
homedirectory Mar 6, 2024
a882e6b
#2196 Avoid redundant value preprocessing during parameter substitution
homedirectory Mar 6, 2024
1647330
#2196 Use a static factory method to create Value1 instances
homedirectory Mar 6, 2024
3456a2b
#2196 Fix a compilation error in ListTokenSource
homedirectory Mar 6, 2024
8d9687d
#2196 Merge branch 'develop' into Issue-#2196
homedirectory Mar 7, 2024
be5d8ab
#2196 Support `exists{All,Any}Of` tokens
homedirectory Mar 7, 2024
88ed88f
Include query text in exception message to facilitate debugging
homedirectory Mar 7, 2024
ed32c1b
#2196 Reuse `val` & `iVal` token instances for null values
homedirectory Mar 7, 2024
fb5c01f
#2196 Provide `equals` and `hashCode` implementation for EQL ANTLR to…
homedirectory Mar 7, 2024
bf89258
#2196 Cleanup and some minor improvements
homedirectory Mar 8, 2024
5a05075
#2196 Remove a test bit that uses old EQL tokens
homedirectory Mar 8, 2024
798f92a
Introduce a Collection utility that allows to build any collection in…
homedirectory Mar 8, 2024
db4db61
#2196 More cleanup and a little of refactoring
homedirectory Mar 8, 2024
5684a2c
#2196 Splice AND/OR conditions during compilation
homedirectory Mar 8, 2024
bee159e
#2196 Modify test assertions that had previously relied on a particul…
homedirectory Mar 8, 2024
b46f049
#2196 Add missing import
homedirectory Mar 8, 2024
6ab5d55
#2196 Add a test case to cover usage of `caseWhen` with multiple cond…
homedirectory Mar 8, 2024
0d623ec
#2196 Increase immutability of EqlSentenceBuilder
homedirectory Mar 12, 2024
438dfc6
#2196 Tiny optimisation
homedirectory Mar 12, 2024
baa721e
#2196 Optimise the storage of simple tokens
homedirectory Mar 13, 2024
6526648
#2196 Disable maven-enforce-plugin for platform-benchmark module
homedirectory Mar 13, 2024
d0af589
#2196 Implement a few benchmarks for EQL's stage 0
homedirectory Mar 13, 2024
e1a88c6
#2196 ANTLR grammar: optimise the rules associated with yields
homedirectory Mar 13, 2024
51cb288
benchmarks: create a script to perform a "dry-run" of benchmarks
homedirectory Mar 14, 2024
9135080
Update platform-eql-grammar README
homedirectory Mar 14, 2024
6c9ee8c
#2196 Document the steps for modification/extension of EQL
homedirectory Mar 14, 2024
5873783
#2196 Move the executable `main` method from CanonicalEqlGrammar into…
homedirectory Mar 14, 2024
42ba9c7
#2196 Avoid redundant nesting of conditions at stages 1 & 2
homedirectory Mar 14, 2024
dcf00fa
#2196 Add more tests that cover condition ignoring
homedirectory Mar 14, 2024
d0f56e7
#2196 Embrace Guava's ImmutableList in the AST nodes for conditions
homedirectory Mar 15, 2024
c79d8f0
#2196 Minor memory optimisation
homedirectory Mar 15, 2024
079b6ca
#2196 Enhance stream utilities with a method for concatenating streams
homedirectory Mar 15, 2024
89d83fb
#2196 Enhance collection utilities with a method for concatenating co…
homedirectory Mar 15, 2024
7d9ce7b
#2196 Provide documentation for some collection utilities
homedirectory Mar 15, 2024
f4a239b
#2196 Cleanup: use util methods for brevity and add documentation
homedirectory Mar 15, 2024
14cf197
#2196 Adjust failing tests to rely on the actual order of source ID g…
homedirectory Mar 15, 2024
329769f
#2196 Avoid NPE when copying a List that might contain nulls
homedirectory Mar 15, 2024
d0aaacc
#2196 Add a test to cover usage of nulls in `{any,all}OfValues(...)` …
homedirectory Mar 15, 2024
0ff3cac
#2196 Use defensive copying in ANTLR tokens that are composed of coll…
homedirectory Mar 15, 2024
6c06f63
#2196 Use Guava's `ImmutableList` in `EqlSentenceBuilder`
homedirectory Mar 15, 2024
5b06e8d
#2196 Remove classes associated with the old, manual EQL parsing appr…
homedirectory Mar 15, 2024
d47ba03
#2196 Limit the visibility of `Value1` constructor and use factory me…
homedirectory Mar 15, 2024
bcfa992
#2196 Minor code style improvement
homedirectory Mar 15, 2024
25901fe
Merge branch 'develop' into Issue-#2196
01es Mar 18, 2024
81289d3
#2196 Implement `equals()` of query models in terms of tokens provide…
homedirectory Mar 18, 2024
37ed636
#2196 Fix `ExpressionModel#containsSingleValueToken`
homedirectory Mar 18, 2024
10c2af2
#2196 Adjust failing tests in `FluencyApiTest`
homedirectory Mar 18, 2024
314d8f1
#2196 Modernise `FluencyApiTest` to use Junit4
homedirectory Mar 18, 2024
7586068
Merge branch 'develop' into Issue-#2196
01es Mar 22, 2024
d83c07f
Merge branch 'develop' into Issue-#2196
01es Mar 24, 2024
39988c5
#2196 Improve semantics of the exception used for syntactic processin…
homedirectory Mar 26, 2024
6773383
#2196 Introduce an exception type to be used during compilation of EQL
homedirectory Mar 26, 2024
7e34ae7
#2196 Document `SimpleTokens` and use a more fitting exception type
homedirectory Mar 26, 2024
6c344aa
#2196 Mark a static field as final
homedirectory Mar 26, 2024
986af29
Merge branch 'develop' into Issue-#2196
01es Mar 28, 2024
b11e467
#2196 Use a stricter model for ANTLR visitors to prevent implementati…
homedirectory Mar 28, 2024
4bd97f0
#2196 Extract javapoet version into parent POM
homedirectory Apr 1, 2024
ba4f10e
Merge branch 'develop' into Issue-#2196
01es Apr 2, 2024
c834d6f
Merge branch 'develop' into Issue-#2196
01es Apr 10, 2024
2e003ce
#2196 Prioritise direct ANTLRv4 dependency over the transitive one
homedirectory Apr 11, 2024
63678ed
#2196 Minor typo correction.
01es Apr 12, 2024
6d6f10b
Merge branch 'develop' into Issue-#2196
01es Apr 17, 2024
c7c6ddc
Merge branch 'develop' into Issue-#2196
01es Apr 17, 2024
8d75156
#2196 Synced with develop.
01es Apr 26, 2024
01c5d60
Merge branch 'develop' into Issue-#2196
01es May 21, 2024
3edb900
#2196 Merged with the latest changes from develop.
01es Jun 19, 2024
3849597
Merge branch 'develop' into Issue-#2196
01es Jun 19, 2024
e70129d
#2196 Synced with develop.
01es Jun 22, 2024
8bd0efa
#2196 Harden ANTLR token cosntructors with non-null assertions
homedirectory Jun 28, 2024
b178d81
#2196 Use ImmutableList.copyOf instead of standard List.copyOf
homedirectory Jun 28, 2024
844a856
#2196 Replace Integer with int
homedirectory Jun 28, 2024
6bcd0be
#2196 Synced with the latest from develop, updated version to 2.0.0-S…
01es Aug 7, 2024
512f99b
#2196 Aligned usage documentation with the implementation.
01es Aug 7, 2024
6100b73
#2196 Document the BNF DSL
homedirectory Aug 7, 2024
1ac2897
#2196 Minor formatting adjustment.
01es Aug 7, 2024
159c597
#2196 Javadoc adjustments, EQL grammar DLS improvements.
01es Aug 8, 2024
c72458a
#2196 Let's declare final paramers consistently.
01es Aug 8, 2024
dad666b
#2196 CodeBlock.Builder is mutating, so we don't need to reassign.
01es Aug 8, 2024
5f19e06
#2196 #2178 EQL BNF grammar: swap startDate & endDate labels in DateD…
homedirectory Aug 8, 2024
4ea3018
#2196 #2178 EQL BNF grammar: remove redundant labels
homedirectory Aug 8, 2024
7f8d39d
#2196 #2178 EQL BNF grammar: optimise yield rules
homedirectory Aug 8, 2024
4f7bfc6
#2196 #2178 Extend BNF metadata with list labels (ANTLR-specific)
homedirectory Aug 8, 2024
85f769e
#2196 #2178 EQL BNF grammar: use list labels to match the ANTLR grammar
homedirectory Aug 8, 2024
e7a5c4f
#2196 BNF to G4: send whitespace and comments to a hidden channel
homedirectory Aug 8, 2024
9a68970
#2196 #2178 EQL BNF grammar: remove labels that cause errors in ANTLR…
homedirectory Aug 8, 2024
5d7d21a
#2196 #2178 Introduce interface GrammarTransformer
homedirectory Aug 8, 2024
0de9608
#2196 #2178 Rewrite the Condition rule to facilitate automatic inlining
homedirectory Aug 8, 2024
1e721a7
#2196 #2178 EQL BNF grammar: align comparisonOperand rule with ANTLR …
homedirectory Aug 8, 2024
9612154
#2196 #2178 EQL BNF grammar: align exprBody rule with ANTLR grammar
homedirectory Aug 8, 2024
f47e7e0
#2196 #2178 Avoid redundant wrapping of terms in Sequence
homedirectory Aug 8, 2024
6fe8e35
#2196 #2178 Rewrite the StandaloneCondition rule to facilitate automa…
homedirectory Aug 8, 2024
6350895
#2196 #2178 Define the map operation for all BNF terms
homedirectory Aug 8, 2024
3c21d69
#2196 Implement rule inlining for BNF-to-ANTLR transformation
homedirectory Aug 8, 2024
b42ceca
#2196 Align AlisedYield rule with ANTLR grammar
homedirectory Aug 8, 2024
8c879c9
#2196 Align OrderByOperand rule with ANTLR grammar
homedirectory Aug 8, 2024
0e0ae3f
#2196 BNF-to-ANTLR transformation: remove unused symbols and rules fr…
homedirectory Aug 8, 2024
21562c1
#2196 #2178 Rename TermMetadata to Metadata
homedirectory Aug 9, 2024
baf818a
#2196 #2178 Enable BNF rules to be annotated
homedirectory Aug 9, 2024
616f810
#2196 #2178 Ability to annotate rules with BNF fluent API
homedirectory Aug 9, 2024
092ec83
#2196 #2178 Refactor metadata representation from key-value pairs to …
homedirectory Aug 9, 2024
4cfd8ab
#2196 Ability to disable rule inlining with an annotation
homedirectory Aug 9, 2024
0d4560d
#2196 EQL BNF grammar: prevent certain rules from being inlined
homedirectory Aug 9, 2024
c56963d
#2196 Enhance the BNF class with methods to update its structure
homedirectory Aug 9, 2024
c702f94
#2196 BNF-to-ANTLR: support recursive rule inlining
homedirectory Aug 9, 2024
f997d23
#2196 Align SelectEnd rule with the ANTLR grammar
homedirectory Aug 9, 2024
13b6241
#2196 Don't inline rules by default, use a special annotation
homedirectory Aug 9, 2024
faaf55f
#2196 Perform aggressive inlining of rules
homedirectory Aug 9, 2024
b37f833
#2196 Add a transformation for the Select rule
homedirectory Aug 9, 2024
6c66460
#2196 Try to maintain the order of rules from the canonical grammar i…
homedirectory Aug 9, 2024
f0b357d
#2196 Add a transformation for the YieldOperandExpr rule to align wit…
homedirectory Aug 9, 2024
d761d28
#2196 Override Term.metadata() in Sequence
homedirectory Aug 12, 2024
26c3ce1
#2196 Introduce ANTLR-specific BNF annotation for Alternative Labels
homedirectory Aug 12, 2024
1ca7dc7
#2196 BNF-to-ANTLR: derive alternative labels after inlining
homedirectory Aug 12, 2024
759794c
#2196 Enrich the canonical EQL grammar with alternative labels
homedirectory Aug 12, 2024
f99e362
#2196 A few more token labels for the canonical EQL grammar
homedirectory Aug 12, 2024
3a4f194
#2196 BNF-to-ANTLR: replace string manipulation for token labels by a…
homedirectory Aug 12, 2024
6ec2774
#2196 Redefine Term equality to exclude metadata
homedirectory Aug 12, 2024
9812914
#2196 Label the select token in the SelectSource rule to align with t…
homedirectory Aug 12, 2024
cfa4204
#2196 Regenerate the EQL ANTLR grammar
homedirectory Aug 12, 2024
3fc7db9
#2196 Implement Term.annotate for Token
homedirectory Aug 12, 2024
9343311
#2196 Add "Troubleshooting" section to the README
homedirectory Aug 12, 2024
f259299
#2196 Embrace immutable collections
homedirectory Aug 12, 2024
288fb5e
#2196 final parameters and reduced visibility.
01es Aug 13, 2024
48d4b40
#2196 Minor javadoc clarification.
01es Aug 13, 2024
0c9bde0
#2196 Upgraded ANTLR to 4.13.2, regenerated lexer and parser.
01es Aug 13, 2024
395392e
#2196 Visibility reduction.
01es Aug 13, 2024
fcda034
#2196 Minor cleanup.
01es Aug 14, 2024
4279852
#2196 Bit more cleanup.
01es Aug 14, 2024
f31782e
#2196 More final and no need for super().
01es Aug 14, 2024
3c1d486
#2196 Minor adjustment.
01es Aug 14, 2024
0e226f7
#2196 tokenSource cannot be null + related simplifications.
01es Aug 14, 2024
de29b8b
#2196 Reduce visibility to mutable state.
01es Aug 14, 2024
88b5393
#2196 Simplified enums by taking advantage of immutability.
01es Aug 14, 2024
a53636f
#2196 Introduced EqlException.requireNotNullArgument + its use.
01es Aug 14, 2024
cdedce0
#2196 Extended javadoc.
01es Aug 14, 2024
8c4ec87
#2196 Let's use EqlException.
01es Aug 14, 2024
3b47037
#2196 Require constructor arguments to be not null.
01es Aug 14, 2024
e34bd86
#2196 Final and convert indents to spaces.
01es Aug 14, 2024
a07c29d
#2196 Replaced some deprecated calls, scheduled for removal.
01es Aug 14, 2024
d1b3e51
#2196 Upgraded maven-compiler-plugin to 3.13.0.
01es Aug 15, 2024
fa2b07f
#2196 Reduced visibility scope + final.
01es Aug 15, 2024
e16ad81
#2196 Adjusted Visitor to extend StrictEQLBaseVisitor.
01es Aug 15, 2024
1a3eb9d
#2196 Javadoc adjustments.
01es Aug 15, 2024
6526ca2
#2196 More reliable and simpler QueryNowValue.
01es Aug 15, 2024
ddc6197
#2196 Adjusted an odd, rundomly failing test, to use the exact same e…
01es Aug 15, 2024
d53d211
#2196 Adjusted an odd, rundomly failing test, to use the exact same e…
01es Aug 15, 2024
11267a1
#2196 Removed unsed public constructor in CaseWhen1.
01es Aug 15, 2024
9c0d44f
#2197 Added TODO corresponding to item 9 in the original EQL3 plan.
01es Aug 15, 2024
4d1dee4
#2196 Yield1.alias cannot be null.
01es Aug 15, 2024
f0dc51a
#2196 Use Yield1.ABSENT_ALIAS instead of an empty string.
01es Aug 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions platform-annotation-processors/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>fielden</groupId>
<artifactId>platform-parent</artifactId>
<version>1.5.1-SNAPSHOT</version>
<version>2.0.0-SNAPSHOT</version>
</parent>

<artifactId>platform-annotation-processors</artifactId>
Expand Down Expand Up @@ -46,7 +46,7 @@
<dependency>
<groupId>com.squareup</groupId>
<artifactId>javapoet</artifactId>
<version>1.13.0</version>
<version>${javapoet.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.testing.compile/compile-testing -->
<dependency>
Expand Down
2 changes: 1 addition & 1 deletion platform-annotations/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>fielden</groupId>
<artifactId>platform-parent</artifactId>
<version>1.5.1-SNAPSHOT</version>
<version>2.0.0-SNAPSHOT</version>
</parent>

<artifactId>platform-annotations</artifactId>
Expand Down
120 changes: 70 additions & 50 deletions platform-benchmark/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>fielden</groupId>
<artifactId>platform-parent</artifactId>
<version>1.5.1-SNAPSHOT</version>
<version>2.0.0-SNAPSHOT</version>
</parent>

<name>Trident Genesis Platform Microbenckmarks</name>
Expand All @@ -28,53 +28,61 @@
<uberjar.name>benchmarks</uberjar.name>
</properties>

<dependencies>
<!-- platform dependencies -->
<dependency>
<groupId>fielden</groupId>
<artifactId>platform-dao</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>fielden</groupId>
<artifactId>platform-dao</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<!-- other dependencies -->
<!-- Java Microbenchmark Harness -->
<!-- https://mvnrepository.com/artifact/org.openjdk.jmh/jmh-core -->
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${jmh.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjdk.jmh/jmh-generator-annprocess -->
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
<scope>provided</scope>
</dependency>
<dependencies>
<!-- platform dependencies -->
<dependency>
<groupId>fielden</groupId>
<artifactId>platform-dao</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>fielden</groupId>
<artifactId>platform-dao</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>fielden</groupId>
<artifactId>platform-pojo-bl</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<!-- other dependencies -->
<!-- Java Microbenchmark Harness -->
<!-- https://mvnrepository.com/artifact/org.openjdk.jmh/jmh-core -->
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${jmh.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjdk.jmh/jmh-generator-annprocess -->
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
<scope>provided</scope>
</dependency>

</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/log4j.xml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/log4j.xml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>

<plugins>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
Expand Down Expand Up @@ -109,6 +117,18 @@
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

<!-- disable maven-enforcer-plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>

</plugins>

</build>
</project>
6 changes: 6 additions & 0 deletions platform-benchmark/scripts/dry-run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env sh

## This script can be used to perform a quick experimental run of benchmarks.
## For example, to identify runtime errors early on.

java -jar target/benchmarks.jar -i 1 -r 0 -wi 0 -foe true -f 0 -t 1 "$@"
Loading