Consider the test case below. It is unexpected that the second query returns `NULL, NULL`, as the first query returns `NULL, 1`, and the subsequent queries with `WHERE` filter shouldn't return any extra row.

```sql
DROP TABLE t0;
DROP TABLE t1;

CREATE TABLE t0(c0 VARCHAR(500));
CREATE TABLE t1(c0 INTEGER, c1 INTEGER);
INSERT INTO t1 (c0) VALUES (1);
INSERT INTO t1 (c1) VALUES (2);
INSERT INTO t0 (c0) VALUES ('a');


SELECT t1.c0 FROM t1 LEFT  JOIN t0 ON t1.c1; -- NULL, 1
SELECT t1.c0 FROM t1 LEFT  JOIN t0 ON t1.c1 WHERE (NOT NULL) UNION ALL SELECT t1.c0 FROM t1 LEFT  JOIN t0 ON t1.c1 WHERE ((NULL) IS NULL);
-- Expected: NULL, 1
-- Actual: NULL, NULL

-- This query works as expected
SELECT t1.c0 FROM t1 LEFT  JOIN t0 ON t1.c1 WHERE ((NULL) IS NULL); -- NULL, 1
```

I build docker image following this: https://github.com/openlink/vos-reference-docker. Kindly inform me if I did something wrong or I should provide more information.

Here's the version:

```
[vos-reference/develop/7]

This Docker image is using the following version of Virtuoso:

Virtuoso Open Source Edition (Column Store) (multi threaded)
Version 7.2.12-dev.3238-pthreads as of Jan 19 2024 (b361275)
Compiled for Linux (x86_64-pc-linux-gnu)
Copyright (C) 1998-2024 OpenLink Software
```


Unexpected results when using `LEFT JOIN` with `NULL` as predicate
This is a GitHub Issue
repo:virtuoso-opensource
owner:openlink
Title : Unexpected results when using `LEFT JOIN` with `NULL` as predicate
Issue date:

--- start body ---
Consider the test case below. It is unexpected that the second query returns `NULL, NULL`, as the first query returns `NULL, 1`, and the subsequent queries with `WHERE` filter shouldn't return any extra row.

```sql
DROP TABLE t0;
DROP TABLE t1;

CREATE TABLE t0(c0 VARCHAR(500));
CREATE TABLE t1(c0 INTEGER, c1 INTEGER);
INSERT INTO t1 (c0) VALUES (1);
INSERT INTO t1 (c1) VALUES (2);
INSERT INTO t0 (c0) VALUES ('a');


SELECT t1.c0 FROM t1 LEFT  JOIN t0 ON t1.c1; -- NULL, 1
SELECT t1.c0 FROM t1 LEFT  JOIN t0 ON t1.c1 WHERE (NOT NULL) UNION ALL SELECT t1.c0 FROM t1 LEFT  JOIN t0 ON t1.c1 WHERE ((NULL) IS NULL);
-- Expected: NULL, 1
-- Actual: NULL, NULL

-- This query works as expected
SELECT t1.c0 FROM t1 LEFT  JOIN t0 ON t1.c1 WHERE ((NULL) IS NULL); -- NULL, 1
```

I build docker image following this: https://github.com/openlink/vos-reference-docker. Kindly inform me if I did something wrong or I should provide more information.

Here's the version:

```
[vos-reference/develop/7]

This Docker image is using the following version of Virtuoso:

Virtuoso Open Source Edition (Column Store) (multi threaded)
Version 7.2.12-dev.3238-pthreads as of Jan 19 2024 (b361275)
Compiled for Linux (x86_64-pc-linux-gnu)
Copyright (C) 1998-2024 OpenLink Software
```


--- end body ---
