Skip to content

Conversation

@siying
Copy link
Contributor

@siying siying commented Jun 13, 2023

What changes were proposed in this pull request?

Replace existing error message when non-time window function is used with streaming to include aggregation function and column. The error message looks like following now:

org.apache.spark.sql.AnalysisException: Window function is not supported in 'row_number()' as column 'rn_col' on streaming DataFrames/Datasets. Structured Streaming only supports time-window aggregation using the window unction. (window specification: '(PARTITION BY col1 ORDER BY col2 ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)')

Note that the message is a little bit unnatural as the existing unit test requires the exception follows the pattern that it includes "not supported", "streaming" "DataFrames" and "Dataset".

Why are the changes needed?

The exiting error message is vague and a full logical plan is included. A user reports that they aren't able to identify what the problem is.

Does this PR introduce any user-facing change?

No.

How was this patch tested?

Added a unit test

Copy link
Contributor

@jaceklaskowski jaceklaskowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tiny nits

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Remove found

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Streaming (upper case)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting...should the error message include OVER spec? 🤔 It might not necessarily be related to this change but an issue with window aggregation in Spark SQL in general.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we add OVER, it looks like this:

Unsupported window function found in column 'row_number() OVER (PARTITION BY col1 ORDER BY col2 ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as column rn_col'. Structured streaming only supports time-window aggregation using the `window` function.

I don't have a strong opinion on this but I didn't include it because I personally feel that I'm a little bit overwhelmed by less relevant information. What's your opinion on this?

Copy link
Contributor Author

@siying siying Jun 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the PR. Now the message looks like following:

Unsupported window function in 'row_number()' as column 'rn_col'. Structured Streaming only supports time-window aggregation using the `window` function. (window specification: '(PARTITION BY col1 ORDER BY col2 ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)')

Comment on lines 525 to 527
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you introduce an error class with this error format, and put it to error-classes.json, please. Also cc @HeartSaVioR for checking semantic.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@siying
The change itself seems to be OK.

We are going to apply error class framework on new attempt of touching exception. Although we haven't made any progress on UnsupportedOperationChecker, we could consider this as a starter.

Please look into the recent PR on error class migration in SS, especially error-classes.json and QueryExecutionErrors.scala.
#41205

Here is a guide doc for error class framework.
https://github.com/apache/spark/blob/master/core/src/main/resources/error/README.md

Please go through and apply it. Thanks!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

case w @ Window(_, _, _, child) if child.isStreaming =>

w would be same as subPlan.asInstanceOf[Window]

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it doesn't even need to... we can just extract the value out from the pattern.

case Window(windowExpressions, _, _, child) if child.isStreaming =>

and then remove L512 and use windowExpressions directly.

Comment on lines 525 to 527
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@siying
The change itself seems to be OK.

We are going to apply error class framework on new attempt of touching exception. Although we haven't made any progress on UnsupportedOperationChecker, we could consider this as a starter.

Please look into the recent PR on error class migration in SS, especially error-classes.json and QueryExecutionErrors.scala.
#41205

Here is a guide doc for error class framework.
https://github.com/apache/spark/blob/master/core/src/main/resources/error/README.md

Please go through and apply it. Thanks!

@github-actions github-actions bot added the CORE label Jun 21, 2023
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you use checkError to check the error class and parameters. In that way, tech editors can change the error message and don't depend on internal Spark tests.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to avoid the dependency from the error message format?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the argument contain multiple names? If not, please, change it to windowFunc

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you wrap windowFuncs by toSQLId, please.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, remove '' around windowSpec

@siying
Copy link
Contributor Author

siying commented Jun 23, 2023

@MaxGekk I addressed the comments. The CI failure is on python link. I don't know why it happens but I don't see how it is related.

@siying
Copy link
Contributor Author

siying commented Jun 26, 2023

@MaxGekk here are the only error messages in CI and I assume it is not related:

Run PYTHON_EXECUTABLE=python3.9 ./dev/lint-python
starting python compilation test...
python compilation succeeded.

starting black test...
black checks passed.

starting flake8 test...
flake8 checks passed.

