Permalink
Commits on Dec 5, 2011
Commits on Nov 30, 2011
  1. add Cygwin support

    rkitover committed Nov 30, 2011
    Add a fixup to dbdimp.h to temporarily define _WIN32 before including
    ibase.h so that functions are declared as stdcall for calling into the
    DLL.
    
    Add a setup_for_cygwin function to inc/FirebirdMaker.pm that finds the
    fbclient.dll and links to it.
    
    Add code to Makefile.PL to call setup_for_cygwin for cygwin and
    locate_firebird_ms to look in the registry for cygwin as well.
Commits on Nov 29, 2011
  1. support Microsoft's compiler and other win32 fixes

    rkitover committed Nov 29, 2011
    Microsoft's C compiler does not support C99, so move all variable
    declarations to the tops of their scopes and convert C99 printf formats
    to regular C printf formats. I'm not sure if the formats I used, please
    double check.
    
    Add -Wall -fno-strict-aliasing to CFLAGS only if the compiler is gcc.
    
    Implement setup_for_ms_cl() in inc/FirebirdMaker.pm.
    
    In read_registry() fallback to the reg tool to read the registry if
    Win32::TieRegistry fails, this is necessary as this key is not always
    reliably read using TieRegistry.
    
    Change File::Basename::fileparse call to File::Spec->splitpath in
    t/TestFirebird.pm as fileparse fails on windows paths.
Commits on Nov 25, 2011
  1. implement the ParamValues statement attribute

    real-dam committed Nov 25, 2011
    These are useful when reporting errors.
    
    The attribute stores the parameters bound to the placeholders of the statements
    and their values are used when reporting errors.
Commits on Nov 24, 2011
  1. preliminary ISQL-like tool using DBD::Firebird

    real-dam committed Nov 24, 2011
    Could be used in situations where stock isql is not suitable
Commits on Nov 4, 2011
  1. t/*event*.t: skip if DBD_FIREBIRD_TEST_SKIP_EVENTS is in the environment

    real-dam committed Nov 4, 2011
    it seems that these two tests fail on several of Debian's
    architectures (armel, ia64, kfreebsd-amd64, kfreebsd-i386 and
    s390).
    
    Having an easy way to skip them until the problem is found
    and fixed would be nice.
Commits on Nov 3, 2011
  1. release 0.91

    real-dam committed Nov 3, 2011
Commits on Nov 2, 2011
  1. avoid using croak(char*)

    real-dam committed Nov 2, 2011
    that fails with -Werror=format-security
    
    thanks to gregor herrmann for the patch
  2. release 0.90

    real-dam committed Nov 2, 2011
Commits on Nov 1, 2011
  1. MANIFEST.SKIP: skip t/emped-*

    real-dam committed Nov 1, 2011
    these are generated
  2. avoid using warn(char*)

    real-dam committed Nov 1, 2011
    the contents of the char* may contain format strings
    (like %d), which would be interpreted making warn()
    access illegal instead, use warn("%s", char*) to clearly
    state the intent
Commits on Oct 28, 2011
  1. Merge 'optional-libfbembed' into master

    real-dam committed Oct 28, 2011
    Closes #21. First-grade embedded support available now
    
    Conflicts:
    	Makefile.PL -- compiler flags and objects
Commits on Oct 27, 2011
Commits on Oct 26, 2011
  1. add $ENV{CFLAGS} to CCFLAGS

    real-dam committed Oct 26, 2011
    this allows influencing the compiler flags from the environment
    Useful for situations where certain flags are imposed by
    the builder, for example Debian/Ubuntu auto-builders
Commits on Oct 25, 2011
  1. support DBD_FIREBIRD_REQUIRE_EMBEDDED env. variable

    real-dam committed Oct 25, 2011
    this is useful in automated build environments (like
    Debian build daemons) where one would expect consistent
    results wrt embedded availability both accross architectures
    and across different versions
  2. db_login6, gfix: abort if DPB length doesn't match projected

    real-dam committed Oct 25, 2011
    getting this wrong easily leads to memory overwrites
  3. rework populating of DPB

    real-dam committed Oct 25, 2011
    preparing and populating DPB is now done via centralized
    set of macros, so it should be easier to keep accurate.
    
    No longer need to remember that integers require 6
    bytes, and strings 2 bytes + string length (excluding NUL
    terminator)
  4. db_login/charset: copy only SV content

    real-dam committed Oct 23, 2011
    there is no guarantee that there is a trailing NUL
  5. db_login6: fix dbp ingrements for strings and integers

    real-dam committed Oct 23, 2011
    for strings we have 1 byte for the dpb key, 1 byte for
    the string length, followed by the string itself,
    *without* NUL terminator
    
    for integers we have 1 byte for the dpb key, 1 byte for
    the length and 4 bytes for the integer itself
    
    It seems to have worked before, but this is some kind
    of a coincidence -- allocating more for strings and
    less for integers and depends on given parameters,
    memory layout and the phase of the moon :)
  6. db_login6: use determined database length

    real-dam committed Oct 23, 2011
    should be noop in the common case, but who knows
  7. build/test without ISQL

    real-dam committed Oct 22, 2011
  8. tests: rework database dropping without ISQL

    real-dam committed Oct 22, 2011
    avoids depending on external, hard to locate binary and
    tests the driver code. works with client/embedded
  9. add ib_drop_database function

    real-dam committed Oct 22, 2011
  10. check_database: rework without ISQL

    real-dam committed Oct 22, 2011
    Instead of depending on external binary (finding of
    which is a burden by itself), try connecting to the
    database and find its dialect using the driver