1. 05 Nov, 2015 1 commit
  2. 21 Oct, 2015 1 commit
  3. 16 Oct, 2015 1 commit
  4. 13 Oct, 2015 1 commit
  5. 08 Oct, 2015 2 commits
  6. 07 Oct, 2015 1 commit
  7. 30 Sep, 2015 1 commit
  8. 27 Sep, 2015 6 commits
  9. 24 Sep, 2015 1 commit
  10. 15 Sep, 2015 1 commit
  11. 08 Aug, 2015 1 commit
  12. 19 Jul, 2015 1 commit
  13. 15 Jul, 2015 5 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
      Explicitly set character set in Firebird unit tests for CHAR(N). · 274d08a7
      Miha Ravselj authored
      Without an explicit "character set none", the default character set of the
      database is used and if it is set to UTF-8 the values are padded incorrectly
      resulting in the test failures.
      
      See #356.
      274d08a7
    • 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
    • Vadim Zeitlin's avatar
      Fix inserting strings longer than 8000 bytes with ODBC/MS SQL. · c025cc86
      Vadim Zeitlin authored
      Use SQL_LONGVARCHAR and SQL_SS_LENGTH_UNLIMITED for such strings, otherwise
      they were silently truncated when inserting them into an nvarchar(max) column.
      
      See #287.
      c025cc86
  14. 10 Jul, 2015 1 commit
  15. 13 Jun, 2015 1 commit
  16. 28 May, 2015 1 commit
  17. 22 May, 2015 1 commit
  18. 19 May, 2015 3 commits
  19. 18 May, 2015 1 commit
  20. 08 May, 2015 1 commit
  21. 21 Apr, 2015 3 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
    • Vadim Zeitlin's avatar
      Replace left over asserts with CATCH CHECK in the tests code. · 4b4cecb9
      Vadim Zeitlin authored
      This should have been part of 246f6579 but was
      forgotten in it.
      4b4cecb9
  22. 20 Apr, 2015 1 commit
  23. 17 Apr, 2015 1 commit
  24. 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
  25. 14 Apr, 2015 1 commit
  26. 10 Apr, 2015 1 commit