Re: [Firebird-devel] ACTION REQUIRED: This list is moving to Google Groups, please resubscribe on the new location

2022-09-25 Thread Dimitry Sibiryakov via Firebird-devel
Mark Rotteveel wrote 25.09.2022 11:15: This list is moving to Google Groups, and we'd like you to move with it. "Join" button in your invitation sends to 404 page. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

Re: [Firebird-devel] decodeTimeTz or decodeTimeTzEx API?

2022-09-23 Thread Dimitry Sibiryakov
Norbert Saint Georges wrote 23.09.2022 14:00: Thanks Dimitry, but length(blr=29) = 12 so ISC_TIMESTAMP_TZ_EXPtr. in which case to use ISC_TIMESTAMP_TZ_Ptr = 10? You cannot judge by length because it used to be aligned up and may be also include null indicator. You must rely on metadata

Re: [Firebird-devel] decodeTimeTz or decodeTimeTzEx API?

2022-09-23 Thread Dimitry Sibiryakov
Norbert Saint Georges wrote 23.09.2022 7:26: which version should be used and in which case should one or the other be used? decodeTimeTz is used for ISC_TIME_TZ type and decodeTimeTzEx is used for ISC_TIME_TZ_EX type (SQL_TIME_TZ and SQL_TIME_TZ_EX values in sqltype of

[Firebird-devel] IAttachment::execute() returned value

2022-09-17 Thread Dimitry Sibiryakov
Hello All. What are rules for plugin's returned value of IAttachment::execute() in the case when input transaction is not NULL? Should it return NULL? Should it return the original transaction? Should it return current plugin's original transaction (i.e. YTransaction->next if input

Re: [Firebird-devel] Sanity checks for methods' parameters in Y-valve

2022-09-16 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 15.09.2022 18:08: I do not want to say segfault is good thing and will not provide as a sample trivial things like strcpy() - but almost any function in C library will segfault when passed wrong address of some data. strcpy() is a quite bad example

[Firebird-devel] Sanity checks for methods' parameters in Y-valve

2022-09-15 Thread Dimitry Sibiryakov
Hello All. If someone by mistake calls IStatement::execute() providing metadata but no data buffer, it will pass the values as is to a provider and overall result will be segfault. Shouldn't some sanity checks to be performed there? -- WBR, SD. Firebird-Devel mailing list, web

Re: [Firebird-devel] Building Firebird Linux with --with-builtin-tommath

2022-09-15 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 15.09.2022 16:14: On the other hand tomcrypt is successfully used in our sample plugin - which is problematic with static linking. For me that appears more interesting and useful. Not to say about code duplication. Dead code elimination with static

Re: [Firebird-devel] Building Firebird Linux with --with-builtin-tommath

2022-09-15 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 15.09.2022 12:04: With tommath there are no such issues...   Why don't force build with static libs? In what way it's better than own dynamic libraries? Surely no problem with API/ABI. No mess and vulnerability with dynamic library search path.

Re: [Firebird-devel] Building Firebird Linux with --with-builtin-tommath

2022-09-15 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 15.09.2022 11:08: Also, it's different in the sense that official package builds and package tomcrypt, but not tommath. We did discuss sometimes ago why for universal binary package we have to use built-in tomcrypt. Data structures, passed In it's API,

Re: [Firebird-devel] getInfo() result format

2022-09-08 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 07.09.2022 18:40: Do not remember - does ClumpletReader already supports getInfo() result format? Sorry, can't remember. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

Re: [Firebird-devel] getInfo() result format

2022-09-07 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 07.09.2022 18:26: Not sure what you mean by 'terminal item', but it may be followed by isc_info_end if that fits into buffer. What about two bytes length - it's single-byte item not followed by anything. see how it's added: Ok, now see how it is

[Firebird-devel] getInfo() result format

2022-09-07 Thread Dimitry Sibiryakov
Hello All. isc_info_truncated is a terminal item which is NOT followed by two bytes length, right? -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

Re: [Firebird-devel] Service errors returned by API

2022-09-07 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 01.09.2022 18:16: Suppose adding N buffers for stream data instead current one should not be too hard to do. But what about API for that, format of data sent to user, etc. - that should be well though before starting with this. I was thinking about new

Re: [Firebird-devel] Version info item filling on the way

2022-08-27 Thread Dimitry Sibiryakov
Dimitry Sibiryakov wrote 27.08.2022 16:45: ISQL Version: WI-T5.0.0.550 Firebird 5.0 Initial Server version: WI-V4.0.1.2631 Firebird 4.0 FireSwarm server 0.3-Devel FireSwarm client 0.3-Devel ===> here fbclient's version is missed <=== Oops, formatting has been screwed. It should b

[Firebird-devel] Version info item filling on the way

2022-08-27 Thread Dimitry Sibiryakov
Hello All, currently isc_info_firebird_version is formed from engine version, server version and remote provider version. I wonder if there should be also the Y-valve version in addition to all that in the case if third-party network provider is used. An example: ISQL Version:

Re: [Firebird-devel] Service errors returned by API

2022-08-25 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 25.08.2022 10:27: But here are some problems: - An error when querying service is treated by 99% of callers (starting with fbsvcmgr) as fatal one. Other errors will not be displayed. And it is the right way to handle them, IMHO. - What about warnings

Re: [Firebird-devel] Improve release filenames

2022-08-25 Thread Dimitry Sibiryakov
Dmitry Yemanov wrote 25.08.2022 12:34: Firebird-5.0.0.2816-0-windows-x86-withDebugSymbols.exe Firebird-5.0.0.2816-0-windows-x86-withDebugSymbols.zip Firebird-5.0.0.2816-0-windows-x86.exe Firebird-5.0.0.2816-0-windows-x86.zip Firebird-5.0.0.2816-0-windows-x64-withDebugSymbols.exe

[Firebird-devel] Service errors returned by API (was: [FirebirdSQL/firebird] [FR] Database restore must make every effort on activating deferred indexes (Issue #7269))

2022-08-24 Thread Dimitry Sibiryakov
Alexander Peshkov wrote 24.08.2022 19:06: On 8/24/22 14:31, Dimitry Sibiryakov wrote: > Without it services seem to be pretty useless. I think this to be suggested in devel and if nobody sees problems - feel free to add a ticket, I will implement it. Ok. But I don't think that a sim

Re: [Firebird-devel] Improve release filenames

2022-08-24 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 24.08.2022 17:00: Sorry, but they are created by 'cp' command ;) One can run them directly. Wow. That's crazy. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

Re: [Firebird-devel] Improve release filenames

2022-08-24 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 24.08.2022 16:06: Same for linux - not stripped binaries provided. Nope. Firebird-debuginfo-4.0.2.2816-0.amd64.tar.gz contains only extracted debug symbols, not binaries. -- WBR, SD. Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] Improve release filenames

2022-08-24 Thread Dimitry Sibiryakov
Mark Rotteveel wrote 24.08.2022 15:32: If the term is confusing or ambiguous, it already is so in its current form. Yes, it is. That's why I would suggest to change that. -- WBR, SD. Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] Improve release filenames

2022-08-24 Thread Dimitry Sibiryakov
Dmitry Yemanov wrote 24.08.2022 14:47: I would unify the `pdb`, `debuginfo`, etc. into simple `debug` suffix. Agreed. And better to keep "debuginfo" verb, IMHO to prevent confusion after expectation to find "a debug build" in "debug" package. -- WBR, SD. Firebird-Devel mailing list,

Re: [Firebird-devel] (possible) Database header

2022-08-23 Thread Dimitry Sibiryakov
Tommi Prami wrote 23.08.2022 5:40: I was thinking that if there is some kind of header (simple enough) in Firebird Databases and/or backup files, maybe some one could point me into the right direction. No. Of course Firebird database has header page described in ods.h but it has no

Re: [Firebird-devel] Named parameters in client libraries

2022-08-19 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 19.08.2022 12:05: So it would be something like COALESCE. I think that is the wrong approach for parameters. When deriving a type for COALESCE, it makes sense to infer the type to the widest possible type (VARCHAR) to allow all possible stored values to be

Re: [Firebird-devel] Named parameters in client libraries

2022-08-18 Thread Dimitry Sibiryakov
Mark Rotteveel wrote 18.08.2022 9:37: I'd suggest looking at what other database systems that do have named parameters currently do. My guess is that they either: 1) don't allow mixing types 2) use the most specific type that is compatible with all positions, otherwise error 3) use the

