Activity for Fr0sT.Brutal

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #555

    Seems your version doesn't have the required unit. It was added in 12.10.2019. Why not update your FPC? In general, not much efforts are given to support of old FPC versions unlike for Delphi because FPC is free and nothing prevents from upgrading

  • Fr0sT.Brutal Fr0sT.Brutal modified a comment on ticket #555

    You're using unofficial repository that is way beyond the current state. The proper one is https://github.com/marsupilami79/zeoslib As far as I can see, the issue is fixed in current upstream

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #555

    You're using unofficial repository that is way beyond the current state. The proper one is https://github.com/marsupilami79/zeoslib

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #538

    Well, these records are internals, FPC team has the full right to change them without notice and backward compat. Relying on internals has always been unstable

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #517

    Seems like bug indeed but why you need to ping? Just execute query and check results/exceptions

  • Fr0sT.Brutal Fr0sT.Brutal modified a comment on ticket #469

    IMHO previous behavior was much more logical and safe. New SQL is equivalent to full re-init of query. Current behavior could lead to unpredictable results, f.ex., re-using temp queries for short actions. tmpQ.SQL.Text := 'select username from users where userid = :ID'; tmpQ.ParamByName('ID').Value := 123; tmpQ.Exec; ... tmpQ.SQL.Text := 'delete from very_important_data where (dataID is NULL and :ID is NULL or dataID = :ID'); // intend to do some cleanup from junk records, assuming 'ID' is NULL by...

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #469

    IMHO previous behavior was much more logical and safe. New SQL is equivalent to full re-init of query. Current behavior could lead to unpredictable results, f.ex., re-using temp queries for short actions. tmpQ.SQL.Text := 'select username from users where userid = :ID'; tmpQ.ParamByName('ID').Value := 123; tmpQ.Exec; ... tmpQ.SQL.Text := 'delete from very_important_data where (dataID is NULL and :ID is NULL or dataID = :ID'); // intend to do some cleanup from junk records... tmpQ.Exec; // but OOPS,...

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #354

    Well, there is -scc for that case. Anyway it's up to you, I'm glad to make this wonderful app better.

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #354

    That output can be redirected to file. I tested redirection with cmd & > and it worked

  • Fr0sT.Brutal Fr0sT.Brutal created ticket #354

    Windows console version disrespects current code page (with fix)

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #331

    I solved this by disabling manifest creation in project options following advice from SO Then I had to comment out usage of My_SetDefaultDllDirectories as it caused linker to fail with "external not found". I've no idea why considering that build via command line executed fine.

  • Fr0sT.Brutal Fr0sT.Brutal modified a comment on ticket #267

    In my other projects I previously used raising procs like Error(msg) but then changed my mind as compiler hints were disturbing too much. Anyway when you see raise keyword in the code you have a better understanding of what's going on there. So I redesigned my procs to funcs that create and return exception and use them like raise Error(msg). This is just insignificantly longer but much more obvious. IOW, for me changing RaiseUnsupportedException to raise CreateUnsupportedException only brings advantages....

  • Fr0sT.Brutal Fr0sT.Brutal modified a comment on ticket #267

    In my other projects I previously used raising procs like Error(msg) but then changed my mind as compiler hints were disturbing too much. Anyway when you see raise keyword in the code you have a better understanding of what's going on there. So I redesigned my procs to funcs that create and return exception and use them like raise Error(msg). This is just insignificantly longer but much more obvious. IOW, for me changing RaiseUnsupportedException to raise CreateUnsupportedException only brings advantages....

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #267

    In my other projects I previously used raising procs like Error(msg) but then changed my mind as compiler hints were disturbing too much. Anyway when you see raise keyword in the code you have a better understanding of what's going on there. So I redesigned my procs to funcs that create and return exception and use them like raise Error(msg). This is just insignificantly longer but much more obvious. IOW, for me changing RaiseUnsupportedException to raise CreateUnsupportedException only brings advantages....

  • Fr0sT.Brutal Fr0sT.Brutal modified a comment on ticket #395

    Yes, that change was pretty massive so it was done in active branch only. But you can use it for reference anyway. And yes, driver-specific options are mostly not listed there as it's better to study them in driver's official docs. Parameter names were changed according to API: https://dev.mysql.com/doc/refman/8.0/en/mysql-options.html

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #395

    Yes, that change was pretty massive so it was done in active branch only. But you can use it for reference anyway. And yes, driver-specific options are mostly not listed there as it's better to study them in driver's official docs.

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #395

    If you want to study all supported connection parameters, look at src\core\ZConnProperties.pas and src\dbc\ZDbcProperties.pas

  • Fr0sT.Brutal Fr0sT.Brutal committed [66704d]

    PG: TZPostgreSQLConnection.AbortOperation beautified

  • Fr0sT.Brutal Fr0sT.Brutal committed [r6137]

    PG: TZPostgreSQLConnection.AbortOperation beautified

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #262

    Btw, we have dataset's KeyFields property so in most cases RefreshCurrentRowSQL could be auto-generated

  • Fr0sT.Brutal Fr0sT.Brutal posted a comment on ticket #262

    Agree with RefreshRowSQL, auto-detecting a unique key would require full-featured Skynet AI :))

  • Fr0sT.Brutal Fr0sT.Brutal committed [2ce08d]

    TZInterbase6Connection.PingServer, use constants instead of magic numbers

  • Fr0sT.Brutal Fr0sT.Brutal committed [53b201]

    - Cosmetic changes for Interbase. Fixed usage of isc_dpb_connect_timeout in GenerateDPB (it is int parameter)

  • Fr0sT.Brutal Fr0sT.Brutal committed [2fbea0]

    Fixed changing TZAbstractConnection.ReadOnly wasn't changing underlaying FConnection.ReadOnly

  • Fr0sT.Brutal Fr0sT.Brutal committed [840175]

    TZInterbase6Connection.StartTransaction, fix necessity of specifying 'isc_tpb_version3' in Parameters if TransactIsolationLevel = tiNone and Parameters contain any of the 'isc_tpb_*' item

  • Fr0sT.Brutal Fr0sT.Brutal committed [d0b3bc]

    Redesign in ZDbcInterbase6ResultSet unit.

  • Fr0sT.Brutal Fr0sT.Brutal committed [341642]

    Fix typo in the name of constant

  • Fr0sT.Brutal Fr0sT.Brutal committed [3e7d10]

    When returning Boolean fields as strings, true/false values are used instead of non-standard yes/no

  • Fr0sT.Brutal Fr0sT.Brutal committed [9bde9a]

    Added property "Liblocation" to test config, now the client lib path could be set in test.properties file

  • Fr0sT.Brutal Fr0sT.Brutal committed [c54924]

    FB: host version and capability determining are encapsulated inside IZInterbaseDatabaseInfo instead of scattering among DBInfo, Metadata, Connection and Sequence. Added methods SupportsNextValueFor, SupportsTrim, SupportsBinaryInSQL, GetMaxSQLDASize that follow general IZDatabaseInfo.Supports*/Get* approach.

  • Fr0sT.Brutal Fr0sT.Brutal committed [f85cff]

    * Refactoring of TZURL.SetURL, code shortened and simplified + make possible specifying full paths with ":" in parameters (SF #158). Some tests added

  • Fr0sT.Brutal Fr0sT.Brutal committed [5167bf]

    Fix some warnings under Unicode Delphi

  • Fr0sT.Brutal Fr0sT.Brutal committed [739551]

    Fix bug introduced in r4028 (wrong URL construction)

  • Fr0sT.Brutal Fr0sT.Brutal committed [798878]

    IB/FB: GetAffectedRows, redesigned to process the buffer correctly; returns results for stExecProc StatementType. Internal routines use new ReadInterbase6Number.

  • Fr0sT.Brutal Fr0sT.Brutal committed [577b80]

    Magic constants 0 and 1 replaced by InvalidDbcIndex and FirstDbcIndex where appropriate. This fixes wrong behavior in GENERIC_INDEX mode)

  • Fr0sT.Brutal Fr0sT.Brutal committed [eb486e]

    IB/FB: GetExecuteBlockString, fix Returning couldn't be determined

  • Fr0sT.Brutal Fr0sT.Brutal committed [0972b7]

    Removed thread-unsafe manipulations with global FormatSettings. Added SQLStrToFloat function and internal FSSqlFloat: TFormatSettings variable.

  • Fr0sT.Brutal Fr0sT.Brutal committed [1aa709]

    Fix TZAbstractConnection.GetEscapeString was not returning a result

  • Fr0sT.Brutal Fr0sT.Brutal committed [fb4063]

    FB/IB: Fixed half-missing implementation of Boolean fields

  • Fr0sT.Brutal Fr0sT.Brutal committed [2b722c]

    ! Fixed not raising exceptions in TZNumericField.ConvertSigned, ConvertUnSigned, ConvertExtended, removed compiler satisfactions (now with exception raising they're useless)

  • Fr0sT.Brutal Fr0sT.Brutal committed [819467]

    "{$IFDEF GENERIC_INDEX}0{$ELSE}1{$ENDIF}" clauses replaced by generic FirstDbcIndex, "{$IFDEF GENERIC_INDEX}-1{$ELSE}0{$ENDIF}" replaced by generic InvalidDbcIndex.

  • Fr0sT.Brutal Fr0sT.Brutal committed [b668aa]

    Internal code simplification commit, no real change.

  • Fr0sT.Brutal Fr0sT.Brutal committed [5ebae1]

    Internal code simplification commit, no real change.

  • Fr0sT.Brutal Fr0sT.Brutal committed [e1ca2c]

    ZSysUtils.GUIDToBuffer, type of Source changed to Pointer to indicate it's a binary data and avoid excess typecasts. Added some internal typecasts to allow pointer maths under old Delphis. Removed several unnecessary if's increasing performance by 8%

  • Fr0sT.Brutal Fr0sT.Brutal committed [8cf9b7]

    FB/IB: sequence name is quoted with IdentifierConvertor

  • Fr0sT.Brutal Fr0sT.Brutal committed [da6513]

    FB: added missing GUID type handling for parameters

  • Fr0sT.Brutal Fr0sT.Brutal committed [549b07]

    Minor cosmetic code changes

  • Fr0sT.Brutal Fr0sT.Brutal committed [a424a2]

    ZDbcCache.pas: TZRowAccessor, internal optimization pt.2.

  • Fr0sT.Brutal Fr0sT.Brutal committed [e19e7f]

    Internal change - finished work on unifying column index definition for metadata methods.

  • Fr0sT.Brutal Fr0sT.Brutal committed [54375b]

    ZDbcCache.pas: TZRowAccessor, internal optimization.

  • Fr0sT.Brutal Fr0sT.Brutal committed [e6cbc0]

    ZDbcMetadata.pas:

  • Fr0sT.Brutal Fr0sT.Brutal committed [1b42b1]

    ZSelectSchema.pas:

  • Fr0sT.Brutal Fr0sT.Brutal committed [da049a]

    ZSelectSchema.pas: fixed compilation fail introduced in 4128. TZSelectSchema.LinkFieldByIndexAndShortName uses common conversion of ColumnIndex without additional units. This required removing const modifier but it was useless anyway.

  • Fr0sT.Brutal Fr0sT.Brutal committed [ae76e7]

    Cleanup of TZ*Metadata.DecomposeObjectString - removed overrides that were exact copies of parent method (ADO, SQLite), made use of parent methods instead of copying code (DbLib). TZAbstractDatabaseMetadata's method slightly optimized for case of empty parameter and a description added

  • Fr0sT.Brutal Fr0sT.Brutal committed [68647b]

    MySQL: fixed metadata not respecting connection properties (SF #233)

  • Fr0sT.Brutal Fr0sT.Brutal committed [1a2e93]

    Warnings cleanup

  • Fr0sT.Brutal Fr0sT.Brutal committed [317ff8]

    TZAbstractRODataset: property SQL is placed after ParamChar and ParamCheck (SF #164).

  • Fr0sT.Brutal Fr0sT.Brutal committed [dba554]

    ZURL internal optimizations & code simplifications, added two tests

  • Fr0sT.Brutal Fr0sT.Brutal committed [db4874]

    Force disable Range check for all Zeos units under D7 to avoid internal error C1118

  • Fr0sT.Brutal Fr0sT.Brutal committed [59c241]

    Added RemoveChar, AppendSepString, BreakString functions with test cases

  • Fr0sT.Brutal Fr0sT.Brutal committed [09e7c2]

    ZURL internal cleanup/optimizations using new functions

  • Fr0sT.Brutal Fr0sT.Brutal committed [05afea]

    Internal cleanup/optimizations using new functions

  • Fr0sT.Brutal Fr0sT.Brutal committed [8ec520]

    Assignments of one TStrings.Text to another replaced with Clear+AddStrings which is not only much faster (avoiding string join and split) but also keeps multiline values - f.ex., FB3's isc_dpb_config parameter

  • Fr0sT.Brutal Fr0sT.Brutal committed [23a808]

    FB3+: WireCompression option won't overwrite other isc_dpb_config values

  • Fr0sT.Brutal Fr0sT.Brutal committed [d28420]

    Internal: DefineFields and DefineSortedFields routines simplified and commented; also they raise exception for fields defined with a number greater than total field count of dataset (previous version was ignoring this entry); DefineSortedFields now correctly processes the case of a field named Asc or Desc

  • Fr0sT.Brutal Fr0sT.Brutal committed [ca2c93]

    Internal code simplification/refactoring.

  • Fr0sT.Brutal Fr0sT.Brutal committed [17c0fa]

    Internal code simplification with AppendSepString routine

  • Fr0sT.Brutal Fr0sT.Brutal committed [e8bdcd]

    Internal optimizations/code simplifications

  • Fr0sT.Brutal Fr0sT.Brutal committed [9baf3d]

    FB/IB: fields of types blr_varying(2) (VARCHAR) and blr_cstring(2) (CSTRING) with codepage CS_BINARY (OCTETS) are considered TBytes.

  • Fr0sT.Brutal Fr0sT.Brutal committed [e56c25]

    FB/IB: pt.2 of "fields of types blr_varying(2) (VARCHAR) and blr_cstring(2) (CSTRING) with codepage CS_BINARY (OCTETS) are considered TBytes." - metadata part. UncachedGetProcedureColumns queries RDB$CHARACTER_SET_ID field. Also UncachedGetProcedureColumns and UncachedGetColumns do assign Remarks field of columns.

  • Fr0sT.Brutal Fr0sT.Brutal committed [a509ad]

    Internal: use BufferToBytes (code shortening), more Move() optimizations

  • Fr0sT.Brutal Fr0sT.Brutal committed [8d0601]

    FB/IB: internal TZInterbase6Connection changes

  • Fr0sT.Brutal Fr0sT.Brutal committed [ab2e8c]

    Internal: Move() optimizations, use ZFastCode.Move() if defined

  • Fr0sT.Brutal Fr0sT.Brutal committed [2019b4]

    FB/IB: returned some code that was lost during merge

  • Fr0sT.Brutal Fr0sT.Brutal committed [a88693]

    Internal: StrToBytes, removed empty string checks (Move() does them itself)

  • Fr0sT.Brutal Fr0sT.Brutal committed [a960f1]

    (Internal) ZDbcAdoStatement.pas: temp variable in TZAdoCallableStatement.ExecuteQueryPrepared shortening the code

  • Fr0sT.Brutal Fr0sT.Brutal committed [8c74a2]

    aww forgot to use unit

  • Fr0sT.Brutal Fr0sT.Brutal committed [439397]

    ZURL - property Text is used as simple TStringList's one. Escaped value is got/set by URLText property. Escaping includes both replacing CRLF's to ';'s and ';'s to TABs. This allows specifying properties with ';'s inside. Added one test demonstrating the fixed behavior (fails with previous code).

  • Fr0sT.Brutal Fr0sT.Brutal committed [7e771e]

    Remove unneeded units

  • Fr0sT.Brutal Fr0sT.Brutal committed [65f5ce]

    FB: two minor bugs

  • Fr0sT.Brutal Fr0sT.Brutal committed [44f05e]

    Fix exception's message

  • Fr0sT.Brutal Fr0sT.Brutal committed [74775f]

    IB/FB: fixed index manipulations in event alerter introduced in prev commit

  • Fr0sT.Brutal Fr0sT.Brutal committed [31a31a]

    IB/FB: fixed incorrect event registration in event alerter that affected only Unicode Delphis

  • Fr0sT.Brutal Fr0sT.Brutal committed [ce3788]

    Merged revision(s) 4431-4433 from trunk:

  • Fr0sT.Brutal Fr0sT.Brutal committed [356bf2]

    Merged revision(s) 4014-4030 from branches/testing-7.2:

  • Fr0sT.Brutal Fr0sT.Brutal committed [40179d]

    + IZResultSetMetaData.FindColumn method added (preparation for INSERT-RETURNING feature). IZResultSet.FindColumn just calls the metadata's method.

  • Fr0sT.Brutal Fr0sT.Brutal committed [5de10f]

    + Support of INSERT...RETURNING construction. New Dataset option "InsertReturningFields" that has to have value of "," or ";"-separated list of fields that will get their values after Post (f.ex. "ID, Master_ID; Something"). The field list will be added to INSERT statement separated by "," (InsStatement = 'INSERT INTO ... RETURNING ' + FieldsList). This ability is supported by Firebird, Postgre and Oracle but only Firebird implementation is done.

  • Fr0sT.Brutal Fr0sT.Brutal committed [4218c7]

    Merged revision(s) 4034-4036 from branches/testing-7.2:

  • Fr0sT.Brutal Fr0sT.Brutal committed [6b6edd]

    ZDatasetUtils.pas: added ExtractFields routine

  • Fr0sT.Brutal Fr0sT.Brutal committed [3a737f]

    + Exceptions now have SpecificData: TZExceptionSpecificData property that might be filled by engine implementations with any engine-specific data. Implemented for Firebird.

  • Fr0sT.Brutal Fr0sT.Brutal committed [4a22d7]

    Make TZGenericCachedResolver.DefineWhereKeyColumns respect "KeyFields" parameter (used for UPDATE, DELETE). Thus WhereKeyOnly option could be used with those datasets for which primary keys couldn't be determined via metadata (VIEWs).

  • Fr0sT.Brutal Fr0sT.Brutal committed [99f138]

    Fixed warnings and string conversion issues for Unicode Delphis

  • Fr0sT.Brutal Fr0sT.Brutal committed [5897d0]

    ExtractFields moved from component/ZDatasetUtils.pas to dbc/ZDbcUtils.pas to keep isolation of logical levels and fix non-buildable packages

  • Fr0sT.Brutal Fr0sT.Brutal committed [fb7eb9]

    Fix memory leak in ExtractFields

  • Fr0sT.Brutal Fr0sT.Brutal committed [b6ddbd]

    * All literals of dataset and connection properties are replaced by constants. Two units added - core/ZConnProperties (most common connection props) and dbc/ZDbcProperties (dataset and driver-specific properties). Most of properties are accompanied with comments.

  • Fr0sT.Brutal Fr0sT.Brutal committed [48ae03]

    Added new files that were missing in r4044

  • Fr0sT.Brutal Fr0sT.Brutal committed [32ad61]

    Fixed warnings and improper use of ZFastCode unit introduced in r4044

  • Fr0sT.Brutal Fr0sT.Brutal committed [0898a4]

    Merged revision(s) 4063-4064 from trunk:

  • Fr0sT.Brutal Fr0sT.Brutal committed [83e094]

    Merged revision(s) 4061 from trunk:

  • Fr0sT.Brutal Fr0sT.Brutal committed [04febe]

    FB/IB: Significantly simplified and optimized TZInterbase6DatabaseMetadata.UncachedGetProcedureColumns/UncachedGetColumns with the price of dropping support of IB5. UncachedGetCollationAndCharSet uses indexes instead of FindColumn as well because both used queries return the same column set.

1 >