Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
1.0.3
-
None
-
CentOS
-
2016-21, 2016-22
Description
This issue exists in InfiniDB.
This issue arose because of an anomoly seen in working_tcph_comparelogonly/partitionOptimization/vTpch22.sql
When substr is called on a view, sometimes it returns NULL
Here we select substr and acct_bal from the table. We get the expected result.
MariaDB [tpch1]> select substr(c_phone, 1, 2) as cntrycode, c_acctbal from customer where substr(c_phone, 1, 2) in ('13', '31', '23', '29', '30', '18', '17') limit 10;
--------------------+
cntrycode | c_acctbal |
--------------------+
23 | 121.65 |
13 | 794.47 |
30 | 7638.57 |
18 | 8324.07 |
23 | 3396.49 |
13 | 3857.34 |
18 | 1428.25 |
13 | 591.98 |
13 | 3332.02 |
23 | 9255.67 |
--------------------+
10 rows in set, 1 warning (0.30 sec)
Here we select substr and acct_bal from the view. We get unexpected NULLs on some of the rows.
MariaDB [tpch1]> select substr(c_phone, 1, 2) as cntrycode, c_acctbal from v_customer where substr(c_phone, 1, 2) in ('13', '31', '23', '29', '30', '18', '17') limit 10;
--------------------+
cntrycode | c_acctbal |
--------------------+
NULL | 121.65 |
13 | 794.47 |
NULL | 7638.57 |
NULL | 8324.07 |
NULL | 3396.49 |
NULL | 3857.34 |
NULL | 1428.25 |
NULL | 591.98 |
NULL | 3332.02 |
23 | 9255.67 |
--------------------+
10 rows in set, 1 warning (0.34 sec)
Here we select only substr from the view. We get the expected result.
MariaDB [tpch1]> select substr(c_phone, 1, 2) as cntrycode from v_customer where substr(c_phone, 1, 2) in ('13', '31', '23', '29', '30', '18', '17') limit 10;
-----------
cntrycode |
-----------
23 |
13 |
30 |
18 |
23 |
13 |
18 |
13 |
13 |
23 |
-----------
10 rows in set, 1 warning (0.46 sec)
MariaDB [tpch1]>