Search found 17 matches

by abk964
28.10.2022, 14:48
Forum: ZeosLib 7.3/8.0 Forum
Topic: query raise SIGSEGV in not main thread if connection lost (Linux, Firebird)
Replies: 5
Views: 203

query raise SIGSEGV in not main thread if connection lost (Linux, Firebird)

Hi. Use Zeos r7867, Lazarus 2.2.2, FPC 3.2.2, Ubuntu 16.04 32bit, Firebird 3.0. Testing reconnection after connection lost. Found, that if TZReadOnlyQuery.Open executed in different (not main) thread on connection lost raises SIGSEGV, so connection can not be reopened. Seems, connection object is br...
by abk964
05.09.2022, 16:20
Forum: ZeosLib 7.3/8.0 Forum
Topic: Firebird stored procedure returning void dataset raise exception
Replies: 6
Views: 314

Re: Firebird stored procedure returning void dataset raise exception

Solved both problem by changing TZStoredProc to TZReadOnlyQuery with SQL:

Code: Select all

SELECT * FROM VOID_TEST_PROC(:P0)
Works both with FB 3 and 2.5
by abk964
05.09.2022, 13:25
Forum: ZeosLib 7.3/8.0 Forum
Topic: problem with stored procedure returning 2 datasets (MySQL 8)
Replies: 1
Views: 110

Re: problem with stored procedure returning 2 datasets (MySQL 8)

Solved by changing NextRecordSet (aka NextResultSet) to SetResultSet(1) for second DS.
"Open" does not clean FActiveResultIndex, so it stores from previous call. Have to use absolute value via SetResultSet.
by abk964
05.09.2022, 10:35
Forum: ZeosLib 7.3/8.0 Forum
Topic: Postgres batch update can not work
Replies: 3
Views: 261

Re: Postgres batch update can not work

Solved by replacing SQL from UPDATE BATCH_TEST_TABLE SET VAL_FIELD = :P0 WHERE VAL_FIELD = :P1 to UPDATE batch_test_table SET val_field = "CAST"(r.c0 as integer) FROM (SELECT :p0 as c0, :p1 as c1 ) r WHERE val_field = "CAST"(r.c1 as integer) Version with CTE WITH r(c0 ,c1 ) AS (S...
by abk964
01.09.2022, 15:32
Forum: ZeosLib 7.3/8.0 Forum
Topic: Batch inserts with Firebird 3
Replies: 10
Views: 615

Re: Batch inserts with Firebird 3

I can't connect to Firebird server (version WI-V6.3.7.33374 Firebird 3.0) with FB 2.5 client library (version 2.5.9.27139). Do not know, why. Keep using FBCLIENT.DLL version 3.0.7.33374. But your result looks even more strange. As I understand tracing TZAbstractFirebirdStatement.Prepare, Zeos device...
by abk964
01.09.2022, 10:37
Forum: ZeosLib 7.3/8.0 Forum
Topic: Firebird stored procedure returning void dataset raise exception
Replies: 6
Views: 314

Re: Firebird stored procedure returning void dataset raise exception

Thanks. Docs say so, but it does not work in Delphi 7. Not sure, than it's really important. Check for myself.
by abk964
01.09.2022, 08:19
Forum: ZeosLib 7.3/8.0 Forum
Topic: Postgres batch update can not work
Replies: 3
Views: 261

Postgres batch update can not work

Batch update can not work with Postgres - function unnest can not be used in WHERE clause.

Generated query:

Code: Select all

UPDATE BATCH_TEST_TABLE SET VAL_FIELD = unnest($1::int4[]) WHERE VAL_FIELD = unnest($2::int4[])
Table DDL:

Code: Select all

CREATE TABLE BATCH_TEST_TABLE (
    VAL_FIELD  INTEGER
);
Project attached.
by abk964
31.08.2022, 15:14
Forum: ZeosLib 7.3/8.0 Forum
Topic: Firebird stored procedure returning void dataset raise exception
Replies: 6
Views: 314

Re: Firebird stored procedure returning void dataset raise exception

Hi. Thanks. Have updated to r7867. Both problems are not solved. BTW. Isn't right time format in log 'hh:nn:ss"? "mm" - is month. function TZLoggingFormatter.Format(LoggingEvent: TZLoggingEvent): SQLString; ... SQLWriter.AddDateTime(LoggingEvent.Timestamp, 'yyyy-mm-dd hh:mm:ss.fff', R...
by abk964
31.08.2022, 14:13
Forum: ZeosLib 7.3/8.0 Forum
Topic: problem with stored procedure returning 2 datasets (MySQL 8)
Replies: 1
Views: 110

problem with stored procedure returning 2 datasets (MySQL 8)

Second dataset is readable in first call of procedure only.

Procedure DDL:

Code: Select all

CREATE PROCEDURE `TwoDSTest`()
BEGIN
    SELECT * FROM (VALUES ROW(1.1, 1.2), ROW(2.1, 2.2)) as T(f1, f2);
    SELECT * FROM (VALUES ROW(3), ROW(4), ROW(5)) as T2(f3);
END
Test project attached.
by abk964
30.08.2022, 16:10
Forum: ZeosLib 7.3/8.0 Forum
Topic: Firebird stored procedure returning void dataset raise exception
Replies: 6
Views: 314

Re: Firebird stored procedure returning void dataset raise exception

One more. Third execution of selectable proceture raise exception 'Cursor is already open; GDS Code: 335544841;...". To reproduce change ExecButtonClick to: procedure TForm1.ExecButtonClick(Sender: TObject); var i: integer; begin with ZStoredProc1 do begin Params[0].AsInteger := 1; Open; i := 0...
by abk964
30.08.2022, 11:23
Forum: ZeosLib 7.3/8.0 Forum
Topic: Firebird stored procedure returning void dataset raise exception
Replies: 6
Views: 314

Firebird stored procedure returning void dataset raise exception

With Firebird (3 and 2.5) stored procedure returning void dataset raise exception 'Row buffer is not assigned' at function TZRowAccessor.IsNull(ColumnIndex: Integer): Boolean; Call stack: TZRowAccessor.IsNull(0) TZAbstractCachedResultSet.IsNull(0) TZAbstractPreparedStatement.IsNull(1) TZAbstractCall...
by abk964
29.08.2022, 13:11
Forum: ZeosLib 7.3/8.0 Forum
Topic: Batch inserts with Firebird 3
Replies: 10
Views: 615

Re: Batch inserts with Firebird 3

Hi.

OK. Is this example enough to debug?
by abk964
29.08.2022, 08:27
Forum: ZeosLib 7.3/8.0 Forum
Topic: Batch inserts with Firebird 3
Replies: 10
Views: 615

Re: Batch inserts with Firebird 3

I can't see my posts in this topic. Try to resend last.
Delphi 7 project attached.
Create table:

Code: Select all

CREATE TABLE BATCH_TEST_TABLE (
    VAL_FIELD  INTEGER
);