1. 27 Feb, 2018 1 commit
  2. 23 Sep, 2017 1 commit
    • Heiko Rabe's avatar
      Repair VC8 compile of test applications (#593) · 51d058f0
      Heiko Rabe authored
      Fix compilation issues for Visual C++ 8.0 (VS2005)
      
      * Add _WIN32_WINNT minimal required version to soci-platform.h to fix windows.h issue related to use of Add/RemoveVectoredExceptionHandler.
      * Override SECTION macro since default macro parameter (3 required / 2 given or 2 required / 1 given) do not expand and lead to syntax error.
      51d058f0
  3. 15 Sep, 2017 1 commit
  4. 14 Sep, 2017 4 commits
  5. 13 Sep, 2017 1 commit
  6. 21 Jul, 2017 4 commits
    • Vadim Zeitlin's avatar
      Add test checking string length when using bulk insert · c6aef12b
      Vadim Zeitlin authored
      This used to be broken, so add a test to check that it works after the
      changes of the last commit and to avoid breaking it again.
      c6aef12b
    • Vadim Zeitlin's avatar
      Improve get_affected_rows() documentation · 521a8408
      Vadim Zeitlin authored
      Mention that the exact result of this method can't be relied upon for
      the partially successful statements when using ODBC: some drivers
      (including the widely used MS SQL native client) simply don't return
      this information at all, while others (MySQL) just return wrong number
      of rows.
      
      Also remove the apparently obsolete note about this method not supported
      in the Oracle backend as it does seem to implement it.
      521a8408
    • Vadim Zeitlin's avatar
      Fix harmless variable shadowing warnings · 1a0eeb18
      Vadim Zeitlin authored
      Suppress VC14 (a.k.a. MSVS 2015) C4456 warning about shadowing variables
      in outer scope.
      
      No real changes.
      1a0eeb18
    • Vadim Zeitlin's avatar
      Add check for absence of unneeded truncation too · 06915e48
      Vadim Zeitlin authored
      We already checked that inserting a too long string resulted in an
      error, now check that inserting a string just long enough does not
      result in it.
      06915e48
  7. 19 Jul, 2017 1 commit
    • Vadim Zeitlin's avatar
      Add get_dummy_from_{table,clause}() methods · d91c2228
      Vadim Zeitlin authored
      These functions are helpful to allow writing queries not using any
      tables portably, i.e. they basically abstract the difference between
      "select ... from dual" in Oracle and just "select ..." in almost all the
      other backends.
      d91c2228
  8. 07 Jul, 2017 1 commit
  9. 05 Feb, 2016 1 commit
    • Vadim Zeitlin's avatar
      Define cxx_details::auto_ptr<> to get rid of preprocessor checks · ec7d2dfc
      Vadim Zeitlin authored
      Defining cxx_details::auto_ptr<> as either std::auto_ptr<> or
      std::unique_ptr<> once instead of checking for SOCI_HAVE_CXX_C11 simplifies
      the code and also allows to use unique_ptr<> for MSVS 2010+ which has it even
      when SOCI_HAVE_CXX_C11 is not defined.
      
      Also use cxx_details::auto_ptr<> instead of std::auto_ptr<> in the tests to
      fix the build in C++11 mode with clang 3.8 due to -Wdeprecated-declarations
      warnings given by it for std::auto_ptr<> (and -Werror used by CMake and which
      apparently can't be overridden from command line...).
      ec7d2dfc
  10. 05 Nov, 2015 1 commit
  11. 21 Oct, 2015 1 commit
  12. 16 Oct, 2015 1 commit
  13. 09 Oct, 2015 1 commit
  14. 08 Oct, 2015 1 commit
  15. 27 Sep, 2015 3 commits
  16. 24 Sep, 2015 1 commit
  17. 15 Jul, 2015 3 commits
    • Miha Ravselj's avatar
      Add a unit test for CHAR(N) fields padding behaviour. · d1ad52fc
      Miha Ravselj authored
      Use the new CHECK_EQUAL_PADDED() macro instead of just CHECK() for the CHAR(N)
      fields as they can be padded, and even padded incorrectly, by some backends.
      
      Add a new test verifying that, up to padding, CHAR(N) fields do behave
      correctly.
      
      Closes #356.
      d1ad52fc
    • 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
    • Vadim Zeitlin's avatar
      Removed dummy and not compilable operator<<(boost::optional). · caa2370d
      Vadim Zeitlin authored
      "inline namespace" doesn't compile in C++98 mode, so the old code broke
      compilation with g++ 4.7 or later or clang when not using C++11.
      
      It also seems to be completely useless as outputting "Currently not supported"
      just can't be a good idea, so it is not clear why was it added in the first
      place (see PR #336).
      caa2370d
  18. 22 May, 2015 1 commit
  19. 19 May, 2015 1 commit
  20. 08 May, 2015 1 commit
  21. 21 Apr, 2015 2 commits
    • Vadim Zeitlin's avatar
      Throw instead of truncating VARCHAR columns in Firebird backend. · bc4abd71
      Vadim Zeitlin authored
      Silently truncating the data to fit into a column is a bad idea, just don't do
      this.
      
      Also add a unit test verifying that an exception is indeed thrown if the value
      being inserted doesn't fit in the column, except for SQLite where anything
      fits and MySQL where it doesn't but just gets silently truncated by the
      database by default.
      
      Finally add a helper on_after_ddl() method to the test context class to allow
      creating tables in the common test code instead of having to always do it in
      RDBMS-specific way, even when the DDL uses completely standard SQL and the
      only difference is that Firebird needs a commit after executing it.
      
      Closes #51.
      bc4abd71
    • Vadim Zeitlin's avatar
      Extract common part of MySQL and ODBC MySQL tests in a header. · ba206ede
      Vadim Zeitlin authored
      This makes it possible to reuse various MySQL-specific workarounds for both
      tests without duplicating the not always trivial code.
      
      As a side effect, fixes ODBC MySQL test which didn't pass any more since the
      addition of exact double equality checks, making it use the same has_fp_bug()
      as the MySQL test skips the failing test for it too now.
      ba206ede
  22. 20 Apr, 2015 1 commit
  23. 15 Apr, 2015 1 commit
    • Vadim Zeitlin's avatar
      Fix a clash between CATCH test cases defined in different files. · ee0b9e4e
      Vadim Zeitlin authored
      Put the common test cases in their own namespace to avoid a clash between the
      tests defined in soci::tests (which is brought into scope via using
      directive by all the backend-specific files) and the tests defined in the
      backend test sources if they happen to start at the same line.
      
      This is just a workaround and a proper solution would, of course, be to move
      the tests out of the header at all but this will have to wait.
      ee0b9e4e
  24. 14 Apr, 2015 1 commit
  25. 01 Apr, 2015 5 commits