diff --git a/Data/Data_VS80.vcproj b/Data/Data_VS80.vcproj
index 9698ec5cd..8d486e8f0 100644
--- a/Data/Data_VS80.vcproj
+++ b/Data/Data_VS80.vcproj
@@ -249,6 +249,18 @@
RelativePath=".\include\Poco\Data\BLOBStream.h"
>
+
+
+
+
+
+
@@ -281,6 +293,10 @@
RelativePath=".\include\Poco\Data\MetaColumn.h"
>
+
+
@@ -329,10 +345,6 @@
RelativePath=".\include\Poco\Data\StatementImpl.h"
>
-
-
@@ -377,6 +389,10 @@
RelativePath=".\src\BLOBStream.cpp"
>
+
+
@@ -397,6 +413,10 @@
RelativePath=".\src\MetaColumn.cpp"
>
+
+
@@ -441,10 +461,6 @@
RelativePath=".\src\StatementImpl.cpp"
>
-
-
diff --git a/Data/Makefile b/Data/Makefile
index dbb35dbc6..81bcd54bf 100644
--- a/Data/Makefile
+++ b/Data/Makefile
@@ -9,13 +9,12 @@
include $(POCO_BASE)/build/rules/global
objects = AbstractBinder AbstractBinding AbstractExtraction \
- AbstractExtractor AbstractPreparation AbstractPrepare \
+ AbstractExtractor AbstractPreparation AbstractPrepare Bulk \
Connector BLOB BLOBStream DataException Date Limit MetaColumn \
- PooledSessionHolder PooledSessionImpl \
+ PooledSessionHolder PooledSessionImpl Position \
Range RecordSet Row RowFormatter RowIterator \
Session SessionFactory SessionImpl \
- SessionPool Statement StatementCreator StatementImpl \
- Step Time
+ SessionPool Statement StatementCreator StatementImpl Time
target = PocoData
target_version = $(LIBVERSION)
diff --git a/Data/ODBC/Makefile b/Data/ODBC/Makefile
index 6c77fff19..4893db2e5 100644
--- a/Data/ODBC/Makefile
+++ b/Data/ODBC/Makefile
@@ -17,8 +17,8 @@ $(error No ODBC library found. Please install unixODBC or iODBC and try again)
endif
objects = Binder ConnectionHandle Connector EnvironmentHandle \
- Extractor ODBCColumn ODBCException ODBCStatementImpl Parameter Preparation \
- SessionImpl TypeInfo Unicode Utility
+ Extractor ODBCColumn ODBCException ODBCStatementImpl \
+ Parameter Preparation SessionImpl TypeInfo Unicode Utility
target = PocoODBC
target_version = $(LIBVERSION)
diff --git a/Data/ODBC/include/Poco/Data/ODBC/Binder.h b/Data/ODBC/include/Poco/Data/ODBC/Binder.h
index a60db404d..9714ece28 100644
--- a/Data/ODBC/include/Poco/Data/ODBC/Binder.h
+++ b/Data/ODBC/include/Poco/Data/ODBC/Binder.h
@@ -81,6 +81,7 @@ public:
};
Binder(const StatementHandle& rStmt,
+ std::size_t maxFieldSize,
ParameterBinding dataBinding = PB_IMMEDIATE,
TypeInfo* pDataTypes = 0);
/// Creates the Binder.
@@ -91,62 +92,119 @@ public:
void bind(std::size_t pos, const Poco::Int8& val, Direction dir);
/// Binds an Int8.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds an Int8 vector.
+
void bind(std::size_t pos, const Poco::UInt8& val, Direction dir);
/// Binds an UInt8.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds an UInt8 vector.
+
void bind(std::size_t pos, const Poco::Int16& val, Direction dir);
/// Binds an Int16.
+
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds an Int16 vector.
void bind(std::size_t pos, const Poco::UInt16& val, Direction dir);
/// Binds an UInt16.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds an UInt16 vector.
+
void bind(std::size_t pos, const Poco::Int32& val, Direction dir);
/// Binds an Int32.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds an Int32 vector.
+
void bind(std::size_t pos, const Poco::UInt32& val, Direction dir);
/// Binds an UInt32.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds an UInt32 vector.
+
void bind(std::size_t pos, const Poco::Int64& val, Direction dir);
/// Binds an Int64.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds an Int64 vector.
+
void bind(std::size_t pos, const Poco::UInt64& val, Direction dir);
/// Binds an UInt64.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds an UInt64 vector.
+
#ifndef POCO_LONG_IS_64_BIT
void bind(std::size_t pos, const long& val, Direction dir);
/// Binds a long.
+
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds a long vector.
#endif
void bind(std::size_t pos, const bool& val, Direction dir);
/// Binds a boolean.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds a boolean vector.
+
void bind(std::size_t pos, const float& val, Direction dir);
/// Binds a float.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds a float vector.
+
void bind(std::size_t pos, const double& val, Direction dir);
/// Binds a double.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds a double vector.
+
void bind(std::size_t pos, const char& val, Direction dir);
/// Binds a single character.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds a character vector.
+
void bind(std::size_t pos, const std::string& val, Direction dir);
/// Binds a string.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds a string vector.
+
void bind(std::size_t pos, const BLOB& val, Direction dir);
/// Binds a BLOB. In-bound only.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds a BLOB vector. In-bound only.
+
void bind(std::size_t pos, const Date& val, Direction dir);
/// Binds a Date.
+ void bind(std::size_t pos, const std::vector& val, Direction dir);
+ /// Binds a Date vector.
+
void bind(std::size_t pos, const Time& val, Direction dir);
/// Binds a Time.
+ void bind(std::size_t pos, const std::vector