diff --git a/ChangeLog.txt b/ChangeLog.txt index 91288c387b..9671efc330 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,14 @@ Entries may not always be in chronological/commit order. See license at the end of file. */ +2026-09-01 14:29 UTC+0200 Kamil Przybylski (kprzybylski quay.pl) + * contrib/hbfbird/tfirebrd.prg + ! fixed TFbQuery:FieldGet() returning an empty date for every DATE + column in SQL dialect 3. FBGetData() formats SQL_TYPE_DATE as + "YYYY-MM-DD ", so the positional slicing picked up the separators + and hb_SToD() rejected the result. Strip them instead, which does + not depend on where they sit + 2026-08-27 20:22 UTC+0200 Aleksander Czajczynski (hb fki.pl) * contrib/3rd/sqlite3/sqlite3.c * contrib/3rd/sqlite3/sqlite3.diff diff --git a/contrib/hbfbird/tfirebrd.prg b/contrib/hbfbird/tfirebrd.prg index 7c8939472b..4eeece91dd 100644 --- a/contrib/hbfbird/tfirebrd.prg +++ b/contrib/hbfbird/tfirebrd.prg @@ -702,7 +702,10 @@ METHOD FieldGet( nField ) CLASS TFbQuery ELSEIF cType == "D" IF result != NIL - result := hb_SToD( Left( result, 4 ) + SubStr( result, 5, 2 ) + SubStr( result, 7, 2 ) ) + /* FBGetData() formats SQL_TYPE_DATE as "YYYY-MM-DD ", so the + separators have to go before hb_SToD(), which is strictly + positional and expects a bare "YYYYMMDD" */ + result := hb_SToD( StrTran( AllTrim( result ), "-" ) ) ELSE result := hb_SToD() ENDIF