You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Paul Lin (Jira)" <ji...@apache.org> on 2022/01/06 16:43:00 UTC

[jira] [Updated] (FLINK-25558) TableResult OK may be empty if returned by multiple queries

     [ https://issues.apache.org/jira/browse/FLINK-25558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Lin updated FLINK-25558:
-----------------------------
    Description: 
Many queries return `TABLE_RESULT_OK`, which is a static member for reducing memory overhead. However, TableResult contains an iterator that can be read once. That means if a query returns `TABLE_RESULT_OK` and it is read,  then`TABLE_RESULT_OK` returned by the following queries would be considered empty.

It can be reproduced by simply printing two query results.

```
tEnv.executeSql("create table tbl_a (a string)").print();
tEnv.executeSql("create table tbl_b (a string)").print();
```

The output would be

```
+--------+
| result |
+--------+
|     OK |
+--------+
1 row in set
Empty set

```

 

 

  was:
Many queries return `TABLE_RESULT_OK`, which is a static member for reducing memory overhead. However, TableResult contains an iterator that can be read once. That means if a query returns `TABLE_RESULT_OK` and it is read,  then`TABLE_RESULT_OK` returned by the following queries would be considered empty.

It can be reproduced by simply printing two query results.

```

tEnv.executeSql("create table tbl_a (a string)").print();

tEnv.executeSql("create table tbl_b (a string)").print();

```

The output would be

```

+--------+
| result |
+--------+
|     OK |
+--------+
1 row in set
Empty set

```

 

 


> TableResult OK may be empty if returned by multiple queries
> -----------------------------------------------------------
>
>                 Key: FLINK-25558
>                 URL: https://issues.apache.org/jira/browse/FLINK-25558
>             Project: Flink
>          Issue Type: Bug
>            Reporter: Paul Lin
>            Priority: Major
>
> Many queries return `TABLE_RESULT_OK`, which is a static member for reducing memory overhead. However, TableResult contains an iterator that can be read once. That means if a query returns `TABLE_RESULT_OK` and it is read,  then`TABLE_RESULT_OK` returned by the following queries would be considered empty.
> It can be reproduced by simply printing two query results.
> ```
> tEnv.executeSql("create table tbl_a (a string)").print();
> tEnv.executeSql("create table tbl_b (a string)").print();
> ```
> The output would be
> ```
> +--------+
> | result |
> +--------+
> |     OK |
> +--------+
> 1 row in set
> Empty set
> ```
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)