Files
poco/Data/src/AbstractExtractor.cpp
Aleksandar Fabijanic 9530a77347 Insert NULL using BULK #4001 (#4755)
* fix(ODBC): Insert NULL using BULK #4001
resolve bound types and sizes at compile time

* fix: remove string suffix for static_assert

* Insert NULL using BULK #4001

* fix: typo

* fix(SQLite): missing functions; consolidate extract calls

* chore(SQLite): remove unnecessary typedef

* fix(SQLite): remove duplicate functions

* fix(SQLite): compile errors and warnings

* fix(SQLite): extract implementation signatures

* fix(SQLite): long64 platforms compile errors

* fix(SQLite): long64 platforms compile errors, part ii

* fix(ODBC): windows build

* fix(ODBC): MSSQL big string on windows

* fix(Data): psql and mysql compile errors

* fix(PostgreSQL): add missing functions

* fix(ODBC): revert column size discovery (breaks Oracle)

* fix(PostgreSQL): Nullable extraction #4001

* fix(MySQL): Nullable extraction #4001

* chore(Data): code tidy up

* fix(ODBC): add missing changes
2024-11-11 18:23:21 +01:00

239 lines
4.9 KiB
C++

//
// AbstractExtractor.cpp
//
// Library: Data
// Package: DataCore
// Module: AbstractExtractor
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Data/AbstractExtractor.h"
#include "Poco/Data/Transcoder.h"
#include "Poco/Exception.h"
namespace Poco {
namespace Data {
AbstractExtractor::AbstractExtractor(Poco::TextEncoding::Ptr pDBEncoding,
Poco::TextEncoding::Ptr pToEncoding):
_pTranscoder(Transcoder::create(pDBEncoding, pToEncoding))
{
}
AbstractExtractor::~AbstractExtractor()
{
}
void AbstractExtractor::transcode(const std::string& from, std::string& to)
{
if (_pTranscoder)
_pTranscoder->transcode(from, to);
}
void AbstractExtractor::reverseTranscode(const std::string& from, std::string& to)
{
if (_pTranscoder)
_pTranscoder->reverseTranscode(from, to);
}
bool AbstractExtractor::extract(std::size_t pos, UTF16String& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, std::vector<UTF16String>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, std::deque<UTF16String>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, std::list<UTF16String>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, std::vector<UUID>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, std::deque<UUID>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, std::list<UUID>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Poco::Int8>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Poco::UInt8>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Poco::Int16>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Poco::UInt16>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Poco::Int32>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Poco::UInt32>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Poco::Int64>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Poco::UInt64>& val)
{
throw NotImplementedException(poco_src_loc);
}
#ifndef POCO_INT64_IS_LONG
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<long>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<unsigned long>& val)
{
throw NotImplementedException(poco_src_loc);
}
#endif
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<bool>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<float>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<double>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<char>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<std::string>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<UTF16String>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<BLOB>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<CLOB>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<DateTime>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Date>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Time>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<UUID>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Any>& val)
{
throw NotImplementedException(poco_src_loc);
}
bool AbstractExtractor::extract(std::size_t pos, Poco::Nullable<Poco::Dynamic::Var>& val)
{
throw NotImplementedException(poco_src_loc);
}
} } // namespace Poco::Data