# "Select null" has different outputs from different data sources

**URL:** https://community.dremio.com/t/select-null-has-different-outputs-from-different-data-sources/9263
**Category:** Uncategorized
**Created:** [June 9, 2022, 6:03am UTC](https://community.dremio.com/t/select-null-has-different-outputs-from-different-data-sources/9263 "2022-06-09T06:03:38Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![bigfacewo](https://sea2.discourse-cdn.com/flex020/user_avatar/community.dremio.com/bigfacewo/32/4090_2.png) [@bigfacewo](https://community.dremio.com/u/bigfacewo)
#### Post date: [June 9, 2022, 6:03am UTC](https://community.dremio.com/t/select-null-has-different-outputs-from-different-data-sources/9263/1 "2022-06-09T06:03:39Z")

</div>

Hi.  
I found that “select null” has different outputs from different data sources.

First, test to directly upload the parquet file. I name it “orders” here, and then execute the following SQL:

```auto
SELECT null FROM orders group by null

```

The result is correct:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/dremio/original/2X/3/383c0ef7f84bd2ddcf35ac38457351904d08c468.png)

But if the data is in other databases, such as mysql, I test mysql here. I saved the orders table in MySQL as a view of dremio, named orders2. Execute the following SQL:

```auto
SELECT null FROM orders2 group by null

```

I will get the error:

```auto
RuntimeException: cast function for type NULL is not defined.

```