Re: [Firebird-devel] Current value for parallel workers

2022-08-16 Thread Dimitry Sibiryakov
Jiří Činčura wrote 16.08.2022 12:02: Not yet. How would you like to see it ? Monitoring table, session context variable, database_info item ? All above ? ;) Session context variable seems to be a good fit. Monitoring table looks like overkill. And database_info is inconvenient for end

Re: [Firebird-devel] New statement: EXECUTE SQL

2022-08-16 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 16.08.2022 3:25: No, I expect that client parsers may not do unnecessary things, at least with this statement. Can we just have named parameters support in Firebird before this feature so client parser will be not needed at all?.. -- WBR, SD.

Re: [Firebird-devel] New statement: EXECUTE SQL

2022-08-15 Thread Dimitry Sibiryakov
Vlad Khorsun wrote 15.08.2022 19:42:   Also, I don't like 'sql' word, especially after 'execute statement' and 'execute block'. Too much, as for me :) Syntax with 'with' instead of 'execute sql' looks much better to me, but it is already used in CTE's, thus it seems as not the best choice :(

Re: [Firebird-devel] New statement: EXECUTE SQL

2022-08-15 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 15.08.2022 12:24: Firebird does not have any support for client named parameters. IMessageMetadata has field for name which is currently unused. What else client support do you have on mind? -- WBR, SD. Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] Ability to use non-local protocol to create DB which alias is declared as self-security

2022-08-10 Thread Dimitry Sibiryakov
Pavel Cisar wrote 10.08.2022 9:36: I though that when referencing that right to create database should be checked in the same way as attachment to service manager (which does not use some database reference passed by user to decide which security db to use) I would like to repeat: service

Re: [Firebird-devel] Ability to use non-local protocol to create DB which alias is declared as self-security

2022-08-09 Thread Dimitry Sibiryakov
Pavel Cisar wrote 09.08.2022 16:14: I really don't understand WHY it's necessary to authenticate user against some database for *create database*. Imagine someone creating thousands of databases without authentication. It's definitely not necessary to provide any kind of database reference

Re: [Firebird-devel] Ability to use non-local protocol to create DB which alias is declared as self-security

2022-08-09 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 09.08.2022 6:33: PPS. If one has access to database.conf to create new alias he definitely has embedded access to server, i.e. problem appears to be rather artificial. Consider a shared database hosting where aliases are created by admin for every

Re: [Firebird-devel] Ability to use non-local protocol to create DB which alias is declared as self-security

2022-08-08 Thread Dimitry Sibiryakov
Pavel Zotov wrote 08.08.2022 14:41: 2) we run "create database" statement and  specify there alias 'tmp_self', *without* protocol prefix ('localhost:', 'inet://', 'xnet://'): Have you forgot that it means embedded mode and user name/password are not checked at all? -- WBR, SD.

Re: [Firebird-devel] op_que_events and database shutdown

2022-08-05 Thread Dimitry Sibiryakov
Vlad Khorsun wrote 05.08.2022 11:17: It could be compared with last known counters before re-connect, if necessary. Bad idea. If database was reloaded counters are reset. Another way could be to call callback with NULL events and 0 length but I'm not sure existing apps is ready to handle

[Firebird-devel] cancelOperation in remote provider

2022-07-27 Thread Dimitry Sibiryakov
Hello All. Is there a reason why Remote module doesn't check for current fb_cancel_disable state before sending fb_cancel_abort packet to server? I see in JRD sources that ATT_cancel_raise flag is cleaned on fb_cancel_enable arrival so the deferred cancellation is not the reason. --

Re: [Firebird-devel] Stdin redirection with pipe in Windows ISQL

2022-06-15 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 15.06.2022 21:56: Are there any reason for that? MSYS (and I suspect WSL as well) bash is using unnamed pipes to redirect input and output of applications into its window. Without considering pipes as console they are blind. I know no way to

Re: [Firebird-devel] Record storage

2022-06-09 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 09.06.2022 14:36:   Self-descriptive record format which makes RDB$FORMATS obsolete and solve problems with garbage collection etc was suggested by me (for replication block buffer in the first place but storage can use it as well). Putting metadata bytes in

Re: [Firebird-devel] Record storage

2022-06-09 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 09.06.2022 14:16: What do you think and are there any active work in this regard? Using of record encoding instead of record compressing was suggested years ago by Ann and Jim. Self-descriptive record format which makes RDB$FORMATS obsolete and solve

Re: [Firebird-devel] Tablespaces proposal

2022-06-02 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 02.06.2022 13:01:   It is "ALTER TABLE" which must be executed on replica. Otherwise you'll have problem with ALTER TABLE ADD FIELD. Is it impossible to analyze clauses of statement? Theoretically - yes. On practice it would require full Firebird SQL

Re: [Firebird-devel] Tablespaces proposal

2022-06-02 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 02.06.2022 9:31: ALTER TABLE SET TABLESPACE is tablespaces-related DDL operator - i.e. it should not be executed on replica. Why conflict? It is "ALTER TABLE" which must be executed on replica. Otherwise you'll have problem with ALTER TABLE ADD

[Firebird-devel] isc_dpb_dbkey_scope

2022-05-19 Thread Dimitry Sibiryakov
Hello All. How is subj supposed to work? I see that it forces engine to start a transaction and that's all. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

[Firebird-devel] Unused but still handled DPB items

2022-05-16 Thread Dimitry Sibiryakov
Hello All. Shouldn't code for handling isc_dpb_journal, isc_dpb_old_file, etc cleaned out or someone have plans for their reuse? -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

Re: [Firebird-devel] Refresh roles

2022-05-11 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 11.05.2022 15:35: I think we should improve that automatically refreshing roles via AST or creating some command like ALTER SESSION REFRESH ROLES. IMHO it is an unnecessary complication with negative effect on performance. -- WBR, SD. Firebird-Devel

Re: [Firebird-devel] DEFAULT grants to PUBLIC

2022-05-10 Thread Dimitry Sibiryakov
Roman Simakov wrote 10.05.2022 10:21: It makes sense. Could you create a ticket? But what's the point to grant object rights to the role and then grant the role to public instead of granting the rights to public directly? -- WBR, SD. Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] isc_spb_version Call Without Global User?

2022-05-04 Thread Dimitry Sibiryakov
Mark Rotteveel wrote 04.05.2022 9:29:    Use isc_dpb_expected_db with your database name to inform Firebird which setting from databases.conf should be used during service attach (including security database). I assume you mean isc_spb_expected_db, right? Oh, yes. A tiny mistype. --

Re: [Firebird-devel] isc_spb_version Call Without Global User?

2022-05-03 Thread Dimitry Sibiryakov
Scott Morgan via Firebird-devel wrote 03.05.2022 18:29: What can you do to get the server's info if you only have per-DB user accounts? Use isc_dpb_expected_db with your database name to inform Firebird which setting from databases.conf should be used during service attach (including

Re: [Firebird-devel] Unhandled exception in aux_request

2022-04-25 Thread Dimitry Sibiryakov
Jiří Činčura wrote 25.04.2022 18:23: What to look for with this error in the server log? Update to a fresh snapshot I believe. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

Re: [Firebird-devel] Handling exception from external plugins

2022-04-11 Thread Dimitry Sibiryakov
Vasiliy Yashkov wrote 11.04.2022 16:52: What is the right way to throw an exception? Plugins (as any other DLL) is not supposed to throw exceptions ever. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

[Firebird-devel] trace_dsql_prepare and statement encoding

2022-04-04 Thread Dimitry Sibiryakov
Hello. I've found that for versions 3 and 4 in trace_dsql_prepare() statement->getText() returning SQL statement text converted into UTF-8 and getTextUTF8() - returning it converted twice. It is reproducible even with standard trace plugin (audit log as seen in ANSI mode): Statement

[Firebird-devel] ITraceConnection::getCharSet() result TTL

2022-04-04 Thread Dimitry Sibiryakov
Hello. How long lives the pointer returned by ITraceConnection::getCharSet()? Can I store it or must copy content into local storage in the instance of ITracePlugin that is created for this connection? -- WBR, SD. Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] Security vulnerability in zlib library

2022-03-31 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 31.03.2022 16:08:   The crash happen when a stream of definite data is tried to be compressed. IMHO, it is hard (if possible at all) to purposefully construct such stream *from* server to crash or exploit it. How long should it be? Can it be put into

