使用 MonetDBLite C 连接到现有的数据库场 API

Connecting to an existing db farm using MonetDBLite C API

我有一个使用数据库创建的数据库场(例如:temp)。当我尝试使用 monetdb_startup 连接到它时,出现以下错误。

src/gdk/gdk_utils.c:1465: GDKfree: Assertion `(asize & 2) == 0' failed. Aborted (core dumped)

  1. 我正在使用 tests/readme/readme.c 提供的示例应用程序。
  2. monetdb_startup("/dbfarm/temp", 0, 0) 是我想要做的。
  3. 正在使用的莫奈版本: MonetDB 5 服务器 v11.29.3 "Mar2018"(64 位、128 位整数)
  4. 堆栈跟踪:

            #0  0x0000003f39232495 in raise () from /lib64/libc.so.6
            #1  0x0000003f39233c75 in abort () from /lib64/libc.so.6
            #2  0x0000003f3922b60e in __assert_fail_base () from /lib64/libc.so.6
            #3  0x0000003f3922b6d0 in __assert_fail () from /lib64/libc.so.6
            #4  0x00007ffff799bc3c in GDKfree (s=0x19602e0) at src/gdk/gdk_utils.c:1465
            #5  0x00007ffff79a8521 in freeException (msg=0x19602e0 '▒' <repeats 88 times>, "▒L[=11=]1") at src/mal/mal/mal_exception.c:135
            #6  0x00007ffff7b38c09 in SQLupgrades (c=0x7ffff42b2400, m=0x1815460) at src/mal/sqlbackend/sql_upgrades.c:1442
            #7  0x00007ffff7b1edb2 in SQLinitClient (c=0x7ffff42b2400) at src/mal/sqlbackend/sql_scenario.c:612
            #8  0x00007ffff7404f32 in monetdb_connect () at src/embedded/embedded.c:72
            #9  0x00007ffff74055da in monetdb_startup (dbdir=0x7fffffffd7c0 "/dbfarm/temp/", silent=0 '[=11=]0', sequential=0 '[=11=]0')
                at src/embedded/embedded.c:162
    

谢谢

一般情况下,不支持此用例。因此,在版本之间升级 MonetDBLite 数据库应该可以正常工作,但是从 MonetDBLite 到 MonetDB 并返回可能会出现错误 and/or 崩溃。