Changeset: 063c71ebc7eb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/063c71ebc7eb
Branch: inet4+6
Log Message:
Merge with default branch.
diffs (144 lines):
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -24,7 +24,7 @@ jobs:
- os: macos-latest
c_compiler: clang
- os: macos-latest
- c_compiler: gcc-12
+ c_compiler: gcc-14
- os: ubuntu-latest
c_compiler: gcc
- os: ubuntu-latest
@@ -124,7 +124,7 @@ jobs:
- name: ctest
run: |
cd build
- cmake --build . --target ${{ runner.os == 'Windows' && 'RUN_TESTS'
|| 'test' }}
+ CTEST_OUTPUT_ON_FAILURE=1 cmake --build . --target ${{ runner.os ==
'Windows' && 'RUN_TESTS' || 'test' }}
if: runner.os != 'Windows'
- name: mtest
diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c
--- a/sql/server/rel_statistics.c
+++ b/sql/server/rel_statistics.c
@@ -1049,6 +1049,10 @@ rel_get_statistics_(visitor *v, sql_rel
set_count_prop(v->sql->sa, rel,
get_rel_count(l));
}
}
+ if (can_be_pruned && is_semi(rel->op)) {
+ if (get_rel_count(rel->l) == 0)
+ return rel->l;
+ }
break;
case op_project:
if (l) {
diff --git a/sql/test/BugTracker-2015/Tests/epoch_now.Bug-3740.test
b/sql/test/BugTracker-2015/Tests/epoch_now.Bug-3740.test
--- a/sql/test/BugTracker-2015/Tests/epoch_now.Bug-3740.test
+++ b/sql/test/BugTracker-2015/Tests/epoch_now.Bug-3740.test
@@ -1,5 +1,5 @@
query I rowsort
-select epoch(now()) - epoch(now())
+select epoch(now()) - epoch(now()) between -2 and 2
----
-0
+1
diff --git
a/sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.test
b/sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.test
---
a/sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.test
+++
b/sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.test
@@ -6,6 +6,9 @@ CREATE TABLE sys.myfunctions ("id" INTEG
"schema_id" INTEGER,"system" BOOLEAN,"semantics" BOOLEAN)
statement ok
+insert into sys.myfunctions values( 10000000, 'test', 'func', 'mod', 0, 0,
false, false, false, 2000, true, false);
+
+statement ok
CREATE VIEW sys.commented_function_signatures_6542 AS
SELECT f.id AS fid,
s.name AS schema,
@@ -52,7 +55,7 @@ project (
| | | | | | | | | | select (
| | | | | | | | | | | table("sys"."args") [ "args"."func_id" NOT NULL as
"p"."func_id", "args"."inout" NOT NULL as "p"."inout", "args"."number" NOT NULL
as "p"."number" ]
| | | | | | | | | | ) [ ("p"."inout" NOT NULL) = (tinyint(1) "1") ]
-| | | | | | | | | ) [ ("f"."id" NOT NULL UNIQUE) = ("p"."func_id" NOT NULL) ]
+| | | | | | | | | ) [ boolean(1) "false" ]
| | | | | | | | ) [ "f"."id" NOT NULL, "p"."number" ] [ "f"."id" PART ASC NOT
NULL, "p"."number" ASC ]
| | | | | | | ) [ "f"."id" NOT NULL, "p"."number" ] [ "f"."id" PART ASC NOT
NULL, "p"."number" NULLS LAST ]
| | | | | | ) [ "f"."id" NOT NULL, "p"."number" ] [ "f"."id" ASC NOT NULL,
"p"."number" ASC ]
diff --git a/sql/test/BugTracker-2025/Tests/7686-delete-all-empty-table.test
b/sql/test/BugTracker-2025/Tests/7686-delete-all-empty-table.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2025/Tests/7686-delete-all-empty-table.test
@@ -0,0 +1,20 @@
+statement ok
+create table a(i int)
+
+statement ok
+create table b as select value as i from generate_series(0,10000000)
+
+query T nosort
+plan delete from a where i in (select i from b where i % 2 = 0)
+----
+REF 1 (2)
+table("sys"."a") [ "a"."i" NOT NULL UNIQUE, "a"."%TID%" NOT NULL UNIQUE ]
+group by (
+| delete(
+| | & REF 1
+| | project (
+| | | & REF 1
+| | ) [ "a"."%TID%" NOT NULL UNIQUE ]
+| ) [ "a"."%TID%" NOT NULL ]
+) [ ] [ "sys"."count"() NOT NULL UNIQUE as "%3"."%3" ]
+
diff --git a/sql/test/BugTracker-2025/Tests/All
b/sql/test/BugTracker-2025/Tests/All
--- a/sql/test/BugTracker-2025/Tests/All
+++ b/sql/test/BugTracker-2025/Tests/All
@@ -28,3 +28,4 @@ 7671-lag-over-empty-bat
7674-rel_find_designated_index_crash
7680-union-all
7682_trigger_crash
+7686-delete-all-empty-table
diff --git a/sql/test/astro/Tests/astro.test b/sql/test/astro/Tests/astro.test
--- a/sql/test/astro/Tests/astro.test
+++ b/sql/test/astro/Tests/astro.test
@@ -71,14 +71,7 @@ group by (
| | & REF 1
| | project (
| | | left outer join (
-| | | | semijoin (
-| | | | | & REF 1 ,
-| | | | | project (
-| | | | | | select (
-| | | | | | | table("sys"."cm_flux") [ "cm_flux"."runcat" NOT NULL UNIQUE,
"cm_flux"."filter" NOT NULL UNIQUE, "cm_flux"."active" NOT NULL UNIQUE ]
-| | | | | | ) [ ("cm_flux"."active" NOT NULL UNIQUE) = (boolean(1) "true"),
(varchar(1)["cm_flux"."filter" NOT NULL UNIQUE] NOT NULL) = (varchar(1) "g") ]
-| | | | | ) [ "cm_flux"."runcat" NOT NULL UNIQUE, "cm_flux"."filter" NOT NULL
UNIQUE ]
-| | | | ) [ ("cm_flux"."runcat" NOT NULL UNIQUE) = ("fluxz"."runcat" NOT NULL
UNIQUE), ("cm_flux"."filter" NOT NULL UNIQUE) = ("fluxz"."filter" NOT NULL
UNIQUE) ],
+| | | | & REF 1 ,
| | | | select (
| | | | | table("sys"."cm_flux") [ "cm_flux"."runcat" NOT NULL UNIQUE,
"cm_flux"."filter" NOT NULL UNIQUE, "cm_flux"."f_datapoints" NOT NULL UNIQUE,
"cm_flux"."active" NOT NULL UNIQUE, "cm_flux"."avg_flux" NOT NULL UNIQUE,
"cm_flux"."avg_fluxsq" NOT NULL UNIQUE, "cm_flux"."avg_w" NOT NULL UNIQUE,
"cm_flux"."avg_wflux" NOT NULL UNIQUE, "cm_flux"."avg_wfluxsq" NOT NULL UNIQUE,
"cm_flux"."avg_dec_zone_deg" NOT NULL UNIQUE ]
| | | | ) [ ("cm_flux"."active" NOT NULL UNIQUE) = (boolean(1) "true"),
(varchar(1)["cm_flux"."filter" NOT NULL UNIQUE] NOT NULL) = (varchar(1) "g") ]
diff --git a/sql/test/proto_loader/odbc/Tests/monetodbc.test
b/sql/test/proto_loader/odbc/Tests/monetodbc.test
--- a/sql/test/proto_loader/odbc/Tests/monetodbc.test
+++ b/sql/test/proto_loader/odbc/Tests/monetodbc.test
@@ -6,7 +6,7 @@ select * from proto_loader('odbc:Dsn=Mon
statement error 42000!CATALOG: no such table returning function 'proto_loader'
select * from proto_loader('odbc:DSN=MonetDB-Test', 'monetdb', 'monetdb',
'SELECT * FROM INFORMATION_SCHEMA.TABLES')
-statement error 42000!SELECT: proto_loader function failed 'odbc_loader
SQLDriverConnect failed. SQLSTATE IM002, Error code 0, Message
[unixODBC][Driver Manager]Data source name not found and no default driver
specified'
+statement error 42000!SELECT: proto_loader function failed 'odbc_loader
SQLDriverConnect failed. SQLSTATE IM002, Error code 0, Message
[unixODBC][Driver Manager]Data source name not found...
select * from proto_loader('odbc:FILEDSN=MonetDB-Test;QUERY=SELECT * FROM
INFORMATION_SCHEMA.TABLES')
statement error 42000!SELECT: proto_loader function failed 'odbc_loader
SQLDriverConnect failed. SQLSTATE 01000, Error code 0, Message
[unixODBC][Driver Manager]Can't open lib 'libMonetODBC' : file not found'
diff --git a/testing/process.py b/testing/process.py
--- a/testing/process.py
+++ b/testing/process.py
@@ -476,7 +476,7 @@ class server(Popen):
def __init__(self, args=[], stdin=None, stdout=None, stderr=None,
mapiport=None, dbname=os.getenv('TSTDB'), dbfarm=None,
dbextra=None, bufsize=0,
- notrace=False, ipv6=False):
+ notrace=False, ipv6=True):
'''Start a server process.'''
cmd = _server[:]
if not cmd:
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]