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

fresh database contains tables #2620

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

fresh database contains tables #2620

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

Comments

@monetdb-team
Copy link

Date: 2010-07-16 15:44:29 +0200
From: @grobian
To: SQL devs <>
Version: 2.40.1 (Oct2010) [obsolete]
CC: bugs-sql, @njnes

Blocker for: #2665
Last updated: 2010-11-15 09:39:07 +0100

Comment 14440

Date: 2010-07-16 15:44:29 +0200
From: @grobian

(volund:src/modules/mal) fabian% $INSTALL_DIR/bin/monetdb create rslave
created database in maintenance mode: rslave
(volund:src/modules/mal) fabian% $INSTALL_DIR/bin/monetdb release rslave
taken database out of maintenance mode: rslave
(volund:src/modules/mal) fabian% $INSTALL_DIR/bin/mclient -drslave
Welcome to mclient, the MonetDB/SQL interactive terminal
Database: MonetDB v5.21.0, 'rslave'
Type \q to quit, ? for a list of available commands
auto commit mode: on
sql>\d
TABLE sys.callhistory
TABLE sys.queryhistory
VIEW sys.querylog
TABLE sys.url_test
sql>

I was surprised to see these four objects, in particular the last one.

Comment 14672

Date: 2010-08-13 07:53:09 +0200
From: @grobian

want to be kept in the loop

Comment 14745

Date: 2010-08-20 14:32:34 +0200
From: @grobian

Changeset e782d77127be made by Fabian Groffen fabian@cwi.nl in the MonetDB repo, refers to this bug.

For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=e782d77127be

Changeset description:

Drop url_test table creation, partly fixes bug #2620

Comment 14746

Date: 2010-08-20 15:48:48 +0200
From: @grobian

performing

UPDATE _tables
SET system = TRUE
WHERE name LIKE 'queryhistory'
AND schema_id = 2000;

in createdb.sql causes the server to crash like this:

SQL catalog created, loading sql scripts once
*** glibc detected *** /ufs/fabian/scratch/monetdb/current/program-x86_64/bin/mserver5: free(): invalid next size (fast): 0x00000000028b5670 ***
======= Backtrace: =========
/lib64/libc.so.6[0x37d9874ac6]
/ufs/fabian/scratch/monetdb/current/program-x86_64/lib/libbat.so.1(+0x9bb8e2)[0x7f0c4f3328e2]
...
Program received signal SIGABRT, Aborted.
0x00000037d98326c5 in raise () from /lib64/libc.so.6
(gdb) up
1 0x00000037d9833ea5 in abort () from /lib64/libc.so.6
(gdb)
2 0x00000037d986f133 in libc_message () from /lib64/libc.so.6
(gdb)
3 0x00000037d9874ac6 in malloc_printerr () from /lib64/libc.so.6
(gdb)
4 0x00007ffff73268e2 in GDKfree
(blk=0xb4bac8)
at /ufs/fabian/scratch/monetdb/current/common/src/gdk/gdk_utils.mx:1192
1192 free(((char *) s) - 8);
(gdb)
5 0x00007ffff7326a5a in GDKfree (blk=0xb4bac8)
at /ufs/fabian/scratch/monetdb/current/common/src/gdk/gdk_utils.mx:1201
1201 GDKfree
(blk);
(gdb)
6 0x00007ffff7cc9c07 in trimMalVariables (mb=0x1468738)
at /ufs/fabian/scratch/monetdb/current/five/src/mal/mal_instruction.mx:1739
1739 GDKfree(used);
(gdb) p used
$1 = (
bit *) 0xb4bac8 "\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\333\001\001\001\001\001\001\001\001"
(gdb) p sizeof(used)
$2 = 8
(gdb) l
1734 for (i=0; iptop; i++) {
1735 if (mb->prps[i].var)
1736 used[mb->prps[i].var] = 1;
1737 }
1738 trimMalVariables_(mb, used, 0);
1739 GDKfree(used);
1740 }
1741
1742 @+ MAL constants
1743 Constants are stored in the symbol table and referenced
(gdb) p mb->ptop
$3 = 395
(gdb) l 1734
1729 q= getInstrPtr(mb,i);
1730
1731 for(j=0; jargc; j++)
1732 used[getArg(q,j)] = 1;
1733 }
1734 for (i=0; iptop; i++) {
1735 if (mb->prps[i].var)
1736 used[mb->prps[i].var] = 1;
1737 }
1738 trimMalVariables_(mb, used, 0);
(gdb) l 1729
1724
1725 used= (bit ) GDKzalloc(mb->vtop);
1726
1727 /
build the use table */
1728 for(i=0; istop; i++){
1729 q= getInstrPtr(mb,i);
1730
1731 for(j=0; jargc; j++)
1732 used[getArg(q,j)] = 1;
1733 }
(gdb)
1734 for (i=0; iptop; i++) {
1735 if (mb->prps[i].var)
1736 used[mb->prps[i].var] = 1;
1737 }
1738 trimMalVariables_(mb, used, 0);
1739 GDKfree(used);
1740 }
1741
1742 @+ MAL constants
1743 Constants are stored in the symbol table and referenced
(gdb) p mb->vtop
$4 = 11
(gdb) p mb->stop
$5 = 8
(gdb) p mb->prps
$6 = (MalProp *) 0x1ab89c8
(gdb) p *mb->prps
$7 = {idx = 14 '\016', op = 2 '\002', var = 11844296}
(gdb) p mb->prps.var
$8 = 11844296
(gdb) p *mb
$9 = {binding = 0x0, help = 0x0, alternative = 0x0, vtop = 11, vsize = 352,
var = 0x1ab7388, stop = 8, ssize = 740, stmt = 0x1a89948, ptop = 395,
psize = 416, prps = 0x1ab89c8, errors = 0, typefixed = 0, flowfixed = 1,
profiler = 0x0, history = 0x0, keephistory = 0, marker = 0x0, maxarg = 12,
replica = 0x0, recycle = 0, recid = 0, legid = -2604246222170760229,
trap = 0}
(gdb) p *mb->prps
$10 = {idx = 14 '\016', op = 2 '\002', var = 11844296}
(gdb) p mb->prps[394]
Structure has no component named operator
.
(gdb) p mb->prps[394]
$11 = {idx = 2 '\002', op = 2 '\002', var = 0}
(gdb) p mb->prps[395]
$12 = {idx = 0 '\000', op = 0 '\000', var = 0}
(gdb) p mb->prps[393]
$13 = {idx = 23 '\027', op = 0 '\000', var = 0}
(gdb) p mb->prps[392]
$14 = {idx = 22 '\026', op = 3 '\003', var = 5936}
(gdb) quit
A debugging session is active.

     Inferior 1 [process 6826] will be killed.

Quit anyway? (y or n) y

Comment 14878

Date: 2010-09-08 10:56:08 +0200
From: @sjoerdmullender

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

For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=4315a44b501d

Changeset description:

Test that an empty database is also empty according to msqldump.
This is also a test for bug #2620.

Comment 14879

Date: 2010-09-08 10:56:09 +0200
From: @sjoerdmullender

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

For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=383a00ae3261

Changeset description:

Merge with Oct2010 branch.
Test that an empty database is also empty according to msqldump.
This is also a test for bug #2620.

Comment 14880

Date: 2010-09-08 10:59:55 +0200
From: @grobian

Created attachment 34
patch from my patchqueue

This is the patch that's in my patchqueue. It is held back due to mserver5 crashing somewhere deep down (see previous comments), but should solve the problem of table queryhistory being a non-system table (and hence visible).

Attached file: bug-2620.patch (text/plain, 5070 bytes)
Description: patch from my patchqueue

Comment 14881

Date: 2010-09-08 11:01:47 +0200
From: @sjoerdmullender

I'm declaring this a blocking issue for a release.
If you make a dump of the database, it MUST be possible to reload the database,
and currently it isn't.

Comment 14882

Date: 2010-09-08 11:04:45 +0200
From: @sjoerdmullender

(In reply to comment 6)

Created attachment 34 [details]
patch from my patchqueue

This is the patch that's in my patchqueue. It is held back due to mserver5
crashing somewhere deep down (see previous comments), but should solve the
problem of table queryhistory being a non-system table (and hence visible).

Setting the system flag on the tables isn't enough. There are also a bunch of UDFs that pollute the dump.

Comment 14883

Date: 2010-09-08 11:07:36 +0200
From: @grobian

Maybe make a tracker bug with blocking issues for the release.

We can transform this one into visible tables, and create a new bug for visible UDFs. Both must be solved prior the Oct2010 release (the tracker bug).

Comment 14886

Date: 2010-09-08 13:54:55 +0200
From: @sjoerdmullender

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

For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=14ff7882903e

Changeset description:

When freeing variables, you must also delete properties that refer to the freed variables.
This is a prerequisite for fixing bug #2620.

Comment 14887

Date: 2010-09-08 14:26:34 +0200
From: @sjoerdmullender

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

For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=8fa82454536c

Changeset description:

Set the 'system' property on tables created by the system.
This is an adaptation of Fabian's patch for bug #2620 and should fix the bug.

Comment 14888

Date: 2010-09-08 14:26:35 +0200
From: @sjoerdmullender

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

For complete details, see http//devmonetdborg/hg/MonetDB?cmd=changeset;node=e3d5d6145be0

Changeset description:

Merge with Oct2010 branch.
Set the 'system' property on tables created by the system.
This is an adaptation of Fabian's patch for bug #2620 and should fix the bug.

Comment 14894

Date: 2010-09-09 15:58:22 +0200
From: @sjoerdmullender

mclient now no longer reports any tables when doing \d on a newly created database. The server no longer crashes when you update the _tables table as proposed by Fabian's patch.
There is a test that specifically tests dump on a newly created database.
I.e., this bug is fixed.

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

No branches or pull requests

2 participants