You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/01/25 12:55:42 UTC
[40/50] ignite git commit: IGNITE-2243: SQL_ATTR_OUTPUT_NTS
implemented.
IGNITE-2243: SQL_ATTR_OUTPUT_NTS implemented.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0346daf3
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0346daf3
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0346daf3
Branch: refs/heads/ignite-1786
Commit: 0346daf3739cc77c0ad9c0181533730e444350d4
Parents: b60b3dc
Author: isapego <is...@gridgain.com>
Authored: Wed Jan 20 21:28:19 2016 +0300
Committer: isapego <is...@gridgain.com>
Committed: Wed Jan 20 21:28:19 2016 +0300
----------------------------------------------------------------------
.../include/ignite/odbc/common_types.h | 7 +++--
.../include/ignite/odbc/environment.h | 3 ++
.../cpp/odbc/odbc-driver/src/common_types.cpp | 3 ++
.../cpp/odbc/odbc-driver/src/environment.cpp | 30 ++++++++++++++++++--
4 files changed, 38 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/0346daf3/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/common_types.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/common_types.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/common_types.h
index e79a572..c065872 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/common_types.h
+++ b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/common_types.h
@@ -186,8 +186,11 @@ namespace ignite
/** ODBC attribute is unknown to the driver. */
IGNITE_SQL_ENV_ATTR_UNKNOWN,
- /** ODBC attribute. */
- IGNITE_SQL_ENV_ATTR_ODBC_VERSION
+ /** ODBC version. */
+ IGNITE_SQL_ENV_ATTR_ODBC_VERSION,
+
+ /** Null-termination of strings. */
+ IGNITE_SQL_ENV_ATTR_OUTPUT_NTS
};
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/0346daf3/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/environment.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/environment.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/environment.h
index a9c4889..7168aa3 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/environment.h
+++ b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/environment.h
@@ -127,6 +127,9 @@ namespace ignite
/** ODBC version. */
int32_t odbcVersion;
+
+ /** ODBC null-termintaion of string behaviour. */
+ int32_t odbcNts;
};
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/0346daf3/modules/platforms/cpp/odbc/odbc-driver/src/common_types.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/src/common_types.cpp b/modules/platforms/cpp/odbc/odbc-driver/src/common_types.cpp
index 83bfe4c..276d9fd 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/common_types.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/common_types.cpp
@@ -106,6 +106,9 @@ namespace ignite
case SQL_ATTR_ODBC_VERSION:
return IGNITE_SQL_ENV_ATTR_ODBC_VERSION;
+ case SQL_ATTR_OUTPUT_NTS:
+ return IGNITE_SQL_ENV_ATTR_OUTPUT_NTS;
+
default:
break;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/0346daf3/modules/platforms/cpp/odbc/odbc-driver/src/environment.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/src/environment.cpp b/modules/platforms/cpp/odbc/odbc-driver/src/environment.cpp
index 078d546..01f606f 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/environment.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/environment.cpp
@@ -24,7 +24,7 @@ namespace ignite
namespace odbc
{
Environment::Environment() :
- odbcVersion(SQL_OV_ODBC3)
+ odbcVersion(SQL_OV_ODBC3), odbcNts(SQL_TRUE)
{
// No-op.
}
@@ -105,7 +105,24 @@ namespace ignite
return SQL_RESULT_SUCCESS_WITH_INFO;
}
- break;
+ return SQL_RESULT_SUCCESS;
+ }
+
+ case IGNITE_SQL_ENV_ATTR_OUTPUT_NTS:
+ {
+ int32_t* nts = reinterpret_cast<int32_t*>(value);
+
+ if (*nts != odbcNts)
+ {
+ AddStatusRecord(SQL_STATE_01S02_OPTION_VALUE_CHANGED,
+ "Only null-termination of strings is supported.");
+
+ *nts = odbcNts;
+
+ return SQL_RESULT_SUCCESS_WITH_INFO;
+ }
+
+ return SQL_RESULT_SUCCESS;
}
case IGNITE_SQL_ENV_ATTR_UNKNOWN:
@@ -134,7 +151,14 @@ namespace ignite
{
buffer.PutInt32(odbcVersion);
- break;
+ return SQL_RESULT_SUCCESS;
+ }
+
+ case IGNITE_SQL_ENV_ATTR_OUTPUT_NTS:
+ {
+ buffer.PutInt32(odbcNts);
+
+ return SQL_RESULT_SUCCESS;
}
case IGNITE_SQL_ENV_ATTR_UNKNOWN: