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:19 UTC
[17/50] ignite git commit: IGNITE-2241: Get from Binary types SQL
type name.
IGNITE-2241: Get from Binary types SQL type name.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/34834c6c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/34834c6c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/34834c6c
Branch: refs/heads/ignite-1786
Commit: 34834c6c1706f3a58f85e51e5a1b7cb7e7560a5a
Parents: dd0ccaf
Author: isapego <is...@gridgain.com>
Authored: Wed Jan 13 16:46:37 2016 +0300
Committer: isapego <is...@gridgain.com>
Committed: Wed Jan 13 16:46:37 2016 +0300
----------------------------------------------------------------------
.../include/ignite/odbc/common_types.h | 119 ++++++++++++-------
.../cpp/odbc/odbc-driver/src/common_types.cpp | 91 +++++++++++++-
.../odbc/odbc-driver/src/meta/column_meta.cpp | 3 +-
.../src/query/column_metadata_query.cpp | 24 ++--
.../src/query/foreign_keys_query.cpp | 28 ++---
.../src/query/primary_keys_query.cpp | 12 +-
.../src/query/table_metadata_query.cpp | 10 +-
7 files changed, 204 insertions(+), 83 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/34834c6c/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 a364791..187568f 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
@@ -33,13 +33,40 @@ namespace ignite
{
public:
/** VARCHAR SQL type name constant. */
- static const std::string varcharType;
+ static const std::string VARCHAR;
/** SMALLINT SQL type name constant. */
- static const std::string smallintType;
+ static const std::string SMALLINT;
/** INTEGER SQL type name constant. */
- static const std::string integerType;
+ static const std::string INTEGER;
+
+ /** DECIMAL SQL type name constant. */
+ static const std::string DECIMAL;
+
+ /** FLOAT SQL type name constant. */
+ static const std::string FLOAT;
+
+ /** DOUBLE SQL type name constant. */
+ static const std::string DOUBLE;
+
+ /** BIT SQL type name constant. */
+ static const std::string BIT;
+
+ /** TINYINT SQL type name constant. */
+ static const std::string TINYINT;
+
+ /** BIGINT SQL type name constant. */
+ static const std::string BIGINT;
+
+ /** BINARY SQL type name constant. */
+ static const std::string BINARY;
+
+ /** DATE SQL type name constant. */
+ static const std::string DATE;
+
+ /** GUID SQL type name constant. */
+ static const std::string GUID;
};
/**
@@ -61,16 +88,8 @@ namespace ignite
};
/**
- * Convert internal Ignite type into ODBC SQL return code.
- *
- * @param result Internal result type.
- * @return ODBC result type.
- */
- int SqlResultToReturnCode(SqlResult result);
-
- /**
- * Provides detailed information about the cause of a warning or error.
- */
+ * Provides detailed information about the cause of a warning or error.
+ */
enum SqlState
{
/** Undefined state. Internal, should never be exposed to user. */
@@ -86,69 +105,69 @@ namespace ignite
SQL_STATE_24000_INVALID_CURSOR_STATE,
/**
- * The driver was unable to establish a connection with the data
- * source.
- */
+ * The driver was unable to establish a connection with the data
+ * source.
+ */
SQL_STATE_08001_CANNOT_CONNECT,
/**
- * The specified ConnectionHandle had already been used
- * to establish a connection with a data source, and the connection
- * was still open.
- */
+ * The specified ConnectionHandle had already been used
+ * to establish a connection with a data source, and the connection
+ * was still open.
+ */
SQL_STATE_08002_ALREADY_CONNECTED,
/** The connection specified was not open. */
SQL_STATE_08003_NOT_CONNECTED,
/**
- * An error occurred for which there was no specific SQLSTATE
- * and for which no implementation-specific SQLSTATE was defined.
- */
+ * An error occurred for which there was no specific SQLSTATE
+ * and for which no implementation-specific SQLSTATE was defined.
+ */
SQL_STATE_HY000_GENERAL_ERROR,
/**
- * The driver was unable to allocate memory for the specified
- * handle.
- */
+ * The driver was unable to allocate memory for the specified
+ * handle.
+ */
SQL_STATE_HY001_MEMORY_ALLOCATION,
/**
- * Function sequence error.
- */
+ * Function sequence error.
+ */
SQL_STATE_HY010_SEQUENCE_ERROR,
/**
- * The driver does not support the feature of ODBC behavior that
- * the application requested.
- */
+ * The driver does not support the feature of ODBC behavior that
+ * the application requested.
+ */
SQL_STATE_HYC00_OPTIONAL_FEATURE_NOT_IMPLEMENTED,
/**
- * The connection timeout period expired before the data source
- * responded to the request.
- */
+ * The connection timeout period expired before the data source
+ * responded to the request.
+ */
SQL_STATE_HYT01_CONNECTIOIN_TIMEOUT
};
/**
- * Diagnostic field type.
- */
+ * Diagnostic field type.
+ */
enum DiagnosticField
{
/** Header record field: Count of rows in the cursor. */
IGNITE_SQL_DIAG_HEADER_CURSOR_ROW_COUNT,
/**
- * Header record field: String that describes the SQL statement
- * that the underlying function executed.
- */
+ * Header record field: String that describes the SQL statement
+ * that the underlying function executed.
+ */
IGNITE_SQL_DIAG_HEADER_DYNAMIC_FUNCTION,
/**
- * Header record field: Numeric code that describes the SQL
- * statement that was executed by the underlying function.
- */
+ * Header record field: Numeric code that describes the SQL
+ * statement that was executed by the underlying function.
+ */
IGNITE_SQL_DIAG_HEADER_DYNAMIC_FUNCTION_CODE,
/** Header record field: Number of status records. */
@@ -192,6 +211,22 @@ namespace ignite
};
/**
+ * Get SQL type name for the binary type.
+ *
+ * @param binaryType Binary type.
+ * @return Corresponding SQL type name.
+ */
+ const std::string& BinaryTypeToSqlTypeName(int8_t binaryType);
+
+ /**
+ * Convert internal Ignite type into ODBC SQL return code.
+ *
+ * @param result Internal result type.
+ * @return ODBC result type.
+ */
+ int SqlResultToReturnCode(SqlResult result);
+
+ /**
* Convert ODBC field type to internal DiagnosticField type value.
*
* @param field ODBC field type.
http://git-wip-us.apache.org/repos/asf/ignite/blob/34834c6c/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 db2353d..f438717 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/common_types.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/common_types.cpp
@@ -15,6 +15,8 @@
* limitations under the License.
*/
+#include <ignite/impl/binary/binary_common.h>
+
#include "ignite/odbc/system/odbc_constants.h"
#include "ignite/odbc/common_types.h"
@@ -22,11 +24,94 @@ namespace ignite
{
namespace odbc
{
- const std::string SqlTypeName::varcharType("VARCHAR");
+ const std::string SqlTypeName::VARCHAR("LONG VARCHAR");
+
+ const std::string SqlTypeName::SMALLINT("SMALLINT");
+
+ const std::string SqlTypeName::INTEGER("INTEGER");
+
+ const std::string SqlTypeName::DECIMAL("DECIMAL");
+
+ const std::string SqlTypeName::FLOAT("FLOAT");
+
+ const std::string SqlTypeName::DOUBLE("DOUBLE");
+
+ const std::string SqlTypeName::BIT("BIT");
+
+ const std::string SqlTypeName::TINYINT("TINYINT");
+
+ const std::string SqlTypeName::BIGINT("BIGINT");
- const std::string SqlTypeName::smallintType("SMALLINT");
+ const std::string SqlTypeName::BINARY("LONG VARBINARY");
- const std::string SqlTypeName::integerType("INTEGER");
+ const std::string SqlTypeName::DATE("DATE");
+
+ const std::string SqlTypeName::GUID("GUID");
+
+ const std::string& BinaryTypeToSqlTypeName(int8_t binaryType)
+ {
+ using namespace ignite::impl::binary;
+
+ switch (binaryType)
+ {
+ case IGNITE_TYPE_STRING:
+ return SqlTypeName::VARCHAR;
+
+ case IGNITE_TYPE_SHORT:
+ return SqlTypeName::SMALLINT;
+
+ case IGNITE_TYPE_INT:
+ return SqlTypeName::INTEGER;
+
+ case IGNITE_TYPE_DECIMAL:
+ return SqlTypeName::DECIMAL;
+
+ case IGNITE_TYPE_FLOAT:
+ return SqlTypeName::FLOAT;
+
+ case IGNITE_TYPE_DOUBLE:
+ return SqlTypeName::DOUBLE;
+
+ case IGNITE_TYPE_BOOL:
+ return SqlTypeName::BIT;
+
+ case IGNITE_TYPE_BYTE:
+ case IGNITE_TYPE_CHAR:
+ return SqlTypeName::TINYINT;
+
+ case IGNITE_TYPE_LONG:
+ return SqlTypeName::BIGINT;
+
+ case IGNITE_TYPE_UUID:
+ return SqlTypeName::GUID;
+
+ case IGNITE_TYPE_DATE:
+ return SqlTypeName::DATE;
+
+ case IGNITE_TYPE_OBJECT:
+ case IGNITE_TYPE_ARRAY_BYTE:
+ case IGNITE_TYPE_ARRAY_SHORT:
+ case IGNITE_TYPE_ARRAY_INT:
+ case IGNITE_TYPE_ARRAY_LONG:
+ case IGNITE_TYPE_ARRAY_FLOAT:
+ case IGNITE_TYPE_ARRAY_DOUBLE:
+ case IGNITE_TYPE_ARRAY_CHAR:
+ case IGNITE_TYPE_ARRAY_BOOL:
+ case IGNITE_TYPE_ARRAY_DECIMAL:
+ case IGNITE_TYPE_ARRAY_STRING:
+ case IGNITE_TYPE_ARRAY_UUID:
+ case IGNITE_TYPE_ARRAY_DATE:
+ case IGNITE_TYPE_ARRAY:
+ case IGNITE_TYPE_COLLECTION:
+ case IGNITE_TYPE_MAP:
+ case IGNITE_TYPE_MAP_ENTRY:
+ case IGNITE_TYPE_BINARY:
+ default:
+ return SqlTypeName::BINARY;
+ }
+
+ return SqlTypeName::BINARY;
+ }
int SqlResultToReturnCode(SqlResult result)
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/34834c6c/modules/platforms/cpp/odbc/odbc-driver/src/meta/column_meta.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/src/meta/column_meta.cpp b/modules/platforms/cpp/odbc/odbc-driver/src/meta/column_meta.cpp
index bea764e..b2eff6a 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/meta/column_meta.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/meta/column_meta.cpp
@@ -18,6 +18,7 @@
#include "ignite/odbc/system/odbc_constants.h"
#include "ignite/odbc/meta/column_meta.h"
#include "ignite/odbc/type_traits.h"
+#include "ignite/odbc/common_types.h"
namespace ignite
{
@@ -131,7 +132,7 @@ namespace ignite
case SQL_DESC_TYPE_NAME:
case SQL_DESC_LOCAL_TYPE_NAME:
{
- value = typeName;
+ value = BinaryTypeToSqlTypeName(dataType);
return true;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/34834c6c/modules/platforms/cpp/odbc/odbc-driver/src/query/column_metadata_query.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/src/query/column_metadata_query.cpp b/modules/platforms/cpp/odbc/odbc-driver/src/query/column_metadata_query.cpp
index a624fb5..a17fd36 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/query/column_metadata_query.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/query/column_metadata_query.cpp
@@ -90,18 +90,18 @@ namespace ignite
const std::string sch("");
const std::string tbl("");
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_CAT", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_SCHEM", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "COLUMN_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "DATA_TYPE", SqlTypeName::smallintType, IGNITE_TYPE_SHORT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TYPE_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "COLUMN_SIZE", SqlTypeName::integerType, IGNITE_TYPE_INT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "BUFFER_LENGTH", SqlTypeName::integerType, IGNITE_TYPE_INT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "DECIMAL_DIGITS", SqlTypeName::smallintType, IGNITE_TYPE_SHORT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "NUM_PREC_RADIX", SqlTypeName::smallintType, IGNITE_TYPE_SHORT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "NULLABLE", SqlTypeName::smallintType, IGNITE_TYPE_SHORT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "REMARKS", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_CAT", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_SCHEM", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "COLUMN_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "DATA_TYPE", SqlTypeName::SMALLINT, IGNITE_TYPE_SHORT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TYPE_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "COLUMN_SIZE", SqlTypeName::INTEGER, IGNITE_TYPE_INT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "BUFFER_LENGTH", SqlTypeName::INTEGER, IGNITE_TYPE_INT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "DECIMAL_DIGITS", SqlTypeName::SMALLINT, IGNITE_TYPE_SHORT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "NUM_PREC_RADIX", SqlTypeName::SMALLINT, IGNITE_TYPE_SHORT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "NULLABLE", SqlTypeName::SMALLINT, IGNITE_TYPE_SHORT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "REMARKS", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
}
ColumnMetadataQuery::~ColumnMetadataQuery()
http://git-wip-us.apache.org/repos/asf/ignite/blob/34834c6c/modules/platforms/cpp/odbc/odbc-driver/src/query/foreign_keys_query.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/src/query/foreign_keys_query.cpp b/modules/platforms/cpp/odbc/odbc-driver/src/query/foreign_keys_query.cpp
index 33cc440..7fb16ce 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/query/foreign_keys_query.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/query/foreign_keys_query.cpp
@@ -51,20 +51,20 @@ namespace ignite
const std::string sch("");
const std::string tbl("");
- columnsMeta.push_back(ColumnMeta(sch, tbl, "PKTABLE_CAT", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "PKTABLE_SCHEM", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "PKTABLE_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "PKCOLUMN_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "FKTABLE_CAT", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "FKTABLE_SCHEM", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "FKTABLE_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "FKCOLUMN_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "KEY_SEQ", SqlTypeName::smallintType, IGNITE_TYPE_SHORT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "UPDATE_RULE", SqlTypeName::smallintType, IGNITE_TYPE_SHORT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "DELETE_RULE", SqlTypeName::smallintType, IGNITE_TYPE_SHORT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "FK_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "PK_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "DEFERRABILITY", SqlTypeName::smallintType, IGNITE_TYPE_SHORT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "PKTABLE_CAT", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "PKTABLE_SCHEM", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "PKTABLE_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "PKCOLUMN_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "FKTABLE_CAT", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "FKTABLE_SCHEM", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "FKTABLE_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "FKCOLUMN_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "KEY_SEQ", SqlTypeName::SMALLINT, IGNITE_TYPE_SHORT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "UPDATE_RULE", SqlTypeName::SMALLINT, IGNITE_TYPE_SHORT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "DELETE_RULE", SqlTypeName::SMALLINT, IGNITE_TYPE_SHORT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "FK_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "PK_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "DEFERRABILITY", SqlTypeName::SMALLINT, IGNITE_TYPE_SHORT));
}
ForeignKeysQuery::~ForeignKeysQuery()
http://git-wip-us.apache.org/repos/asf/ignite/blob/34834c6c/modules/platforms/cpp/odbc/odbc-driver/src/query/primary_keys_query.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/src/query/primary_keys_query.cpp b/modules/platforms/cpp/odbc/odbc-driver/src/query/primary_keys_query.cpp
index 27e76ac..0b7ad9d 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/query/primary_keys_query.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/query/primary_keys_query.cpp
@@ -71,12 +71,12 @@ namespace ignite
const std::string sch("");
const std::string tbl("");
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_CAT", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_SCHEM", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "COLUMN_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "KEY_SEQ", SqlTypeName::smallintType, IGNITE_TYPE_SHORT));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "PK_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_CAT", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_SCHEM", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "COLUMN_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "KEY_SEQ", SqlTypeName::SMALLINT, IGNITE_TYPE_SHORT));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "PK_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
}
PrimaryKeysQuery::~PrimaryKeysQuery()
http://git-wip-us.apache.org/repos/asf/ignite/blob/34834c6c/modules/platforms/cpp/odbc/odbc-driver/src/query/table_metadata_query.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/src/query/table_metadata_query.cpp b/modules/platforms/cpp/odbc/odbc-driver/src/query/table_metadata_query.cpp
index e07da2e..779eb22 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/query/table_metadata_query.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/query/table_metadata_query.cpp
@@ -70,11 +70,11 @@ namespace ignite
const std::string sch("");
const std::string tbl("");
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_CAT", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_SCHEM", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_NAME", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_TYPE", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
- columnsMeta.push_back(ColumnMeta(sch, tbl, "REMARKS", SqlTypeName::varcharType, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_CAT", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_SCHEM", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_NAME", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_TYPE", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
+ columnsMeta.push_back(ColumnMeta(sch, tbl, "REMARKS", SqlTypeName::VARCHAR, IGNITE_TYPE_STRING));
}
TableMetadataQuery::~TableMetadataQuery()