You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by GitBox <gi...@apache.org> on 2020/02/28 16:05:52 UTC

[GitHub] [flink] twalthr opened a new pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

twalthr opened a new pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260
 
 
   ## What is the purpose of the change
   
   Avoids errors due to incompatible types during planning by preserving the nullability attributes of nested types.
   
   This PR is based on FLINK-16336.
   
   ## Brief change log
   
   FlinkTypeFactory adapted.
   
   ## Verifying this change
   
   This change added tests and can be verified as follows: `FunctionITCase`
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): no
     - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: no
     - The serializers: no
     - The runtime per-record code paths (performance sensitive): no
     - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
     - The S3 file system connector: no
   
   ## Documentation
   
     - Does this pull request introduce a new feature? no
     - If yes, how is the feature documented? not applicable
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] twalthr commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
twalthr commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-601096269
 
 
   See https://issues.apache.org/jira/browse/FLINK-16679

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592584754
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/flink-ci/flink/builds/151053063",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6370",
       "triggerID" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "triggerType" : "PUSH"
     }, {
       "hash" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/153952785",
       "triggerID" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * de56ec61ba535408110f7fb56bc8ea5b975ca191 Travis: [SUCCESS](https://travis-ci.com/github/flink-ci/flink/builds/153952785) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6370) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
flinkbot commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592581303
 
 
   Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community
   to review your pull request. We will use this comment to track the progress of the review.
   
   
   ## Automated Checks
   Last check on commit 0cabb99916a64e9637c0fccb9a640d457aaecf4f (Fri Feb 28 16:08:41 UTC 2020)
   
   **Warnings:**
    * No documentation files were touched! Remember to keep the Flink docs up to date!
   
   
   <sub>Mention the bot in a comment to re-run the automated checks.</sub>
   ## Review Progress
   
   * ❓ 1. The [description] looks good.
   * ❓ 2. There is [consensus] that the contribution should go into to Flink.
   * ❓ 3. Needs [attention] from.
   * ❓ 4. The change fits into the overall [architecture].
   * ❓ 5. Overall code [quality] is good.
   
   Please see the [Pull Request Review Guide](https://flink.apache.org/contributing/reviewing-prs.html) for a full explanation of the review process.<details>
    The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot approve description` to approve one or more aspects (aspects: `description`, `consensus`, `architecture` and `quality`)
    - `@flinkbot approve all` to approve all aspects
    - `@flinkbot approve-until architecture` to approve everything until `architecture`
    - `@flinkbot attention @username1 [@username2 ..]` to require somebody's attention
    - `@flinkbot disapprove architecture` to remove an approval you gave earlier
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592584754
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/flink-ci/flink/builds/151053063",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6370",
       "triggerID" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "triggerType" : "PUSH"
     }, {
       "hash" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/153952785",
       "triggerID" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0cabb99916a64e9637c0fccb9a640d457aaecf4f Travis: [SUCCESS](https://travis-ci.com/flink-ci/flink/builds/151053063) Azure: [SUCCESS](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753) 
   * de56ec61ba535408110f7fb56bc8ea5b975ca191 Travis: [PENDING](https://travis-ci.com/github/flink-ci/flink/builds/153952785) Azure: [PENDING](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6370) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592584754
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/flink-ci/flink/builds/151053063",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0cabb99916a64e9637c0fccb9a640d457aaecf4f Travis: [SUCCESS](https://travis-ci.com/flink-ci/flink/builds/151053063) Azure: [SUCCESS](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753) 
   * de56ec61ba535408110f7fb56bc8ea5b975ca191 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] twalthr commented on a change in pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
twalthr commented on a change in pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#discussion_r389748177
 
 

 ##########
 File path: flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/calcite/FlinkTypeFactory.scala
 ##########
 @@ -293,6 +293,11 @@ class FlinkTypeFactory(typeSystem: RelDataTypeSystem) extends JavaTypeFactoryImp
       case it: TimeIndicatorRelDataType =>
         new TimeIndicatorRelDataType(it.typeSystem, it.originalType, isNullable, it.isEventTime)
 
+      // for nested rows we keep the nullability property,
+      // top-level rows fall back to Calcite's default handling
+      case rt: RelRecordType if rt.getStructKind == StructKind.PEEK_FIELDS_NO_EXPAND =>
 
 Review comment:
   Yes, I also saw this comment. That's why I only fixed a bug around nested rows in this PR. However, if we are looking for more efficient plans we should further investigate this shortcoming. I recommend to remove `if rt.getStructKind == StructKind.PEEK_FIELDS_NO_EXPAND` to see the resulting plans esp. around joins. Would definitely be a follow-up issue.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] godfreyhe commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
godfreyhe commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-600947526
 
 
   LGTM, It's better to create another issue to track the improvement (e.g. `outer joins`)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592584754
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "DELETED",
       "url" : "https://travis-ci.com/flink-ci/flink/builds/151053063",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6370",
       "triggerID" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "triggerType" : "PUSH"
     }, {
       "hash" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/github/flink-ci/flink/builds/153952785",
       "triggerID" : "de56ec61ba535408110f7fb56bc8ea5b975ca191",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * de56ec61ba535408110f7fb56bc8ea5b975ca191 Travis: [PENDING](https://travis-ci.com/github/flink-ci/flink/builds/153952785) Azure: [FAILURE](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=6370) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] godfreyhe commented on a change in pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
godfreyhe commented on a change in pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#discussion_r390072796
 
 

 ##########
 File path: flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/calcite/FlinkTypeFactory.scala
 ##########
 @@ -293,6 +293,11 @@ class FlinkTypeFactory(typeSystem: RelDataTypeSystem) extends JavaTypeFactoryImp
       case it: TimeIndicatorRelDataType =>
         new TimeIndicatorRelDataType(it.typeSystem, it.originalType, isNullable, it.isEventTime)
 
+      // for nested rows we keep the nullability property,
+      // top-level rows fall back to Calcite's default handling
+      case rt: RelRecordType if rt.getStructKind == StructKind.PEEK_FIELDS_NO_EXPAND =>
 
 Review comment:
   Make sense to me. I also notice `outer joins`  is mentioned in `RelDataTypeFactoryImpl#copyRecordType`'s  comment

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] twalthr commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
twalthr commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592583656
 
 
   @wuchong @JingsongLi It would be great if some of your team could take a look at the change in 0cabb99916a64e9637c0fccb9a640d457aaecf4f while removing the `if rt.getStructKind == StructKind.PEEK_FIELDS_NO_EXPAND`. It seems that a couple of execution plans would look nicer if the nullability property is preserved. However, a lot of join tests fail which is why I limit this PR to nested rows. 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592584754
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "SUCCESS",
       "url" : "https://travis-ci.com/flink-ci/flink/builds/151053063",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0cabb99916a64e9637c0fccb9a640d457aaecf4f Travis: [SUCCESS](https://travis-ci.com/flink-ci/flink/builds/151053063) Azure: [SUCCESS](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592584754
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/flink-ci/flink/builds/151053063",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0cabb99916a64e9637c0fccb9a640d457aaecf4f Travis: [PENDING](https://travis-ci.com/flink-ci/flink/builds/151053063) Azure: [PENDING](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] godfreyhe commented on a change in pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
godfreyhe commented on a change in pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#discussion_r389695314
 
 

 ##########
 File path: flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/calcite/FlinkTypeFactory.scala
 ##########
 @@ -293,6 +293,11 @@ class FlinkTypeFactory(typeSystem: RelDataTypeSystem) extends JavaTypeFactoryImp
       case it: TimeIndicatorRelDataType =>
         new TimeIndicatorRelDataType(it.typeSystem, it.originalType, isNullable, it.isEventTime)
 
+      // for nested rows we keep the nullability property,
+      // top-level rows fall back to Calcite's default handling
+      case rt: RelRecordType if rt.getStructKind == StructKind.PEEK_FIELDS_NO_EXPAND =>
 
 Review comment:
   I find that the comment in `RelDataTypeFactoryImpl#createTypeWithNullability` says `According to the SQL standard, nullability for struct types can be defined only for columns, which translates to top level structs. Nested struct attributes are always nullable, so in principle we could always set the nested attributes to be nullable.` 
   we do not follow the SQL standard here ?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] twalthr closed pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
twalthr closed pull request #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260
 
 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] twalthr commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
twalthr commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-601088183
 
 
   Thanks @godfreyhe. I will merge this and open a follow up issue.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592584754
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "PENDING",
       "url" : "https://travis-ci.com/flink-ci/flink/builds/151053063",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0cabb99916a64e9637c0fccb9a640d457aaecf4f Travis: [PENDING](https://travis-ci.com/flink-ci/flink/builds/151053063) Azure: [SUCCESS](https://dev.azure.com/rmetzger/5bd3ef0a-4359-41af-abca-811b04098d2e/_build/results?buildId=5753) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [flink] flinkbot commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types

Posted by GitBox <gi...@apache.org>.
flinkbot commented on issue #11260: [FLINK-16344][table-planner-blink] Preserve nullability for nested types
URL: https://github.com/apache/flink/pull/11260#issuecomment-592584754
 
 
   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "0cabb99916a64e9637c0fccb9a640d457aaecf4f",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0cabb99916a64e9637c0fccb9a640d457aaecf4f UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run travis` re-run the last Travis build
    - `@flinkbot run azure` re-run the last Azure build
   </details>

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services