starting mypy annotations test...
annotations failed mypy checks:
python/pyspark/sql/types.py:149: error: Signature of "__call__" incompatible with supertype "type"  [override]
python/pyspark/sql/types.py:149: note:      Superclass:
python/pyspark/sql/types.py:149: note:          def __call__(self, *args: Any, **kwds: Any) -> Any
python/pyspark/sql/types.py:149: note:      Subclass:
python/pyspark/sql/types.py:149: note:          def __call__(cls) -> <nothing>
python/pyspark/sql/observation.py:115: error: Decorated property not supported  [misc]
python/pyspark/mllib/linalg/__init__.py:1620: error: Decorated property not supported  [misc]
python/pyspark/mllib/linalg/__init__.py:1629: error: Decorated property not supported  [misc]
python/pyspark/ml/util.py:662: error: Decorated property not supported  [misc]
python/pyspark/ml/util.py:671: error: Decorated property not supported  [misc]
python/pyspark/ml/torch/distributor.py:770: error: Incompatible types in assignment (expression has type "TextIO", variable has type "BinaryIO")  [assignment]
python/pyspark/ml/torch/distributor.py:771: error: Argument 1 to "write" of "IO" has incompatible type "str"; expected "bytes"  [arg-type]
python/pyspark/mllib/regression.py:120: error: Decorated property not supported  [misc]
python/pyspark/mllib/regression.py:126: error: Decorated property not supported  [misc]
python/pyspark/mllib/classification.py:76: error: Decorated property not supported  [misc]
python/pyspark/mllib/classification.py:217: error: Decorated property not supported  [misc]
python/pyspark/mllib/classification.py:225: error: Decorated property not supported  [misc]
python/pyspark/ml/base.py:399: error: Decorated property not supported  [misc]
python/pyspark/ml/connect/base.py:325: error: Decorated property not supported  [misc]
python/pyspark/ml/wrapper.py:271: error: unused "type: ignore" comment
python/pyspark/ml/wrapper.py:452: error: Decorated property not supported  [misc]
python/pyspark/ml/tree.py:49: error: Decorated property not supported  [misc]
python/pyspark/ml/tree.py:55: error: Decorated property not supported  [misc]
python/pyspark/ml/tree.py:61: error: Decorated property not supported  [misc]
python/pyspark/ml/tree.py:221: error: Decorated property not supported  [misc]
python/pyspark/ml/tree.py:227: error: Decorated property not supported  [misc]
python/pyspark/ml/tree.py:233: error: Decorated property not supported  [misc]
python/pyspark/ml/tree.py:239: error: Decorated property not supported  [misc]
python/pyspark/ml/tree.py:245: error: Decorated property not supported  [misc]
python/pyspark/ml/recommendation.py:612: error: Decorated property not supported  [misc]
python/pyspark/ml/recommendation.py:618: error: Decorated property not supported  [misc]
python/pyspark/ml/recommendation.py:627: error: Decorated property not supported  [misc]
python/pyspark/ml/fpm.py:127: error: Decorated property not supported  [misc]
python/pyspark/ml/fpm.py:[13](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:14)7: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:1222: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:1892: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:1900: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:1908: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:2258: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:2473: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:2823: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:2831: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:3332: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:4010: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:4018: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:4462: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:4470: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:4835: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:4846: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:5630: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:5638: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:6266: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:6275: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:6732: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:7[14](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:15)7: error: Decorated property not supported  [misc]
python/pyspark/ml/feature.py:7422: error: Decorated property not supported  [misc]
python/pyspark/ml/tuning.py:464: error: Argument 1 to "list" has incompatible type "ValuesView[Params]"; expected "Iterable[Evaluator]"  [arg-type]
python/pyspark/ml/regression.py:456: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:464: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:472: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:480: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:520: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:528: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:537: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:546: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:555: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:574: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:590: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:606: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:621: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:638: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:654: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:662: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:670: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:678: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:980: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:988: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:997: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:1603: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:1992: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2311: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2319: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2327: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2737: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2745: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2753: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2795: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2803: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2812: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2820: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2828: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2836: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2844: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2866: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2874: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2882: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2893: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2910: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2918: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2926: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2937: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:2948: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:3283: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:3291: error: Decorated property not supported  [misc]
python/pyspark/ml/regression.py:3299: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:86: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:94: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:102: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:110: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:118: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:126: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:134: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:213: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:223: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:239: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:249: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:532: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:540: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:548: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:564: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:686: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:1024: error: Decorated property not supported  [misc]
python/pyspark/ml/clustering.py:1248: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:183: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:287: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:338: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:346: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:354: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:363: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:389: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:397: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:405: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:413: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:428: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:438: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:447: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:455: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:464: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:488: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:498: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:5[15](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:16): error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:539: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:548: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:558: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:567: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:577: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:860: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:868: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:1530: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:1539: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:1548: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:1556: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:1564: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:[16](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:17)12: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:1621: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:2282: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:2288: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:2770: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:3021: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:3029: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:3037: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:3314: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:4230: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:4238: error: Decorated property not supported  [misc]
python/pyspark/ml/classification.py:4246: error: Decorated property not supported  [misc]
python/pyspark/streaming/context.py:384: error: Argument 1 to "parallelize" of "SparkContext" has incompatible type "RDD[T]"; expected "Iterable[T]"  [arg-type]
python/pyspark/streaming/context.py:390: error: Argument 1 to "parallelize" of "SparkContext" has incompatible type "RDD[T]"; expected "Iterable[T]"  [arg-type]
python/pyspark/mllib/recommendation.py:211: error: Decorated property not supported  [misc]
python/pyspark/mllib/feature.py:254: error: Decorated property not supported  [misc]
python/pyspark/mllib/feature.py:262: error: Decorated property not supported  [misc]
python/pyspark/mllib/feature.py:270: error: Decorated property not supported  [misc]
python/pyspark/mllib/feature.py:278: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:88: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:97: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:164: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:[17](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:18)3: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:[18](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:19)2: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:[19](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:20)1: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:[20](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:21)0: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:351: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:360: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:369: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:377: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:386: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:485: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:617: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:626: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:635: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:644: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:652: error: Decorated property not supported  [misc]
python/pyspark/mllib/evaluation.py:661: error: Decorated property not supported  [misc]
python/pyspark/mllib/linalg/distributed.py:503: error: Decorated property not supported  [misc]
python/pyspark/mllib/linalg/distributed.py:520: error: Decorated property not supported  [misc]
python/pyspark/mllib/linalg/distributed.py:528: error: Decorated property not supported  [misc]
python/pyspark/mllib/clustering.py:82: error: Decorated property not supported  [misc]
python/pyspark/mllib/clustering.py:89: error: Decorated property not supported  [misc]
python/pyspark/mllib/clustering.py:284: error: Decorated property not supported  [misc]
python/pyspark/mllib/clustering.py:290: error: Decorated property not supported  [misc]
python/pyspark/mllib/clustering.py:535: error: Decorated property not supported  [misc]
python/pyspark/mllib/clustering.py:544: error: Decorated property not supported  [misc]
python/pyspark/mllib/clustering.py:555: error: Decorated property not supported  [misc]
python/pyspark/mllib/clustering.py:781: error: Decorated property not supported  [misc]
python/pyspark/mllib/clustering.py:949: error: Decorated property not supported  [misc]
Found 199 errors in [24](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:25) files (checked [66](https://github.com/siying/spark/actions/runs/5342031946/jobs/9725463342#step:16:67)8 source files)
1
Error: Process completed with exit code 1.

@HeartSaVioR
Copy link
Contributor

@MaxGekk Would you mind having an another round of review? Given that you've been providing review comments, I'd like to make sure we get sign-off from you. Thanks in advance!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, restore indentation here.

@MaxGekk
Copy link
Member

MaxGekk commented Jun 27, 2023

@MaxGekk here are the only error messages in CI and I assume it is not related:

Yep, it seems not. I re-ran it locally. Could you rebase on the recent master.

@siying
Copy link
Contributor Author

siying commented Jun 27, 2023

@MaxGekk I removed the unintended indenting and rebase. now all tests passed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you change quoting of the expression and the id using toSQLExpr and toSQLId

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and just pass both to nonTimeWindowNotSupportedInStreamingError, and put as column to error-classes.json.

@siying
Copy link
Contributor Author

siying commented Jun 29, 2023

@MaxGekk I addressed the comments.

@MaxGekk
Copy link
Member

MaxGekk commented Jun 29, 2023

@siying Could you resolve conflicts.

Comment on lines 27 to 29
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you pass sequences of (windowFunc, columnName, windowSpec), and do quoting inside of QueryExecutionErrors, please.

Comment on lines 515 to 529
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's merge all of them and return (we.windowFunction, e.toAttribute, we.windowSpec)

Comment on lines 735 to 737
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better to perform quoting here.

@siying
Copy link
Contributor Author

siying commented Jun 30, 2023

@MaxGekk I address the comments.

@MaxGekk
Copy link
Member

MaxGekk commented Jul 1, 2023

+1, LGTM. Merging to master.
Thank you, @siying and @HeartSaVioR @jaceklaskowski for review.

@MaxGekk MaxGekk closed this in f406b54 Jul 1, 2023
@siying
Copy link
Contributor Author

siying commented Jul 5, 2023

@MaxGekk thank you for your review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants