Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

table function sys.rejects() and view sys.rejects() are listed are metadata objects but give an (incorrect) error when they are queried #3794

Closed
monetdb-team opened this issue Nov 30, 2020 · 0 comments

Comments

@monetdb-team
Copy link

@monetdb-team monetdb-team commented Nov 30, 2020

Date: 2015-08-20 13:41:35 +0200
From: Martin van Dinther <<martin.van.dinther>>
To: SQL devs <>
Version: 11.21.1 (Jul2015)
CC: akkaran046, @njnes

Last updated: 2019-02-12 13:58:57 +0100

Comment 21160

Date: 2015-08-20 13:41:35 +0200
From: Martin van Dinther <<martin.van.dinther>>

User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0
Build Identifier:

Querying the sys.rejects view or sys.rejects() function results in error message:
Error: No reject table available
SQLState: 22000
This is not expected for a metadata view or function. It should return a (possibly empty) resultset.

Also note that the error message is incorrect as it mentions table: reject while we are querying the rejects (with an s at the end) view and function.
Maybe this is a hardcoded error message string?

Reproducible: Always

Steps to Reproduce:

  1. Start mserver5 (MonetDB 5 server v11.21.4: compiled from Jul2015 branch with assertions enabled)
  2. Start mclient
  3. run SQL queries:
    select * from "sys"."rejects";
    select * from sys.rejects;
    select * from rejects;
    select * from "sys"."tables" where name = 'rejects';

select * from "sys"."rejects"();
select * from sys.rejects();
select * from rejects();
select * from "sys"."functions" where name = 'rejects';

Actual Results:

Welcome to mclient, the MonetDB/SQL interactive terminal (unreleased)
Database: MonetDB v11.21.4 (unreleased), 'demo'
Type \q to quit, ? for a list of available commands
auto commit mode: on
sql>select * from "sys"."rejects";
No reject table available
sql>select * from sys.rejects;
No reject table available
sql>select * from rejects;
No reject table available
sql>select * from "sys"."tables" where name = 'rejects';
+------+---------+---------+---------------------------------------------------------+------+--------+----------+--------+----------+
| id | name | schema_ | query | type | system | commit_a | access | temporar |
: : : id : : : : ction : : y :
+======+=========+=========+=========================================================+======+========+==========+========+==========+
| 6292 | rejects | 2000 | create view sys.rejects as select * from sys.rejects(); | 11 | true | 0 | 0 | 0 |
+------+---------+---------+---------------------------------------------------------+------+--------+----------+--------+----------+
1 tuple (3.859ms)

sql>select * from "sys"."rejects"();
No reject table available
sql>select * from sys.rejects();
No reject table available
sql>select * from rejects();
No reject table available
sql>select * from "sys"."functions" where name = 'rejects';
+------+---------+--------------------------------------------------------------+------+------+------+-------+-------+-------+------+
| id | name | func | mod | lang | type | side_ | varre | varar | sche |
: : : : : uage : : effec : s : g : ma_i :
: : : : : : : t : : : d :
+======+=========+==============================================================+======+======+======+=======+=======+=======+======+
| 6282 | rejects | -- This Source Code Form is subject to the terms of the Mozi | sql | 1 | 5 | false | false | false | 2000 |
: : : lla Public : : : : : : : :
: : : -- License, v. 2.0. If a copy of the MPL was not distribute : : : : : : : :
: : : d with this : : : : : : : :
: : : -- file, You can obtain one at http://mozilla.org/MPL/2.0/. : : : : : : : :
: : : -- : : : : : : : :
: : : -- Copyright 2008-2015 MonetDB B.V. : : : : : : : :
: : : : : : : : : : :
: : : -- COPY into reject management : : : : : : : :
: : : : : : : : : : :
: : : create function sys.rejects() : : : : : : : :
: : : returns table( : : : : : : : :
: : : rowid bigint, : : : : : : : :
: : : fldid int, : : : : : : : :
: : : "message" string, : : : : : : : :
: : : "input" string : : : : : : : :
: : : ) : : : : : : : :
: : : external name sql.copy_rejects; : : : : : : : :
+------+---------+--------------------------------------------------------------+------+------+------+-------+-------+-------+------+
1 tuple (1.288ms)
sql>

Expected Results:

No error message. It should return a (possibly empty) resultset.

Alternatively if this view and function does not exist permanently, exclude it from the metadata tables: sys.tables and sys.functions

Comment 21279

Date: 2015-09-23 11:20:46 +0200
From: @njnes

fixed by always creating the bats (when used).

Comment 21457

Date: 2015-11-03 10:18:50 +0100
From: @sjoerdmullender

Jul2015 SP1 has been released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant