diff --git a/catalogue/CMakeLists.txt b/catalogue/CMakeLists.txt index 70b532b25018e682a757e9e647a7f6663a523789..60a931aa7fe7f8dd39b37adb75ba98ac0b8a9e94 100644 --- a/catalogue/CMakeLists.txt +++ b/catalogue/CMakeLists.txt @@ -97,7 +97,7 @@ add_custom_command (OUTPUT sqlite_catalogue_schema.sql mysql_catalogue_schema.sq ${CMAKE_CURRENT_SOURCE_DIR}/mysql_catalogue_schema_header.sql ${CMAKE_CURRENT_SOURCE_DIR}/common_catalogue_schema.sql ${CMAKE_CURRENT_SOURCE_DIR}/mysql_catalogue_schema_trailer.sql - | sed 's/CHECKSUM_BLOB_TYPE/RAWBINARY\(200\)/g' + | sed 's/CHECKSUM_BLOB_TYPE/VARBINARY\(200\)/g' > mysql_catalogue_schema.sql COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/oracle_catalogue_schema_header.sql diff --git a/rdbms/wrapper/MysqlRset.cpp b/rdbms/wrapper/MysqlRset.cpp index af938ea06fa17b31aab1cae4ff095fc93c0b2fa3..ee45544fba3c269359e8da4a089b412232dff518 100644 --- a/rdbms/wrapper/MysqlRset.cpp +++ b/rdbms/wrapper/MysqlRset.cpp @@ -79,7 +79,6 @@ bool MysqlRset::next() { } return true; - // throw exception::Exception(std::string(__FUNCTION__) + " not implemented."); } //------------------------------------------------------------------------------ @@ -97,7 +96,8 @@ bool MysqlRset::columnIsNull(const std::string &colName) const { } std::string MysqlRset::columnBlob(const std::string &colName) const { - throw exception::Exception("MysqlRset::columnBlob not implemented."); + auto blob = columnOptionalString(colName); + return blob ? *blob : std::string(); } //------------------------------------------------------------------------------ diff --git a/rdbms/wrapper/MysqlStmt.cpp b/rdbms/wrapper/MysqlStmt.cpp index a86c9cf9cec711cb650522a86a36693ec44a91f4..d4d2246369baffc184965c2a8d5b4f632b34e279 100644 --- a/rdbms/wrapper/MysqlStmt.cpp +++ b/rdbms/wrapper/MysqlStmt.cpp @@ -261,7 +261,11 @@ void MysqlStmt::bindOptionalDouble(const std::string ¶mName, const optional< } void MysqlStmt::bindBlob(const std::string ¶mName, const std::string ¶mValue) { - throw exception::Exception("MysqlStmt::bindBlob not implemented."); + try { + bindOptionalString(paramName, paramValue); + } catch(exception::Exception &ex) { + throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str()); + } } //------------------------------------------------------------------------------