new error message with fb6.0 snapshot : 335545316

29 views
Skip to first unread message

marius adrian popa

unread,
May 5, 2026, 11:58:15 AMMay 5
to firebir...@googlegroups.com
With the rest of the stable versions, I have no issues: 3/4/5

Testing backend: FbCpp                                                                                                                       FbCppDatabase::connect() called for /tmp/flamerobin_dal_types_test_1777995513.fdb                                                                                                                                                                           Getting client...                                                                                                                                   
 Attaching to database...                                                                                                                      
 Exception in FbCppDatabase::connect(): unknown ISC error 335545316                                         
 EXCEPTION in backend tests: unknown ISC error 335545316   

marius adrian popa

unread,
May 5, 2026, 12:05:12 PMMay 5
to firebir...@googlegroups.com

Vlad Khorsun

unread,
May 5, 2026, 12:16:32 PMMay 5
to firebir...@googlegroups.com
05.05.2026 18:58, marius adrian popa:
This is isc_invalid_name ("Invalid name: @1"). Use correct firebird.msg and/or fbclient.so
to display new errors correctly.


Regards,
Vlad

marius adrian popa

unread,
Jun 6, 2026, 2:28:47 PMJun 6
to firebir...@googlegroups.com
I Found the main cause The error code 335545316 corresponds to isc_invalid_name ("Invalid name").

In FbCppDatabase.cpp, the connect() and create() methods were unconditionally chain-calling option setters on fbcpp::AttachmentOptions :

auto options = fbcpp::AttachmentOptions()
    .setConnectionCharSet(charsetM)
    .setUserName(userM)
    .setPassword(passwordM)
    .setRole(roleM);

Since charsetM and roleM are empty strings by default in the test runner context, this caused empty strings to be wrapped in std::optionalstd::string and inserted as isc_dpb_lc_ctype and isc_dpb_sql_role_name in the Database Parameter Block
(DPB).

Unlike previous Firebird versions, Firebird 6 validates these DPB values more strictly and rejects empty string identifiers with isc_invalid_name . (This is also why the IBPP backend succeeded; IBPP 's DPB builder explicitly checks !mRoleName.empty()
and !mCharSet.empty() before inserting them).

Solution Applied

I modified FbCppDatabase.cpp to conditionally set AttachmentOptions values only when they are not empty:

auto options = fbcpp::AttachmentOptions();
if (!charsetM.empty())
    options.setConnectionCharSet(charsetM);
if (!userM.empty())
    options.setUserName(userM);
if (!passwordM.empty())
    options.setPassword(passwordM);
if (!roleM.empty())
    options.setRole(roleM);

--
Support the ongoing development of Firebird! Consider donating to the Firebird Foundation and help ensure its future. Every contribution makes a difference. Learn more and donate here:
https://www.firebirdsql.org/donate
---
You received this message because you are subscribed to the Google Groups "firebird-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-deve...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/firebird-devel/3d7b808f-dcf0-46fc-a4fe-6225e81a9f77%40gmail.com.
Reply all
Reply to author
Forward
0 new messages