// // AbstractBinder.cpp // // Library: Data // Package: DataCore // Module: AbstractBinder // // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. // and Contributors. // // SPDX-License-Identifier: BSL-1.0 // #include "Poco/Data/AbstractBinder.h" #include "Poco/Data/Date.h" #include "Poco/Data/Time.h" #include "Poco/Data/LOB.h" #include "Poco/Data/Transcoder.h" #include "Poco/Data/DataException.h" #include "Poco/DateTime.h" #include "Poco/Any.h" #include "Poco/Dynamic/Var.h" namespace Poco { namespace Data { AbstractBinder::AbstractBinder(Poco::TextEncoding::Ptr pFromEncoding, Poco::TextEncoding::Ptr pDBEncoding) : _pTranscoder(Transcoder::create(pFromEncoding, pDBEncoding)) { } AbstractBinder::~AbstractBinder() { } void AbstractBinder::transcode(const std::string& from, std::string& to) { if (_pTranscoder) _pTranscoder->transcode(from, to); } void AbstractBinder::reverseTranscode(const std::string& from, std::string& to) { if (_pTranscoder) _pTranscoder->reverseTranscode(from, to); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } #ifndef POCO_INT64_IS_LONG void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } #endif void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const UTF16String& val, Direction dir) { throw NotImplementedException("UTF16String binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector& val, Direction dir) { throw NotImplementedException("std::vector binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::deque& val, Direction dir) { throw NotImplementedException("std::deque binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::list& val, Direction dir) { throw NotImplementedException("std::list binder must be implemented."); } void AbstractBinder::bind(std::size_t pos, const std::vector