Comments supported at the beginning of external call tables
Final Release Note
Comments are supported at the beginning of external call tables. Previously, comments prior to the shareable library name were interpreted as the name of the shareable library causing an external call using the table to fail with a %YDB-I-DLLNOOPEN. This was discovered in the development environment, and never reported by a user. [#793 (closed)]
Description
As part of YottaDB/DBMS/YDBOcto!991 (comment 714714599), we discovered a bug in comments for external call tables. Any comment line prior to the shareable library name would be interpreted as the shareable library name and the external call would not work at all. For example, the external call table below would produce would produce the error message below when run:
//////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2021 YottaDB LLC and/or its subsidiaries. //
// All rights reserved. //
// //
// This source code contains the intellectual property //
// of its copyright holder(s), and is made available //
// under a license. If you do not know the terms of //
// the license, please stop and do not read further. //
// //
//////////////////////////////////////////////////////////////////
$ydb_dist/plugin/o/libcocto.so
ydboctoDateFormat: ydb_string_t* ydboctoDateFormat(I:ydb_string_t*, I:ydb_string_t*)
%YDB-I-DLLNOOPEN, Failed to load external dynamic library //////////////////////////////////////////////////////////////////
%YDB-I-TEXT, //////////////////////////////////////////////////////////////////: cannot read file data: Is a directory
[ERROR] PATH/YDBOcto/src/run_query.c:257 2021-10-25 16:37:17 : ERR_YOTTADB : YottaDB error: 150376754,type1+2^%ydboctofDATEFORMAT,%YDB-E-ZCUNAVAIL, Package, unavailable
Since call-in tables do not use shareable library names, this bug cannot exist for comments in call-in tables.
Draft Release Note
Comments work at the beginning of external call tables. Previously, due to a bug in the implementation of comments for external call tables, comments prior to the shareable library name were interpreted as the name of the shareable library causing the entire external call table to fail with a %YDB-I-DLLNOOPEN.