Re: [Firebird-devel] Security vulnerability in zlib library

2022-03-31 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 31.03.2022 15:21:   Note that the crash happen on compression so it doesn't affect Firebird security. Did not catch why - we use zlib compression on the wire (since fb3) and in gbak (since fb4). Both cases are not default but anyway not good. The

Re: [Firebird-devel] Security vulnerability in zlib library

2022-03-31 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 31.03.2022 15:05: On 3/31/22 11:11, Mark Rotteveel wrote: A security vulnerability was found in zlib: https://nakedsecurity.sophos.com/2022/03/29/zlib-data-compressor-fixes-17-year-old-security-bug-patch-errr-now/ Will we include an updated version in

Re: [Firebird-devel] Local tables

2022-03-15 Thread Dimitry Sibiryakov
Vlad Khorsun wrote 15.03.2022 18:39:   No need to pollute persistent schema with temporary objects and pay runtime cost for storing\erasing such definitions. That's a good occasion for creating a virtual metadata dictionary that provides records for persistent objects as well as

Re: [Firebird-devel] Local tables

2022-03-15 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 15.03.2022 15:37: On 15/03/2022 11:23, Alex Peshkoff via Firebird-devel wrote: Very interesting - but other name for them should be used. It's too easy to loose difference between LT & LTT that are absolutely different things. Maybe just "DECLARE TABLE"

Re: [Firebird-devel] isc_dpb_lc_ctype and isc_dpb_set_db_charset and isc_dpb_utf8_filename

2022-02-28 Thread Dimitry Sibiryakov
Jiří Činčura wrote 28.02.2022 11:16: Can somebody explain me how isc_dpb_lc_ctype and isc_dpb_set_db_charset and isc_dpb_utf8_filename relate to each other. isc_dbp_lc_ctype establish charsert for all data returned from server (unless explicitly overridden in message metadata).

Re: [Firebird-devel] isc_arg_string in status vector

2022-02-28 Thread Dimitry Sibiryakov
Jiří Činčura wrote 28.02.2022 11:10: If I get pointer to a string in isc_arg_string in status vector the encoding is UTF8 if isc_dpb_utf8_filename was specified and ANSI/system charset when isc_dpb_utf8_filename was not specified? It's encoding should match dpb_lc_ctype setting.

Re: [Firebird-devel] INT64 and index keys

2022-02-15 Thread Dimitry Sibiryakov
Dmitry Yemanov wrote 15.02.2022 18:14: Your schema upgrade may change keys from INT to BIGINT (when tables grow more than expected) or, more usually -- NUMERIC(N, 3) is changed to NUMERIC(N, 5) for quantities, or NUMERIC(12, N) is changed to NUMERIC(18, N), etc. And it should be applied to

Re: [Firebird-devel] INT64 and index keys

2022-02-15 Thread Dimitry Sibiryakov
Dmitry Yemanov wrote 15.02.2022 12:28: Does anyone think we should investigate this possibility more closely? Any other comments? Is "stored keys independent of the declared scale" a really useful and used feature? If we prohibit that, the index key can be a plain integer without

Re: [Firebird-devel] Compiled statement cache

2022-02-10 Thread Dimitry Sibiryakov
Dmitry Yemanov wrote 10.02.2022 18:07: But as I said and Vlad also said, we can remove roles from key and verify (with verification cache) after get statement from cache. This would be better. Yes, this gets my vote too. On the other hand ACL verification used to be a known bottleneck in

Re: [Firebird-devel] Compiled statement cache

2022-02-10 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 10.02.2022 17:35: If we see solid effect from new cache - certainloy, it will be worth to make it better prepare search key. I.e. let's start from something simple and see does it make sense. That's why I suggested to ask kdv for stats: to prevent a

Re: [Firebird-devel] Compiled statement cache

2022-02-10 Thread Dimitry Sibiryakov
Dmitry Yemanov wrote 10.02.2022 17:28: Only if such translation is made right. Remember charset introducers. They're a problem, but it may only cause a cache miss, not a false match, right? Yes, they can only cause miss but I'm not sure about literals as whole. Are they stored in

Re: [Firebird-devel] Compiled statement cache

2022-02-10 Thread Dimitry Sibiryakov
Dmitry Yemanov wrote 10.02.2022 17:13: Cannot the UTF8-translated SQL text (which is currently inside Statement::sqlText) be the key, to avoid dependency on the charset? I don't think that semantically different statements may have the same UTF8 representation. However, it would make sense to

Re: [Firebird-devel] Compiled statement cache

2022-02-10 Thread Dimitry Sibiryakov
Dmitry Yemanov wrote 10.02.2022 16:43: I'm not sure I get why security credentials should affect the cache at all. From the runtime POV, all BLR/SQL operations (current_user/current_role/rdb$*_roles) are redirected to Attachment, AFAIK we don't store anything role-specific inside the statement

Re: [Firebird-devel] Compiled statement cache

2022-02-10 Thread Dimitry Sibiryakov
Vlad Khorsun wrote 10.02.2022 16:30:   More, I already implemented simple cache of prepared statements near 5 years ago and I know when it is useful :) It was not ported into Firebird because of limited usage and its simplicity. But customer which uses it, was very happy. Isn't it inside of

Re: [Firebird-devel] Compiled statement cache

2022-02-10 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 10.02.2022 14:08: Some times yes, some times no (it's identical statement reprepared or executed). In this case you could ask IBSurgeon for their statistics about query prepare/execute ratio beforehand to estimate possible gain from the cache. IIRC during

Re: [Firebird-devel] Compiled statement cache

2022-02-10 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 10.02.2022 13:56: But it's not surprise that many applications are not well coded and sometimes does not do this. Competitor DBMSs has cache and works well in this case too. Such applications used to build the queries ad-hock with data as literals. The

Re: [Firebird-devel] Compiled statement cache

2022-02-10 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 10.02.2022 10:59:   If\when shared metadata will be implemented - will it be possible to use cached compiled statement created in one attachment to use by another attachment ? If we need to take roles into an account - only for attachment with same USER.

Re: [Firebird-devel] Parameter block and database/service name encoding

2022-02-04 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 04.02.2022 14:37: What to do with values of tags that are unknown (other version or provider-specific)? I see no way to tell on destination side if they arrived as is or were transliterated. Take a look at checkTag() functions in IntlParametersBlock.cpp.

Re: [Firebird-devel] Parameter block and database/service name encoding

2022-02-04 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 04.02.2022 12:59: I suppose you suggest to fallback to existing way when there is no isc_dpb_lc_ctype in DPB? I suggest nothing but wonder what to do if there is no isc_dpb_utf8 tag in DPB but isc_dpb_lc_ctype is. Is it right to still consider

Re: [Firebird-devel] Parameter block and database/service name encoding

2022-02-04 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 04.02.2022 9:53: Remember me please why isc_lc_ctype isn't used to determine encoding of database name and DPB values? Due to limitations of WideCharToMultiByte API. (with posix iconv this cabe easily done) Do you mean that client would have to

[Firebird-devel] Parameter block and database/service name encoding

2022-02-03 Thread Dimitry Sibiryakov
Hello All. Remember me please why isc_lc_ctype isn't used to determine encoding of database name and DPB values? BTW, service name during service attach isn't converted into UTF-8 at all. -- WBR, SD. Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] Database detach after shutdown

2022-01-24 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 24.01.2022 11:52: If you do shutdown before disconnect, I'm not sure the software is written correctly. In this case if you do release I think it's going to work. How many examples and real life application check status after detach and do release on

Re: [Firebird-devel] MacOS problem with dlclose

2022-01-24 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 24.01.2022 11:37: If Firebird had an Engine class with state inside that instance, things would certainly be easy. But we rely on many global/static state. It's not very simple to just reload engine after shutdown when the library was not unloaded.

Re: [Firebird-devel] Database detach after shutdown

2022-01-22 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 22.01.2022 13:37:    After calling IDispatch::shutdown() an attempt to call IAttachment::detach() in embedded mode returns error "Database shutdown". But... why? Isn't IDispatch::shutdown already causes all databases to be disconnected? In

[Firebird-devel] Database detach after shutdown

2022-01-22 Thread Dimitry Sibiryakov
Hello All. After calling IDispatch::shutdown() an attempt to call IAttachment::detach() in embedded mode returns error "Database shutdown". But... why? -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

Re: [Firebird-devel] MacOS problem with dlclose

2022-01-21 Thread Dimitry Sibiryakov
Dimitry Sibiryakov wrote 21.01.2022 21:19: initialization in the entry point and finalization in doCleanup for all plugin-related things and initialization in constructor and finalization in destructor for every library-related things should be the right behavior for every plugin including

Re: [Firebird-devel] MacOS problem with dlclose

2022-01-21 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 21.01.2022 20:08: 1) Disable unload timer in PluginManager in MacOS. 2) Makes it possible for engine plugin to relive when it was shut down and its entry point is called again. I have tested this solution and it seems to work, but some details must be more

Re: [Firebird-devel] User name case

2022-01-20 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 20.01.2022 10:43: Are you sure? fbs3 /usr/home/firebird/HEAD/gen/Debug/firebird/bin # ./isql -user РусLat -password abc localhost:employee Database: localhost:employee, User: РусLat Try, for example, "test-user". The only special symbols allowed in

Re: [Firebird-devel] User name case

2022-01-19 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 18.01.2022 18:03:     fb_utils::dpbItemUpper(userName); That's quite strange routine. It will uppercase the string even if it contains ASCII letters disallowed for not-delimited SQL identifier (which user name is). -- WBR, SD. Firebird-Devel

[Firebird-devel] User name case

2022-01-18 Thread Dimitry Sibiryakov
Hello All. At which point user name is uppercased during attachDatabase() call? -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

Re: [Firebird-devel] isc_usrname_too_long

2022-01-14 Thread Dimitry Sibiryakov
Mark Rotteveel wrote 14.01.2022 17:21: Also when you use a DPB v2, it is wide, so accepts far larger values than you'll ever logically need for a user name. The only problem that fbclient doesn't use it during conversion from user-provided DPB into sent-to-server DPB and in server user name

Re: [Firebird-devel] isc_usrname_too_long

2022-01-14 Thread Dimitry Sibiryakov
Mark Rotteveel wrote 14.01.2022 17:06:    Also shouldn't it to be returned if user name received in DPB (after conversion into UTF-8) doesn't fit as well? I'm not sure what you mean with that. Currently if someone put into DPB non-ASCII user name and during conversion into UTF-8 it

[Firebird-devel] isc_usrname_too_long

2022-01-14 Thread Dimitry Sibiryakov
Hello All. Shouldn't subj text to be corrected? Also shouldn't it to be returned if user name received in DPB (after conversion into UTF-8) doesn't fit as well? -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

Re: [Firebird-devel] Commit (un)certainity

2022-01-06 Thread Dimitry Sibiryakov
Mark Rotteveel wrote 06.01.2022 13:06: BTW: I think in most cases you should be able to infer from the socket error if the problem occurred on sending or on reading data (at least, when using blocking socket reads/writes, not sure about non-blocking). It is not true:

Re: [Firebird-devel] Commit (un)certainity

2022-01-05 Thread Dimitry Sibiryakov
Jiří Činčura wrote 05.01.2022 19:44: You're probably thinking about something in client library? Yes. You probably have the same problem in your provider, no? -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

[Firebird-devel] Commit (un)certainity

2022-01-05 Thread Dimitry Sibiryakov
Hello All. It is documented that successful return from function send() for TCP doesn't mean successful delivery of data to the target host, mere put them into socket buffer. If op_commit is sent but network error appear during waiting for response there can be two cases: 1)

[Firebird-devel] Commit (un)certainity

2022-01-05 Thread Dimitry Sibiryakov
Hello All. It is documented that successful return from function send() for TCP doesn't mean successful delivery of data to the target host, mere put them into socket buffer. If op_commit is sent but network error appear during waiting for response there can be two cases: 1)

Re: [Firebird-devel] set_build_target dot bat in HEAD

2021-12-22 Thread Dimitry Sibiryakov
Paul Reeves wrote 22.12.2021 14:12: Is there any reason why set_build_target only tests for VS150COMNTOOLS ? I'd like to add tests for VS160COMNTOOLS and VS170COMNTOOLS, unless there are any objections. Better question if this check is right because existence of some redistributables has

Re: [Firebird-devel] p_batch_cs on the wire

2021-12-21 Thread Dimitry Sibiryakov
Jiří Činčura wrote 21.12.2021 16:12: That's what I see in WireShark. It looks like leading three zero bytes disappeared in the dump somehow. Were they in a previous packet? -- WBR, SD. Firebird-Devel mailing list, web interface at

Re: [Firebird-devel] p_batch_cs on the wire

2021-12-21 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 21.12.2021 12:06: this I can't explain right now, looks like 3 last 00 got lost somehow Perhaps you mistakenly used routine for storing INF values which throw away leading zeros reducing value to minimal necessary number of bytes. -- WBR, SD.

Re: [Firebird-devel] varbinary

2021-12-20 Thread Dimitry Sibiryakov
Norbert Saint Georges wrote 20.12.2021 12:40: a varbinary has a subtype of 1 and not 0 (binary) normal? Yes. According to README.data_types.txt subtype 1 is what distinguishes VARBINARY from VARCHAR. Though at API level subtype is returned as 0 because of limitations of engine internals.

Re: [Firebird-devel] Firebird and DSQL Scrollable Cursors

2021-12-20 Thread Dimitry Sibiryakov
Dmitry Yemanov wrote 20.12.2021 11:51: What would you expect from the "row count" requested for a non-scrollable cursor? Even non-scrollable cursors can know total number of records if plan SORT is used or they are fetched to the end but I think that isc_infona is the right answer in all

[Firebird-devel] Fwd: [firebird-support] gbak isc error 335545106

2021-12-19 Thread Dimitry Sibiryakov
Dimitry Sibiryakov wrote 19.12.2021 21:19: Bennie Coetzer wrote 19.12.2021 20:08: is there any explanation of what the error code means?   In iberror.h: isc_login_error  = 335545106L   Corresponding text: "Error occurred during login, please check server firebir

Re: [Firebird-devel] UDR for reading server configuration for Firebird QA

2021-12-13 Thread Dimitry Sibiryakov
Adriano dos Santos Fernandes wrote 13.12.2021 12:17: Database administrator does not always have access to full server. And database developers create code (or declare external routines) in database. In well organized environment they don't. Developers just prepare script that is applied

Re: [Firebird-devel] UDR for reading server configuration for Firebird QA

2021-12-13 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 13.12.2021 12:05:   Don't forget about subj: this UDR is needed only to let QA suite to check exact parameters of Firebird config. It does need "any known setting". As soon as we put it into our std distro (even as an exanple) it's loosing that

Re: [Firebird-devel] UDR for reading server configuration for Firebird QA

2021-12-13 Thread Dimitry Sibiryakov
Vlad Khorsun wrote 13.12.2021 11:53: 13.12.2021 12:45, Dimitry Sibiryakov пишет: Vlad Khorsun wrote 13.12.2021 10:32: Our IFirebirdConf implementation is not generic enough to provide way to get value of any known setting as string.    IMHO it is ok for such UDR to return only subset

Re: [Firebird-devel] UDR for reading server configuration for Firebird QA

2021-12-13 Thread Dimitry Sibiryakov
Vlad Khorsun wrote 13.12.2021 10:32: Our IFirebirdConf implementation is not generic enough to provide way to get value of any known setting as string. IMHO it is ok for such UDR to return only subset of known parameters converting them into strings by hand. -- WBR, SD.

Re: [Firebird-devel] UDR for reading server configuration for Firebird QA

2021-12-13 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 13.12.2021 11:14: I suppose DS meant something like this: # ./isql -user guest employee Database: employee, User: GUEST SQL> select sum_args(1,2,3) from rdb$database; Statement failed, SQLSTATE = 28000 no permission for EXECUTE access to FUNCTION SUM_ARGS

Re: [Firebird-devel] UDR for reading server configuration for Firebird QA

2021-12-12 Thread Dimitry Sibiryakov
Alex Peshkoff via Firebird-devel wrote 12.12.2021 18:52: If it does not return sensitive information, I see no problem in add it to examples UDR project. With a check for SYSDBA I see no security risk with this UDR Isn't GRANT EXECUTE to RDB$ADMIN enough? Or UDRs are not subject of SQL

  1   2   3   4   5   6   7   8   9   10   >