1. 27 Feb, 2018 1 commit
    • Mateusz Loskot's avatar
      Drop support for PostgreSQL 7.x · 012d4aa4
      Mateusz Loskot authored
      Remove uses of CMake opions and related #define-s
        SOCI_POSTGRESQL_NOPREPARE
        SOCI_POSTGRESQL_NOPARAMS
        SOCI_POSTGRESQL_NOBINDBYNAME.
      
      Closes #122
      012d4aa4
  2. 21 Oct, 2017 1 commit
  3. 24 Sep, 2017 1 commit
    • Mateusz Loskot's avatar
      Add SOCI_OVERRIDE macro as conditional C++11 override specifier · 05ab0bcf
      Mateusz Loskot authored
      MSVC++ 1900+ always compile with C++11 mode enabled, so it should be
      safe to selectively enable 'override'specifier for internal use.
      
      It does not enable all C++11 features for SOCI and we still compile
      with C++11 compilation mode SOCI_CXX_C11=OFF by default.
      
      Refactoring performed with clang-tidy-4.0:
      
       cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DSOCI_CXX_C11=ON ..
       run-clang-tidy.py -clang-tidy-binary -header-filter='.*' \
                         -checks='-*,modernize-use-modernize' -fix
      05ab0bcf
  4. 15 Sep, 2017 1 commit
  5. 14 Sep, 2017 1 commit
    • Vadim Zeitlin's avatar
      Add workaround for empty strings being null in Oracle · 63bcc894
      Vadim Zeitlin authored
      Oracle historically treats empty VARCHAR[2] column values as nulls, so
      we need to adjust the string length unit test to provide indicators when
      retrieving the value of a possibly null string and use nvl() to compute
      its length to make this test pass when using this backend.
      63bcc894
  6. 13 Sep, 2017 1 commit
  7. 21 Jul, 2017 1 commit
  8. 07 Jul, 2017 1 commit
  9. 22 Oct, 2016 1 commit
  10. 17 Oct, 2016 1 commit
  11. 14 Oct, 2016 1 commit
  12. 10 Oct, 2016 1 commit
  13. 01 Oct, 2016 1 commit
  14. 07 Jul, 2016 1 commit
  15. 27 Jun, 2016 1 commit
  16. 08 Oct, 2015 1 commit
  17. 15 Jul, 2015 1 commit
    • Miha Ravselj's avatar
      More and better MSVC warnings fixes. · 7623f76f
      Miha Ravselj authored
      Fix warnings by changing the code whenever possible, in particular remove
      firebird_rowid_backend class and src/backends/firebird/row-id.cpp file in
      which it was defined entirely as it only resulted in "unreachable code"
      warnings but was otherwise unused.
      
      Also avoid implicit conversions by either using the correct types or by making
      the casts explicit using static_cast<> in places where the casts are really
      needed.
      
      Add helpful SOCI_NOT_COPYABLE, SOCI_NOT_ASSIGNABLE and SOCI_UNUSED macros and
      use them to suppress the corresponding warnings.
      
      Finally, combine soci-config.h and soci-platform.h in a single file, always
      include the latter as the first header and keep the former as a wrapper for
      the latter just for compatibility.
      
      Remove the MSVC "#pragma warning(disable: *)" as they are not needed any more.
      
      Closes #355.
      7623f76f
  18. 22 May, 2015 1 commit
  19. 19 May, 2015 3 commits
  20. 18 May, 2015 1 commit
  21. 01 Apr, 2015 3 commits
    • Vadim Zeitlin's avatar
      Add soci_error::get_error_message() method. · 76b3089b
      Vadim Zeitlin authored
      This will only become useful after the upcoming commits which will extend
      what() to return more information about the exception, but commit this
      separately as there are only trivial changes in this commit: just use
      std::string returned by get_error_message() instead of char* returned by
      what() in the tests.
      76b3089b
    • Vadim Zeitlin's avatar
      Move all tests from tests/assert to tests directory itself. · c9dbe190
      Vadim Zeitlin authored
      "assert" in the name of the directory doesn't make any sense any more as we
      don't use asserts in the test code now that we use CATCH.
      
      Also extend the tests description in the README.md.
      c9dbe190
    • Vadim Zeitlin's avatar
      Convert the tests to use CATCH testing framework. · 246f6579
      Vadim Zeitlin authored
      The tests have been converted with minimal changes (but this could be a bit
      difficult to see without the "-w" diff option as there have been many changes
      in indentation), basically we just use CATCH CHECK() (and REQUIRE(), in a few
      places where it is appropriate) macro instead of assert() and the test driver
      now just uses Catch::Session::run() instead of enumerating the tests to run
      explicitly.
      
      This has a lot of advantages such as:
      
      - Provides information about the failed test and the values of variables in it.
      - Allows to continue running the tests even if one of them fails.
      - Allows to run just some of the tests with flexible selection mechanism.
      246f6579
  22. 16 Mar, 2015 3 commits
    • Vadim Zeitlin's avatar
      Test exact round trip for NUMERIC values for all backends. · 34be7020
      Vadim Zeitlin authored
      Unlike with doubles, there should be really no loss of precision when using
      fixed point NUMERIC data type, but check for it explicitly as it used to be
      broken for Firebird.
      34be7020
    • Vadim Zeitlin's avatar
      No changes, just fix a repetitive typo in "assert" in comments. · 6f9dd548
      Vadim Zeitlin authored
      Add the missing "t".
      6f9dd548
    • Vadim Zeitlin's avatar
      Make text-to-double conversion exact in PostgreSQL backend. · c3cd3093
      Vadim Zeitlin authored
      By setting extra_float_digits to its maximal value (instead of the default 0)
      we can ensure that the conversion from text (which we use when saving the
      values in the database) to double (used internally) and back (when we retrieve
      the values) is lossless and so that we read back exactly the same values as we
      had written.
      
      In principle, the best solution would be to use binary format with
      PQexecParams() instead: this would avoid the conversion to/from text entirely
      and so be undoubtedly correct and probably more efficient. However it also
      would be more difficult, especially for NUMERIC types as we would need to
      convert them to/from the protocol wire format ourselves, so for now just make
      it work correctly in the simplest possible way.
      c3cd3093
  23. 31 Mar, 2014 1 commit
    • Vadim Zeitlin's avatar
      Fix PostgreSQL unit test to pass with PostgreSQL < 9.0. · 946dd5ab
      Vadim Zeitlin authored
      The output format for bytea values in PostgreSQL was "escape" until version 9
      in which it was changed to "hex", which is what the current tests expect.
      
      Explicitly check "bytea_output" parameter to make the tests pass with both 8
      and 9 (alternative would be to always set it to "escape" on connection, but it
      seems better to test the default behaviour).
      946dd5ab
  24. 25 Mar, 2014 1 commit
  25. 24 Mar, 2014 1 commit
  26. 20 Jan, 2014 2 commits
    • Mateusz Loskot's avatar
      Fix includes to point to backend headers in subdirectories · 1f4d6ef6
      Mateusz Loskot authored
      wip: updates related to #125 and #199 for further cleanup in CMake
      configuration is advised to fully use buried headers and change includes to:
      <soci/soci.h>
      <soci/mysql/soci-mysql.h>
      etc.
      1f4d6ef6
    • Mateusz Loskot's avatar
      Move tests/assert into separate subdirectories · 7a018a36
      Mateusz Loskot authored
      Update CMake configuration to properly set building dependencies for
      test targets (ATM, enabled for empty and sqlite3 only).
      Closes #199.
      Make a few additional CMake configuration updates and improvements in
      handling external dependnecies/libraries.
      7a018a36
  27. 29 May, 2013 1 commit
    • Mateusz Loskot's avatar
      Implement new source tree layout #125 · b6d97ffa
      Mateusz Loskot authored
      First set of changes incorporating new structure of source tree.
      It also applies some of changes planned as part of buried headers feature #25
      
      Work in progress, requires testing before merging into develop branch
      b6d97ffa
  28. 02 May, 2013 1 commit
  29. 07 Apr, 2013 1 commit
  30. 24 Mar, 2013 1 commit
  31. 06 Mar, 2013 1 commit
  32. 03 Mar, 2013 1 commit
  33. 23 Feb, 2013 1 commit