```auto
    SYSTEM ERROR: RuntimeException: cast function for type NULL is not defined

SqlOperatorImpl JDBC_SUB_SCAN
Location 0:0:7
SqlOperatorImpl JDBC_SUB_SCAN
Location 0:0:7
Fragment 0:0

[Error Id: c2283bad-1227-45b3-9419-3ea48c374dc2 on localhost:0]

  (java.lang.RuntimeException) cast function for type NULL is not defined
    com.dremio.common.expression.fn.CastFunctions.getCastFunc():60
    com.dremio.exec.expr.ExpressionMaterializationVisitor.visitCastExpression():650
    com.dremio.exec.expr.ExpressionMaterializationVisitor.visitCastExpression():84
    com.dremio.common.expression.CastExpression.accept():40
    com.dremio.exec.expr.ExpressionTreeMaterializer.materialize():112
    com.dremio.exec.expr.ExpressionTreeMaterializer.materialize():143
    com.dremio.exec.expr.ClassProducerImpl.materializeAndAllowComplex():112
    com.dremio.sabot.op.project.ProjectOperator.createSplitterWithExpressions():419
    com.dremio.sabot.op.project.ProjectOperator.createSplitterWithExpressions():395
    com.dremio.exec.store.CoercionReader.setupProjector():157
    com.dremio.exec.store.CoercionReader.newSchema():136
    com.dremio.exec.store.CoercionReader.setup():119
    com.dremio.sabot.op.scan.ScanOperator.setupReaderAsCorrectUser():311
    com.dremio.sabot.op.scan.ScanOperator.setupReader():302
    com.dremio.sabot.op.scan.ScanOperator.setup():266
    com.dremio.sabot.driver.SmartOp$SmartProducer.setup():563
    com.dremio.sabot.driver.Pipe$SetupVisitor.visitProducer():79
    com.dremio.sabot.driver.Pipe$SetupVisitor.visitProducer():63
    com.dremio.sabot.driver.SmartOp$SmartProducer.accept():533
    com.dremio.sabot.driver.StraightPipe.setup():102
    com.dremio.sabot.driver.StraightPipe.setup():102
    com.dremio.sabot.driver.StraightPipe.setup():102
    com.dremio.sabot.driver.StraightPipe.setup():102
    com.dremio.sabot.driver.StraightPipe.setup():102
    com.dremio.sabot.driver.StraightPipe.setup():102
    com.dremio.sabot.driver.StraightPipe.setup():102
    com.dremio.sabot.driver.Pipeline.setup():69
    com.dremio.sabot.exec.fragment.FragmentExecutor.setupExecution():431
    com.dremio.sabot.exec.fragment.FragmentExecutor.run():283
    com.dremio.sabot.exec.fragment.FragmentExecutor.access$1600():95
    com.dremio.sabot.exec.fragment.FragmentExecutor$AsyncTaskImpl.run():773
    com.dremio.sabot.task.AsyncTaskWrapper.run():120
    com.dremio.sabot.task.slicing.SlicingThread.mainExecutionLoop():243
    com.dremio.sabot.task.slicing.SlicingThread.run():171

```

 ![image](https://us1.discourse-cdn.com/flex020/uploads/dremio/original/2X/4/4dc177838eb6f825d24c553a4472e410043bba2b.png)

This is the test data I used:  
[orders.zip](https://community.dremio.com/uploads/short-url/zyNMF4TQXXHqQSkvHxXW5ClzKDn.zip) (403.7 KB)

![image](https://us1.discourse-cdn.com/flex020/uploads/dremio/original/2X/c/c34208ad7f88bde02bc6a3e71f6a173221eda94d.png)

---

<div class="post-metadata">

### Author: ![balaji.ramaswamy](https://sea2.discourse-cdn.com/flex020/user_avatar/community.dremio.com/balaji.ramaswamy/32/843_2.png) [@balaji.ramaswamy](https://community.dremio.com/u/balaji.ramaswamy)
#### Post date: [June 22, 2022, 5:19pm UTC](https://community.dremio.com/t/select-null-has-different-outputs-from-different-data-sources/9263/2 "2022-06-22T17:19:15Z")

</div>

@bigfacewo In case of MySQL, Dremi owill push down the SQL to Mysql, what is push down look like? Can you send us the profile? or open raw profile, planning, final physical transformation-see the JDBC push down

---

<div class="post-metadata">

### Author: ![bigfacewo](https://sea2.discourse-cdn.com/flex020/user_avatar/community.dremio.com/bigfacewo/32/4090_2.png) [@bigfacewo](https://community.dremio.com/u/bigfacewo)
#### Post date: [June 23, 2022, 1:25am UTC](https://community.dremio.com/t/select-null-has-different-outputs-from-different-data-sources/9263/3 "2022-06-23T01:25:40Z")

</div>

@balaji.ramaswamy Here is the profile:  
[892d33da-9dfa-4618-9981-def81e2d74b3.zip](https://community.dremio.com/uploads/short-url/4NUWCdWu2xY28zk3B5hSkryV7l0.zip) (11.9 KB)

---

<div class="post-metadata">

### Author: ![balaji.ramaswamy](https://sea2.discourse-cdn.com/flex020/user_avatar/community.dremio.com/balaji.ramaswamy/32/843_2.png) [@balaji.ramaswamy](https://community.dremio.com/u/balaji.ramaswamy)
#### Post date: [July 2, 2022, 7:12am UTC](https://community.dremio.com/t/select-null-has-different-outputs-from-different-data-sources/9263/4 "2022-07-02T07:12:56Z")

</div>

@bigfacewo null does not have a data type and hence it is failing, can you please try the below SQL

```auto
select cast(null as varchar) as null_string from orders2

```

---

<div class="post-metadata">

### Author: ![bigfacewo](https://sea2.discourse-cdn.com/flex020/user_avatar/community.dremio.com/bigfacewo/32/4090_2.png) [@bigfacewo](https://community.dremio.com/u/bigfacewo)
#### Post date: [July 22, 2022, 9:39am UTC](https://community.dremio.com/t/select-null-has-different-outputs-from-different-data-sources/9263/5 "2022-07-22T09:39:06Z")

</div>

@balaji.ramaswamy

 ![image](https://us1.discourse-cdn.com/flex020/uploads/dremio/original/2X/1/1b9089bc9c65e180b82455f619addda7d96a49f1.png)
