1. 02 May, 2013 1 commit
  2. 12 Apr, 2013 4 commits
    • Mateusz Loskot's avatar
      Add SOCI 3.2.1 contributors · 352e415c
      Mateusz Loskot authored
      [ci skip]
      352e415c
    • Mateusz Loskot's avatar
      Fix typo · 204c4339
      Mateusz Loskot authored
      [ci skip]
      204c4339
    • Mateusz Loskot's avatar
      Add latest hotfix to CHANGES · a60f86b4
      Mateusz Loskot authored
      a60f86b4
    • olszewst's avatar
      Correct binding to NUMBER in Oracle backend. · 38f71761
      olszewst authored
      On platforms where std::numeric_limits<int>::digits10 == 9,
      NUMBER(9,0) can be represented losslessly using C++ type int.
      Oracle data type NUMBER(precision,scale) is bound to C++ int
      if scale is 0 and precision < std::numeric_limits<int>::digits10.
      This comparison prevents conversion of NUMBER(9,0) to int, thus it is corrected
      using weaker form: precision <= std::numeric_limits<int>::digits10.
      
      Fixes #126
      Close #128
      
      (Original commit message amended by Mateusz Loskot)
      38f71761
  3. 08 Apr, 2013 2 commits
    • Mateusz Loskot's avatar
      Add latest hotfix to CHANGES · 0f95517c
      Mateusz Loskot authored
      0f95517c
    • olszewst's avatar
      Fixes #123 issue. · f7cda391
      olszewst authored
      On Windows, Oracle client library is deployed as oci.dll, but not named as
      libclntsh.so. This also refines fix already available in 'develop' from
      SHA: f7fdb356
      Close #124 pull request as merged.
      
      (Original commit message amended by Mateusz Loskot)
      f7cda391
  4. 07 Apr, 2013 3 commits
  5. 06 Apr, 2013 3 commits
  6. 05 Apr, 2013 2 commits
  7. 04 Apr, 2013 4 commits
  8. 27 Mar, 2013 1 commit
  9. 26 Mar, 2013 3 commits
  10. 25 Mar, 2013 3 commits
  11. 24 Mar, 2013 7 commits
    • Ricardo Andrade's avatar
      Test functions with ':=' and causes a crash case · 7941919f
      Ricardo Andrade authored
      Tests if soci can create psql functions with assignments (:=).
      Tests the situation where preparing an invalid query caused a crash with certain combinations of client/server versions.
      7941919f
    • Ricardo Andrade's avatar
      Fixes a crash and allows creating complex function · 684be047
      Ricardo Andrade authored
      First fix around line 95 allows passing any query containing an assignment operator (:=) this way we can create complex functions within soci.
      Second fix around line 172 avoids causing a second exception on the destructor when you have a 'statementName_' but actually PQPrepare() failed and threw a first exception.
      684be047
    • Vadim Zeitlin's avatar
      Use standard "||" instead of "or" keyword in Firebird backend code. · feb4ae74
      Vadim Zeitlin authored
      MSVC doesn't support the use keywords for logical operators without including
      <iso646.h> first. Instead of doing this and possibly running into more
      problems on other systems, just use the standard C operators.
      feb4ae74
    • Vadim Zeitlin's avatar
      Fix reading negative doubles from the database with Firebird backend. · 3bbd5c2e
      Vadim Zeitlin authored
      Mantissa of type SQL_LONG must be converted to "int", not "unsigned", when
      reading from the database.
      
      This corrects the changes of 4c3cb629 which did use int in other places where
      SQL_LONG is handled but not here to compensate for a different bug with
      handling of unsigned long which is fixed differently by the previous commit.
      
      Also add unit a (Firebird-specific for now but it should be made common) test
      for reading negative doubles.
      3bbd5c2e
    • Vadim Zeitlin's avatar
      Use type big enough to store unsigned long in Firebird tests. · dde8ea69
      Vadim Zeitlin authored
      Using decimal(9,0) for the "ul" field of the test database translates into
      using SQL_LONG type at Firebird API level which, in turn, translates into
      "int" at C++ level. And casting int values to unsigned long doesn't work
      correctly on LP64 architectures where the former is 32 bits while the latter
      is 64 bits.
      
      This resulted in test failures when reading values > INT_MAX from the
      database, as could be seen in the unit tests before 4c3cb629 masked it by
      casting to unsigned int first. This, however, was inconsistent with the other
      data types and broke reading of doubles from the database and will be undone
      soon.
      
      So use another fix for the unit tests: just create the field using "bigint"
      type (alias for decimal(18,0)) which translates into SQL_INT64 and doesn't
      truncate the value when casting it. This is also consistent with the other
      backends that mostly use decimal(20,0) for this field.
      dde8ea69
    • Vadim Zeitlin's avatar
      Fix regression with statement re-execution when using Firebird backend. · e063fbcb
      Vadim Zeitlin authored
      Since the introduction of endOfRowSet_ flag in 4c3cb629, executing the same
      statement again stopped working as the flag was never reset after fetching all
      the results of the first execution.
      
      Fix this by resetting it in firebird_statement_backend::execute().
      
      Also add a test verifying that this does indeed work.
      e063fbcb
    • Vadim Zeitlin's avatar
      Fix harmless signed/unsigned comparison warnings in Firebird code. · a83861b0
      Vadim Zeitlin authored
      At least MSVC warns about comparing unsigned std::string::size() result with a
      signed value, fix the warning by simply converting the former to signed int.
      a83861b0
  12. 15 Mar, 2013 1 commit
    • Mateusz Loskot's avatar
      Fix int and long mismatch for vector in ODBC · 54cf8443
      Mateusz Loskot authored
      This is attempt to investigate and solve problems with failing ODBC tests after Travis CI switched to Linux VMs from 32-bit to  64-bit.
      Apparently, there is mismatch of C++ types vector<int> and vector<long> int with use() and into(). ODBC backend relies on C++ sizeof and casting, so mixing 4-byte int with 8-byte long on Linxu 64-bit is asking for troubles.
      
      This commit may be incomplete and serves purpose of illustration of the problem, needs to be reviewed and improved if needed. As the common-tests.h have been changed, it is necessary to verify those changes against other backends as well.
      (Problems of this sort prove that sorting out strong requirements regarding C++ integer type support is a must.)
      54cf8443
  13. 10 Mar, 2013 1 commit
  14. 09 Mar, 2013 5 commits