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

Merges v1 into main #1672

Merged
merged 394 commits into from
Dec 9, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
0962bcf
Adds closePeeking and openPeeking to RelPeeking
johnedquinn Apr 24, 2024
33e7c5a
Merge pull request #1432 from johnedquinn/v1-conformance-agg-signatures
johnedquinn Apr 24, 2024
d6e8471
Merge pull request #1430 from johnedquinn/v1-union
johnedquinn Apr 24, 2024
801091c
Add binary API compatibility checks to v1 branch (#1427)
alancai98 Apr 24, 2024
1bb5577
Fix build after #1427 (#1444)
alancai98 Apr 24, 2024
abfc58d
Support parsing for attribute and tuple level constraint (#1442)
yliuuuu Apr 25, 2024
607c4c0
run apiDump (#1447)
yliuuuu Apr 25, 2024
23f6fee
struct subfield and list element type (#1449)
yliuuuu May 1, 2024
28edbb7
Internalize generated ANTLR sources (#1452)
alancai98 May 2, 2024
2879f3a
V1 ddl extended keyword (#1455)
yliuuuu May 6, 2024
4f89c2d
Add to non-reserved keywords; rework `functionName` and `symbolPrimit…
alancai98 May 9, 2024
0863464
Merge branch 'main' into v1-main-merge
johnedquinn May 17, 2024
a31d64c
Fixes merge conflicts
johnedquinn May 17, 2024
5d909f5
Runs apiDump
johnedquinn May 17, 2024
09e7395
Clears gradle cache (which ANTLR uses) and runs apiDump on parser pac…
johnedquinn May 17, 2024
07d8d46
Merge pull request #1469 from johnedquinn/v1-main-merge
johnedquinn May 18, 2024
c53be04
Updates conformance tests and enables easier conformance debugging (#…
johnedquinn May 28, 2024
22bb461
Remove hard-coded aggregations from parser and ast (#1464)
alancai98 May 30, 2024
9ee2e59
Merge branch 'main' into v1
johnedquinn Jun 3, 2024
cc3654a
Fixes tests
johnedquinn Jun 4, 2024
145991e
Addresses PR comments
johnedquinn Jun 11, 2024
20a8434
Updates Gradle to 8.7
johnedquinn Jun 11, 2024
0e1564e
Updates conformance tests to Gradle 8.7
johnedquinn Jun 11, 2024
53f3502
Revert "Updates Gradle to 8.7"
johnedquinn Jun 11, 2024
a938485
Revert "Updates conformance tests to Gradle 8.7"
johnedquinn Jun 11, 2024
46fea3b
Merge pull request #1481 from johnedquinn/v1-merge-main
johnedquinn Jun 11, 2024
ed882f7
Initializes Datum and adds functionality to evaluator (#1451)
johnedquinn Jun 11, 2024
67c5392
Update conformance GH action gradle version (#1485) (#1486)
alancai98 Jun 11, 2024
c05471c
Initializes PType
johnedquinn Jun 11, 2024
0ceaf09
Uses only PType.Kind.ROW for fields
johnedquinn Jun 18, 2024
b99a205
Updates Javadocs
johnedquinn Jun 19, 2024
2d34f88
Cleans up TODOs
johnedquinn Jun 19, 2024
3d4e23f
Renames getMaxLength()
johnedquinn Jun 19, 2024
8885eb6
Adds PType.Kind.VARCHAR
johnedquinn Jun 19, 2024
4dd0972
Merge pull request #1488 from johnedquinn/v1-ptype
johnedquinn Jun 20, 2024
ec512d2
qualified identifier (#1411)
yliuuuu Apr 4, 2024
0f6e751
Add warning to not implement sprout-generated visitor interfaces (#1413)
alancai98 Apr 4, 2024
140b1f0
Prepares 0.14.5 release (#1419)
RCHowell Apr 10, 2024
e366fdc
Prepares v0.14.6 snapshot (#1421)
RCHowell Apr 11, 2024
f76705e
Add custom ktlint rules to prevent Java interop issues (#1414)
alancai98 Apr 18, 2024
04cbdae
Remove unnecessary conversion steps in PartiQLValueIonReaderBuilder (…
popematt May 7, 2024
0972fbe
Shade antlr dependency for partiql-parser and partiql-lang (#1439)
alancai98 May 14, 2024
2f2ab74
Upgrade JMH plugin dependency to 0.7.2 (#1462)
alancai98 May 15, 2024
2e22c43
delete staticTypeMeta (#1465)
yliuuuu May 16, 2024
005dbce
Fixes ANTLR parser grammar and renames parser g4 file (#1474)
RCHowell May 30, 2024
d04d3dc
Changes INT/INTEGER to be an alias for INT4 (#1473)
RCHowell May 30, 2024
6d98c8c
Fix Functions.md heading for text functions (#1479)
alancai98 Jun 3, 2024
1c3f1b9
Adds support for parameterized decimal cast (#1483)
RCHowell Jun 6, 2024
0b2cd46
Update conformance GH action gradle version (#1485)
alancai98 Jun 11, 2024
416527c
Add implementation of date, time, and timestamp values for `PartiQLVa…
alancai98 Jun 25, 2024
52d978f
Add some tests missing from #1492 (#1493)
alancai98 Jun 25, 2024
be6d8e4
Updates decimal PR with null/missing
RCHowell Jun 26, 2024
68ce31d
Merge remote-tracking branch 'origin/v0.14.6' into temp-v0.14.6
RCHowell Jun 26, 2024
f8da40b
Update CHANGELOG
RCHowell Jun 26, 2024
0066d2a
Merge pull request #1495 from partiql/temp-v0.14.6
RCHowell Jun 26, 2024
5b86afc
Fix bag constructor parsing (#1500)
alancai98 Jul 3, 2024
7ac5b8f
Simplifies joins and fixes bugs
johnedquinn Jul 9, 2024
55a27e6
Fix published jars for non-shadowed packages (#1504)
alancai98 Jul 10, 2024
7ed91d2
Cherry picks #1504 (Fix published jars for non-shadowed packages) (#1…
alancai98 Jul 10, 2024
17f59e2
Fixes null comparisons and coercions of null collections
johnedquinn Jul 10, 2024
45979a9
Updates KDocs and adds lateral tests
johnedquinn Jul 12, 2024
1cd0272
Utilizes the tests at head
johnedquinn Jul 12, 2024
35271b1
Merge pull request #1438 from johnedquinn/v1-conformance-join
johnedquinn Jul 12, 2024
33c9b9f
Fixes CASE-WHEN conformance tests
johnedquinn Jul 11, 2024
e25056c
Updates rules for variable resolution
johnedquinn Jul 12, 2024
ff03b0a
Add operator node to AST and parser (#1499)
alancai98 Jul 15, 2024
54c6c47
Add set op typing; fixes set op parsing and modeling (#1506)
alancai98 Jul 15, 2024
86718c2
Renames TypeEnv to Scope
johnedquinn Jul 15, 2024
8b4e0d3
Merge pull request #1508 from johnedquinn/v1-conformance-variable-res…
johnedquinn Jul 15, 2024
5a9a25a
Fixes timestamp bug
johnedquinn Jul 16, 2024
0703da5
Merge pull request #1515 from johnedquinn/v1-conformance-time
johnedquinn Jul 16, 2024
ce2c689
Merge pull request #1454 from johnedquinn/v1-conformance-null-equality
johnedquinn Jul 17, 2024
73db367
Merge pull request #1509 from johnedquinn/v1-conformance-case-when
johnedquinn Jul 18, 2024
6c314d2
Update Maven publishing to use nexus publish plugin (#1517)
alancai98 Jul 18, 2024
923c8a0
Fixes function invocation for missing arguments
johnedquinn Jul 24, 2024
33e658e
Adds catalog interfaces to partiql-planner (#1521)
RCHowell Jul 25, 2024
b3133a4
Updates conformance tests to latest
johnedquinn Jul 25, 2024
ee6c814
Merge pull request #1524 from johnedquinn/v1-conformance-tests-update
johnedquinn Jul 25, 2024
b5c596c
Merge pull request #1523 from johnedquinn/v1-functions-missing
johnedquinn Jul 25, 2024
7cecff8
Replaces internal IR ids and paths with the catalog identifiers and n…
RCHowell Jul 26, 2024
9b1aa28
Replaces PartiQLPlanner.Session with the catalog Session interface (#…
RCHowell Jul 26, 2024
26d5fd3
V1 roll back ddl (#1525)
yliuuuu Jul 26, 2024
ed09406
Fixes small bugs
johnedquinn Jul 29, 2024
a971c49
Replaces internal IR ids/paths with the catalog ones
RCHowell Jul 26, 2024
b7d65c9
Removes functions from partiql-spi
RCHowell Jul 26, 2024
9e525dc
Intermediate internalization of functions to planner
RCHowell Jul 26, 2024
2fc168b
Internalizes functions to the planner as an intermediate split step
RCHowell Jul 29, 2024
40f0612
Rebase on V1
RCHowell Jul 29, 2024
01063e1
Merge pull request #1529 from johnedquinn/v1-conformance-missing-fixes
johnedquinn Jul 29, 2024
1da539a
Initializes V1 cli/shell (#1458)
RCHowell Jul 29, 2024
7a7be9d
Imports latest V1 functions
RCHowell Jul 29, 2024
409cbda
Simplify SPI functions in preparation for switch
RCHowell Jul 31, 2024
ad129fd
Merge pull request #1530 from partiql/v1-function
johnedquinn Jul 31, 2024
f174d98
Initializes plan interfaces for expressions and relations (#1532)
RCHowell Aug 1, 2024
bd669ff
Moves common dependencies to SPI (#1531)
RCHowell Aug 2, 2024
f1d785f
Fix antlr dep partiql-lang (#1534)
alancai98 Aug 2, 2024
91ac374
Optimizes dynamic dispatch and casts
johnedquinn Aug 2, 2024
d1a0506
Addresses PR comments
johnedquinn Aug 2, 2024
6c87a1a
Merge pull request #1533 from johnedquinn/v1-conformance-ops-perf
johnedquinn Aug 5, 2024
1244c58
Initializes logical plan builders (#1535)
RCHowell Aug 5, 2024
decb104
Fixes majority of DISTINCT conformance tests
johnedquinn Jul 16, 2024
4730205
Fixes remaining DISTINCT tests
johnedquinn Jul 25, 2024
8360e0e
Addresses PR feedback
johnedquinn Aug 6, 2024
cda3557
Updates KDoc and visibility modifier
johnedquinn Aug 7, 2024
e21a1eb
Merge pull request #1513 from johnedquinn/v1-conformance-datum-distinct
johnedquinn Aug 7, 2024
4cd7884
Fix try-catch for conformance tests expecting an error
alancai98 Aug 7, 2024
db75f89
Updates functions and aggregation calls to use Datum
johnedquinn Aug 8, 2024
93d5ff3
Merge pull request #1537 from johnedquinn/v1-fn-datum-impl
johnedquinn Aug 8, 2024
8717275
Merge pull request #1542 from partiql/fix-conformance-runner
johnedquinn Aug 9, 2024
fd20252
Updates conformance comparison output
johnedquinn Aug 14, 2024
616eea1
Updates the exception handling for the test runner
johnedquinn Aug 14, 2024
5bc82d0
Merge pull request #1547 from johnedquinn/v1-conformance-update
johnedquinn Aug 14, 2024
6cb7891
[V1] Use consistent names across PType and Datum (#1546)
RCHowell Aug 14, 2024
86c9749
Fixes additional conformance tests
johnedquinn Aug 15, 2024
eaedb42
Addresses PR comments
johnedquinn Aug 15, 2024
31f61ee
Marks method as static
johnedquinn Aug 14, 2024
f4155be
Adds support for NOT <missing value>
johnedquinn Aug 14, 2024
bd9c2f1
Handles null/missing/mistyped struct keys
johnedquinn Aug 15, 2024
79cb973
Addresses rebase changes
johnedquinn Aug 15, 2024
db9b6bd
Merge pull request #1539 from johnedquinn/v1-fix-tests
johnedquinn Aug 15, 2024
a8ad111
Adds Datum comparator
johnedquinn Aug 19, 2024
945558c
[v0.14.8-SNAPSHOT] Preserve constraint for decimal, string in dynamic…
yliuuuu Aug 19, 2024
5a00560
Addresses PR comments
johnedquinn Aug 19, 2024
92d1b0c
Addresses API Dump
johnedquinn Aug 19, 2024
546a126
Prepare 0.14.8 release (#1554)
alancai98 Aug 19, 2024
eda118f
Merge pull request #1545 from johnedquinn/v1-datum-comparator
johnedquinn Aug 21, 2024
7aeb1be
Replaces ConnectorMetadata with Catalog interfaces (#1536)
RCHowell Aug 21, 2024
4f783c7
[v1] Refactor representation of set ops (#1538)
alancai98 Aug 21, 2024
351b9b8
Merge tag 'v0.14.8' into v1-merge-v0_14_8
johnedquinn Aug 22, 2024
6877905
Fixes merge issues
johnedquinn Aug 22, 2024
83916ca
Removes unused nodes
johnedquinn Aug 22, 2024
1c2220b
Addresses PR comments
johnedquinn Aug 23, 2024
2aec078
Adds tag links
johnedquinn Aug 23, 2024
ebc3409
Merge pull request #1565 from johnedquinn/v1-merge-v0_14_8
johnedquinn Aug 24, 2024
8cb2db7
Adds dataframe style logical plan builders (#1555)
RCHowell Aug 26, 2024
8a32dd9
Removes ConnectorBindings in favor of Table getDatum (#1568)
RCHowell Aug 27, 2024
00caba9
[v1] Remove `CAN_CAST` and `CAN_LOSSLESS_CAST` from partiql-ast (#1544)
alancai98 Aug 27, 2024
53098ee
[v1] Remove DML and EXEC ast nodes (#1552)
alancai98 Aug 27, 2024
55ff39d
Updates to latest conformance tests
johnedquinn Aug 27, 2024
cd30482
Adds groups of tests to fix to align with project management tasks
johnedquinn Aug 27, 2024
cd3c917
Updates ignored test name
johnedquinn Aug 28, 2024
21378c3
Fixes ignored tests not being shown
johnedquinn Aug 28, 2024
ffa368a
Merge pull request #1570 from johnedquinn/v1-tests-update
johnedquinn Aug 28, 2024
a54f6ad
Adds paths to V1 plans (#1571)
RCHowell Aug 28, 2024
1dbb203
Ports evaluation changes to v1 plans (#1573)
RCHowell Sep 6, 2024
122244e
[v1] Upgrade to Kotlin 1.9 (#1578)
alancai98 Sep 16, 2024
82ae5d9
[V1] Adds evaluation for the V1 plan interfaces (#1576)
RCHowell Sep 17, 2024
8e0afff
[V1] Moves datum/catalog from eval/planner to spi java package (#1581)
RCHowell Sep 17, 2024
4fa1a76
[1/2] Resolve functions from the catalog (#1584)
RCHowell Sep 19, 2024
7a07d25
[2/2] Removes temp SqlFnProvider (#1587)
RCHowell Sep 20, 2024
03fe488
Dumps evaluation test cases to the test runner
johnedquinn Sep 16, 2024
b346afe
Dumps parser test cases to the test runner
johnedquinn Sep 16, 2024
3281f43
Generalizes back-tick Ion to a variant pair in the AST (#1591)
RCHowell Sep 23, 2024
f094ed3
Removes partiql-lang module
johnedquinn Sep 23, 2024
0134465
Fixes GH actions
johnedquinn Sep 23, 2024
3fb4b3e
Removes unused SPI APIs and makes connector instantiate catalogs (#1588)
RCHowell Sep 24, 2024
0de4623
Merge pull request #1593 from partiql/v1-remove-v0
johnedquinn Sep 27, 2024
c1a1b3e
[1/2] Function modeling as instance providers and remove signatures (…
RCHowell Sep 27, 2024
da22cf8
Removes ISL and PIG (#1596)
johnedquinn Sep 27, 2024
bb2947f
[2/2] Parameter match on SqlTypeFamily (#1603)
RCHowell Oct 2, 2024
433c609
Fixes small evaluation bugs related to casts, types, etc (#1577)
johnedquinn Oct 2, 2024
9b16d1d
Adds the partiql-lang import-only package (#1607)
RCHowell Oct 4, 2024
50c1b57
Prepares rc.2-SNAPSHOT (#1609)
RCHowell Oct 4, 2024
2fc23c7
[v1] Add simplified Java AST classes and visitors (#1579)
alancai98 Oct 8, 2024
9cfbc51
Adds typing support the V1 logical plans. (#1617)
RCHowell Oct 9, 2024
7e43535
[v1] Fix conformance report comment finding (#1620)
alancai98 Oct 16, 2024
f2897a5
[v1] Add Lombok Builders to classes; make every field final (#1616)
alancai98 Oct 16, 2024
5ba5563
[v1] Add AST factory methods; some fixes to AST classes (#1622)
alancai98 Oct 18, 2024
4fa3853
[v1] Rewrite AST factory methods in Kotlin (#1623)
alancai98 Oct 21, 2024
bd061b4
Initializes error reporting mechanism
johnedquinn Oct 15, 2024
540cf45
Adds a Classification and Severity
johnedquinn Oct 15, 2024
f597bb7
Renames Classification to PErrorKind
johnedquinn Oct 18, 2024
0e83d8b
Makes PError a final class
johnedquinn Oct 18, 2024
03495fa
Removes ProblemGenerator completely
johnedquinn Oct 22, 2024
bfe1956
Removes legacy errors/problems
johnedquinn Oct 22, 2024
b0769a2
Updates error reporting usage guide
johnedquinn Oct 22, 2024
a993ec5
Renames context objects and uses Lombok for builders
johnedquinn Oct 22, 2024
1f9477e
Adds an empty catalog implementation (#1624)
RCHowell Oct 22, 2024
7102cfe
Updates partiql-eval APIs to Java and split compile phase (#1618)
RCHowell Oct 22, 2024
36acf27
Removes component-specific contexts
johnedquinn Oct 24, 2024
be2d164
Updates the PartiQLPlannerPass
johnedquinn Oct 24, 2024
5446fcd
Merge remote-tracking branch 'upstream/v1' into v1-error-reporting-impl
johnedquinn Oct 24, 2024
7c389a1
Adds TODO for the static methods to construct listeners and contexts
johnedquinn Oct 24, 2024
01979fb
Merge pull request #1615 from johnedquinn/v1-error-handling
johnedquinn Oct 24, 2024
03905db
[v1] Add equals and hashcode for AST classes (#1627)
alancai98 Oct 24, 2024
7f382db
[v1] Add .valueOf and .values methods for enums (#1628)
alancai98 Oct 25, 2024
246b63c
[v1] Add .name method to AstEnum (#1630)
alancai98 Oct 28, 2024
f0569bd
[v1] Migrate parser to new AST (#1626)
alancai98 Oct 28, 2024
47de56f
[v1] Adds AstVisitor and AstRewriter; port partiql-ast normalization …
alancai98 Oct 31, 2024
6e7d560
[v1] Add v1 ast -> plan conversion; hook up w/ existing code (#1631)
alancai98 Oct 31, 2024
d37bd5d
Replaces partiql-memory with standard impls. (#1636)
RCHowell Nov 1, 2024
276234c
Migrates parser APIs to Java
johnedquinn Oct 29, 2024
d911396
Adds support for parsing multiple statements
johnedquinn Oct 30, 2024
68a5e48
Adds tests for parsing multiple statements
johnedquinn Oct 30, 2024
8988340
Adds @NotNull annotations
johnedquinn Oct 30, 2024
3e7b965
Migrates SourceLocations to SPI and removes the Mutable class
johnedquinn Oct 30, 2024
147419f
Fixes rebase issues
johnedquinn Nov 1, 2024
b40e03e
Updates naming of ANTLR root to statements
johnedquinn Nov 1, 2024
b94dfc4
Adds a parseSingle() method for the parser
johnedquinn Nov 1, 2024
602b9e0
Adds a stricter use of semi-colons for multiple statements
johnedquinn Nov 1, 2024
75e97e7
Adds a no-context parseSingle() method to PartiQLParser
johnedquinn Nov 1, 2024
f36d0f4
Revert "Adds a no-context parseSingle() method to PartiQLParser"
johnedquinn Nov 1, 2024
da677e4
Revert "Adds a parseSingle() method for the parser"
johnedquinn Nov 1, 2024
8b5cc65
Merge pull request #1634 from johnedquinn/v1-parser-java
johnedquinn Nov 1, 2024
bd7745f
[v1] Rename V1Parser to Parser; move parser builder within the interf…
alancai98 Nov 1, 2024
d561ece
Define datum reader/writer interfaces with variant (#1635)
RCHowell Nov 4, 2024
ff87a2a
[v1] Port SqlDialect to v1 AST (#1638)
alancai98 Nov 4, 2024
9d6d0e2
[v1] Delete sprout-generated AST; remove `v1` from AST package path (…
alancai98 Nov 4, 2024
002d983
Adds APIs for Strategies and Patterns to compiler
RCHowell Oct 11, 2024
a2a6bf5
Backup pattern tree builders
RCHowell Nov 1, 2024
3c7bb2f
Backup
RCHowell Nov 4, 2024
3bcb4be
Backup
RCHowell Nov 5, 2024
31e3cdd
Reduce patterns
RCHowell Nov 5, 2024
e03a35a
Fix local build
RCHowell Nov 5, 2024
0182d30
Fix visibility
RCHowell Nov 5, 2024
e2e7735
Merge pull request #1644 from partiql/v1-udop
johnedquinn Nov 5, 2024
8510a99
Prepares v1.0.0-rc.2 release (#1643)
johnedquinn Nov 5, 2024
894e443
Adds -SNAPSHOT (#1645)
RCHowell Nov 13, 2024
1030669
Removes StaticType's public API
johnedquinn Nov 15, 2024
1ced91b
Adds a partiql-types package Javadoc
johnedquinn Nov 15, 2024
95b9d1b
Re-adds Dokka to SPI as the documentation generator
johnedquinn Nov 18, 2024
bfce6b2
Merge pull request #1648 from johnedquinn/v1-static-type-removal
johnedquinn Nov 18, 2024
951ff85
Removes sexp and symbol from PType and Datum
johnedquinn Nov 18, 2024
d9715e4
Cleans up references to SEXP
johnedquinn Nov 18, 2024
10f93bd
Merge pull request #1633 from johnedquinn/v1-remove-ion
johnedquinn Nov 18, 2024
5b9d527
Rewrites PLUS and BITWISE_AND implementations using new modeling
johnedquinn Nov 18, 2024
177d913
Rewrites MINUS operator
johnedquinn Nov 14, 2024
302dac6
Extracts plus tests from the eval tests
johnedquinn Nov 18, 2024
c9971a7
Renames internal parameter names for the ArithmeticDiadicOperator
johnedquinn Nov 18, 2024
de7d36b
Updates the EQ function to simplify dynamic dispatch
johnedquinn Nov 18, 2024
4c9bc85
Adds an internal TypePrecedence object in SPI
johnedquinn Nov 18, 2024
6a4b3e2
Merge pull request #1647 from johnedquinn/v1-fn-consolidation
johnedquinn Nov 19, 2024
e76d686
Fixes conformance failures (#1651)
johnedquinn Nov 27, 2024
443c3eb
Simplifies PType's APIs (#1658)
johnedquinn Nov 27, 2024
48a9ee3
Added parsing support for Create Table Statement (#1652)
yliuuuu Dec 4, 2024
f5c6eff
[V1] Address 1.0 partiql-plan feedback and cleanup (#1665)
RCHowell Dec 6, 2024
995d38d
Adds INSERT, DELETE, REPLACE, UPSERT, and UPDATE
johnedquinn Dec 6, 2024
1e1ccb3
Renames AST FromSubquery to FromExpr
johnedquinn Dec 6, 2024
5d525fe
Adds DML to the AST Rewriter
johnedquinn Dec 6, 2024
3d822d0
Moves DML AST nodes to dedicated package
johnedquinn Dec 6, 2024
51f4ad1
Updates ConflictTargetConstraint to use an IdentifierChain
johnedquinn Dec 6, 2024
801dd2e
Updates ConflictTarget.Constraint#constraintName to name
johnedquinn Dec 7, 2024
5b594e7
Adds the correct parsing for table value constructors
johnedquinn Dec 7, 2024
44117b5
[v1] Remove PartiQLValue from AST; refactor AST literals (#1650)
alancai98 Dec 7, 2024
7d1a594
Merge remote-tracking branch 'upstream/v1' into v1-dml
johnedquinn Dec 9, 2024
cd2f178
Converts UpdateTargetStep.Element#key to Literal from ExprLit
johnedquinn Dec 9, 2024
9b6d7cc
Merge pull request #1666 from johnedquinn/v1-dml
johnedquinn Dec 9, 2024
e8a786a
Merge branch 'v1' into main-merge-v1
johnedquinn Dec 9, 2024
7c086dc
Adds v1's changes that were lost during merge
johnedquinn Dec 9, 2024
7961503
Re-adds latest version of dawidd6/action-download-artifact
johnedquinn Dec 9, 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
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: "Build and Report Generation"
on:
push:
branches : [main]
paths:
- '**'
- '!docs/**'
Expand Down
82 changes: 70 additions & 12 deletions .github/workflows/conformance-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,13 @@ name: Conformance Test Report Generation
on: [push, pull_request]

env:
PATH_TO_TEST_RUNNER: test/partiql-tests-runner
LEGACY_VERSION: v0.14.8
CONFORMANCE_REPORT_NAME: conformance_test_results.ion
PATH_TO_TEST_RUNNER: test/partiql-tests-runner
CONFORMANCE_REPORT_RELATIVE_PATH: build/conformance-test-report
COMPARISON_REPORT_NAME: comparison_report.md
COMPARISON_REPORT_NAME_WITH_LIMIT: comparison_report_limited.md
COMMENT_SIZE_LIMIT: 10

jobs:
conformance-report:
Expand All @@ -13,6 +17,7 @@ jobs:
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
submodules: recursive
- name: Use Java 17
uses: actions/setup-java@v3
Expand All @@ -27,12 +32,12 @@ jobs:
# Run the conformance tests and save to an Ion file.
- name: gradle test of the conformance tests (can fail) and save to Ion file
continue-on-error: true
run: gradle :test:partiql-tests-runner:test --tests "*ConformanceTestReport" -PconformanceReport
run: gradle :test:partiql-tests-runner:generateTestReport
# Upload conformance report for future viewing and comparison with future runs.
- name: Upload `conformance_test_results.ion`
- name: Upload `conformance-test-report` folder
uses: actions/upload-artifact@v3
with:
path: ${{ env.PATH_TO_TEST_RUNNER }}/${{ env.CONFORMANCE_REPORT_NAME }}
path: ${{ env.PATH_TO_TEST_RUNNER }}/${{ env.CONFORMANCE_REPORT_RELATIVE_PATH }}
# Cache the conformance report for `conformance-report-comparison` job (pull_request event only)
- name: Cache conformance report and build
if: github.event_name == 'pull_request'
Expand Down Expand Up @@ -67,7 +72,7 @@ jobs:
with:
gradle-version: 8.7
- name: Download `conformance_test_results.ion` from target branch
uses: dawidd6/action-download-artifact@v6
johnedquinn marked this conversation as resolved.
Show resolved Hide resolved
uses: dawidd6/action-download-artifact@v2
id: download-report
continue-on-error: true
with:
Expand All @@ -86,23 +91,76 @@ jobs:
continue-on-error: true
run: |
cd ${{ github.event.pull_request.base.sha }}
gradle :test:partiql-tests-runner:test --tests "*ConformanceTestReport" -PconformanceReport
gradle :test:partiql-tests-runner:generateTestReport
- name: (If download of target branch conformance report fails) Move conformance test report of target branch to ./artifact directory
if: ${{ steps.download-report.outcome == 'failure' }}
continue-on-error: true
run: |
mkdir -p $GITHUB_WORKSPACE/artifact
cp -r $GITHUB_WORKSPACE/${{ github.event.pull_request.base.sha }}/$PATH_TO_TEST_RUNNER/$CONFORMANCE_REPORT_NAME $GITHUB_WORKSPACE/artifact/$CONFORMANCE_REPORT_NAME
# Run conformance report comparison. Generates `comparison_report.md`
- name: Run conformance report comparison. Generates `comparison_report.md`
cp -r $GITHUB_WORKSPACE/${{ github.event.pull_request.base.sha }}/$PATH_TO_TEST_RUNNER/$CONFORMANCE_REPORT_RELATIVE_PATH $GITHUB_WORKSPACE/artifact/$CONFORMANCE_REPORT_RELATIVE_PATH
- name: "Artifact CROSS-ENGINE Report (creates comparison_report.md)"
continue-on-error: true
run: |
ARGS="$GITHUB_WORKSPACE/artifact/$CONFORMANCE_REPORT_NAME $CONFORMANCE_REPORT_NAME ${{ github.event.pull_request.base.sha }} $GITHUB_SHA $COMPARISON_REPORT_NAME"
T="CROSS-ENGINE-REPORT"
BF="$GITHUB_WORKSPACE/$PATH_TO_TEST_RUNNER/src/main/resources/config/legacy/$CONFORMANCE_REPORT_NAME"
BL="LEGACY"
BT="$LEGACY_VERSION"
TF="$GITHUB_WORKSPACE/$PATH_TO_TEST_RUNNER/$CONFORMANCE_REPORT_RELATIVE_PATH/eval/$CONFORMANCE_REPORT_NAME"
TL="EVAL"
TT="$GITHUB_SHA"
O="$COMPARISON_REPORT_NAME"
ARGS="-t $T -bf $BF -bl $BL -bt $BT -tf $TF -tl $TL -tt $TT -o $O"
gradle :test:partiql-tests-runner:run --args="$ARGS"
- name: "Artifact CROSS-COMMIT Report (appends to comparison_report.md)"
continue-on-error: true
run: |
T="CROSS-COMMIT-REPORT"
BF="$GITHUB_WORKSPACE/artifact/eval/$CONFORMANCE_REPORT_NAME"
BL="EVAL"
BT="${{ github.event.pull_request.base.sha }}"
TF="$GITHUB_WORKSPACE/$PATH_TO_TEST_RUNNER/$CONFORMANCE_REPORT_RELATIVE_PATH/eval/$CONFORMANCE_REPORT_NAME"
TL="EVAL"
TT="$GITHUB_SHA"
O="$COMPARISON_REPORT_NAME"
ARGS="-t $T -bf $BF -bl $BL -bt $BT -tf $TF -tl $TL -tt $TT -o $O"
gradle :test:partiql-tests-runner:run --args="$ARGS"
# Print conformance report to GitHub actions workflow summary page
- name: Print markdown in run
continue-on-error: true
run: cat $PATH_TO_TEST_RUNNER/$COMPARISON_REPORT_NAME >> $GITHUB_STEP_SUMMARY
# Upload the full comparison report to CI artifact
- name: Upload `comparison_report.md`
uses: actions/upload-artifact@v3
with:
path: ${{ env.PATH_TO_TEST_RUNNER }}/comparison_report.md
- name: "Comment CROSS-ENGINE Report (creates comparison_report_limited.md)"
continue-on-error: true
run: |
T="CROSS-ENGINE-REPORT"
BF="$GITHUB_WORKSPACE/$PATH_TO_TEST_RUNNER/src/main/resources/config/legacy/$CONFORMANCE_REPORT_NAME"
BL="LEGACY"
BT="$LEGACY_VERSION"
TF="$GITHUB_WORKSPACE/$PATH_TO_TEST_RUNNER/$CONFORMANCE_REPORT_RELATIVE_PATH/eval/$CONFORMANCE_REPORT_NAME"
TL="EVAL"
TT="$GITHUB_SHA"
O="$COMPARISON_REPORT_NAME_WITH_LIMIT"
L="$COMMENT_SIZE_LIMIT"
ARGS="-t $T -bf $BF -bl $BL -bt $BT -tf $TF -tl $TL -tt $TT -o $O -l $L"
gradle :test:partiql-tests-runner:run --args="$ARGS"
- name: "Comment CROSS-COMMIT Report (appends to comparison_report_limited.md)"
continue-on-error: true
run: |
T="CROSS-COMMIT-REPORT"
BF="$GITHUB_WORKSPACE/artifact/eval/$CONFORMANCE_REPORT_NAME"
BL="EVAL"
BT="${{ github.event.pull_request.base.sha }}"
TF="$GITHUB_WORKSPACE/$PATH_TO_TEST_RUNNER/$CONFORMANCE_REPORT_RELATIVE_PATH/eval/$CONFORMANCE_REPORT_NAME"
TL="EVAL"
TT="$GITHUB_SHA"
O="$COMPARISON_REPORT_NAME_WITH_LIMIT"
L="$COMMENT_SIZE_LIMIT"
ARGS="-t $T -bf $BF -bl $BL -bt $BT -tf $TF -tl $TL -tt $TT -o $O -l $L"
gradle :test:partiql-tests-runner:run --args="$ARGS"
# Find comment w/ conformance comparison if previous comment published
- name: Find Comment
uses: peter-evans/find-comment@v2
Expand All @@ -111,13 +169,13 @@ jobs:
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: Conformance
body-includes: CROSS-ENGINE-REPORT
# Create or update (if previous comment exists) with markdown version of comparison report
- name: Create or update comment
continue-on-error: true
uses: peter-evans/create-or-update-comment@v2
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body-file: ${{ env.PATH_TO_TEST_RUNNER }}/${{ env.COMPARISON_REPORT_NAME }}
body-file: ${{ env.PATH_TO_TEST_RUNNER }}/${{ env.COMPARISON_REPORT_NAME_WITH_LIMIT }}
edit-mode: replace
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ build
~$*
.gradle
out/

partiql-parser/src/main/gen

# Created by https://www.toptal.com/developers/gitignore/api/vim,git,java,emacs,kotlin,eclipse,intellij+all,macos
# Edit at https://www.toptal.com/developers/gitignore?templates=vim,git,java,emacs,kotlin,eclipse,intellij+all,macos
Expand Down
Loading
Loading