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

functions do not persist #6819

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

functions do not persist #6819

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

Comments

@monetdb-team
Copy link

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

Date: 2020-02-15 06:13:45 +0100
From: Alex Ossipov <>
To: SQL devs <>
Version: 11.35.9 (Nov2019-SP1)

Last updated: 2020-02-21 12:36:57 +0100

Comment 27549

Date: 2020-02-15 06:13:45 +0100
From: Alex Ossipov <>

User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36
Build Identifier:

When a new function is created it does not persist after db restart.It does not matter if autocommit is enabled or not.

Reproducible: Always

Steps to Reproduce:

1.start mclient
2.create function. For example, from documentation:
CREATE FUNCTION python_times_two(i INTEGER) RETURNS INTEGER LANGUAGE PYTHON3 {
return i * 2
};

3.restart database:
monetdb stop -d test
monetdb start -d test

Actual Results:

select python_times_two(i) from integers;
returns error:
SQL Error [42000]: SELECT: no such unary operator 'python_times_two(int)'

Expected Results:

should return multiplied values.

Comment 27550

Date: 2020-02-15 07:07:13 +0100
From: Alex Ossipov <>

Here are new details:

  1. made a new database.
  2. execute select * from sys.functions; successfully returns list of default functions
  3. created a new function
    sql>CREATE FUNCTION python_times_two(i INTEGER) RETURNS INTEGER LANGUAGE PYTHON3 {
    more> return i * 2
    more>};
    operation successful
    4.sql>select * from sys.functions where name ='python_times_two';
    Could not allocate space
    5.sql>select * from sys.functions;
    GDK reported error: BATproject: does not match always

Comment 27551

Date: 2020-02-15 12:16:15 +0100
From: MonetDB Mercurial Repository <>

Changeset 57b40d3cc170 made by Sjoerd Mullender sjoerd@acm.org in the MonetDB repo, refers to this bug.

For complete details, see https//devmonetdborg/hg/MonetDB?cmd=changeset;node=57b40d3cc170

Changeset description:

Fix for bug #6819: add code for all external languages.

Comment 27552

Date: 2020-02-15 12:18:11 +0100
From: @sjoerdmullender

I just created a fix for this problem.

A workaround might be to use language PYTHON instead of PYTHON3, even when actually using Python 3 as the embedded Python version (so still running mserver 5 with --set embedded_py=3).

Comment 27558

Date: 2020-02-17 09:11:54 +0100
From: MonetDB Mercurial Repository <>

Changeset 06ab95ace054 made by Pedro Ferreira pedro.ferreira@monetdbsolutions.com in the MonetDB repo, refers to this bug.

For complete details, see https//devmonetdborg/hg/MonetDB?cmd=changeset;node=06ab95ace054

Changeset description:

Added test for bug #6819
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