IGNITE-2223: SQL types constants separated.

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0b8487f1
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0b8487f1
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0b8487f1

Branch: refs/heads/ignite-1786
Commit: 0b8487f1b6908d396c1a3c76acb7fa66176b1b2a
Parents: f4ccbe6
Author: isapego <[email protected]>
Authored: Tue Jan 12 18:06:51 2016 +0300
Committer: isapego <[email protected]>
Committed: Tue Jan 12 18:06:51 2016 +0300

----------------------------------------------------------------------
 .../include/ignite/odbc/common_types.h          | 18 ++++++++++++
 .../cpp/odbc/odbc-driver/src/common_types.cpp   |  6 ++++
 .../src/query/column_metadata_query.cpp         | 28 ++++++++----------
 .../src/query/foreign_keys_query.cpp            | 31 +++++++++-----------
 .../src/query/primary_keys_query.cpp            | 15 ++++------
 .../src/query/table_metadata_query.cpp          | 12 ++++----
 .../platforms/cpp/odbc/odbc-driver/src/row.cpp  |  3 +-
 .../cpp/odbc/odbc-driver/src/utility.cpp        |  4 ++-
 8 files changed, 66 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/0b8487f1/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 c656fae..a364791 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
@@ -20,11 +20,29 @@
 
 #include <stdint.h>
 
+#include <string>
+
 namespace ignite
 {
     namespace odbc
     {
         /**
+         * SQL type name constants.
+         */
+        class SqlTypeName
+        {
+        public:
+            /** VARCHAR SQL type name constant. */
+            static const std::string varcharType;
+
+            /** SMALLINT SQL type name constant. */
+            static const std::string smallintType;
+
+            /** INTEGER SQL type name constant. */
+            static const std::string integerType;
+        };
+
+        /**
          * SQL result.
          */
         enum SqlResult

http://git-wip-us.apache.org/repos/asf/ignite/blob/0b8487f1/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 2b7144b..db2353d 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/common_types.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/common_types.cpp
@@ -22,6 +22,12 @@ namespace ignite
 {
     namespace odbc
     {
+        const std::string SqlTypeName::varcharType("VARCHAR");
+
+        const std::string SqlTypeName::smallintType("SMALLINT");
+
+        const std::string SqlTypeName::integerType("INTEGER");
+
         int SqlResultToReturnCode(SqlResult result)
         {
             switch (result)

http://git-wip-us.apache.org/repos/asf/ignite/blob/0b8487f1/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 de531f2..458679a 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,22 +90,18 @@ namespace ignite
                 const std::string sch("");
                 const std::string tbl("");
 
-                const std::string varcharType("java.lang.String");
-                const std::string smallintType("java.lang.Short");
-                const std::string integerType("java.lang.Integer");
-
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_CAT",      
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_SCHEM",    
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_NAME",     
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "COLUMN_NAME",    
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "DATA_TYPE",      
smallintType, IGNITE_TYPE_SHORT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TYPE_NAME",      
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "COLUMN_SIZE",    
integerType,  IGNITE_TYPE_INT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "BUFFER_LENGTH",  
integerType,  IGNITE_TYPE_INT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "DECIMAL_DIGITS", 
smallintType, IGNITE_TYPE_SHORT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "NUM_PREC_RADIX", 
smallintType, IGNITE_TYPE_SHORT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "NULLABLE",       
smallintType, IGNITE_TYPE_SHORT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "REMARKS",        
varcharType,  IGNITE_TYPE_STRING));
+                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));
             }
 
             ColumnMetadataQuery::~ColumnMetadataQuery()

http://git-wip-us.apache.org/repos/asf/ignite/blob/0b8487f1/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 720a6a3..33cc440 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,23 +51,20 @@ namespace ignite
                 const std::string sch("");
                 const std::string tbl("");
 
-                const std::string varcharType("java.lang.String");
-                const std::string smallintType("java.lang.Short");
-
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "PKTABLE_CAT",   
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "PKTABLE_SCHEM", 
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "PKTABLE_NAME",  
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "PKCOLUMN_NAME", 
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "FKTABLE_CAT",   
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "FKTABLE_SCHEM", 
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "FKTABLE_NAME",  
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "FKCOLUMN_NAME", 
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "KEY_SEQ",       
smallintType, IGNITE_TYPE_SHORT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "UPDATE_RULE",   
smallintType, IGNITE_TYPE_SHORT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "DELETE_RULE",   
smallintType, IGNITE_TYPE_SHORT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "FK_NAME",       
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "PK_NAME",       
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "DEFERRABILITY", 
smallintType, IGNITE_TYPE_SHORT));
+                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));
             }
 
             ForeignKeysQuery::~ForeignKeysQuery()

http://git-wip-us.apache.org/repos/asf/ignite/blob/0b8487f1/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 0b9b523..27e76ac 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,15 +71,12 @@ namespace ignite
                 const std::string sch("");
                 const std::string tbl("");
 
-                const std::string varcharType("java.lang.String");
-                const std::string smallintType("java.lang.Short");
-
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_CAT",   
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_SCHEM", 
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_NAME",  
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "COLUMN_NAME", 
varcharType,  IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "KEY_SEQ",     
smallintType, IGNITE_TYPE_SHORT));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "PK_NAME",     
varcharType,  IGNITE_TYPE_STRING));
+                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));
             }
 
             PrimaryKeysQuery::~PrimaryKeysQuery()

http://git-wip-us.apache.org/repos/asf/ignite/blob/0b8487f1/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 1d1d747..e07da2e 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,13 +70,11 @@ namespace ignite
                 const std::string sch("");
                 const std::string tbl("");
 
-                const std::string varcharType("java.lang.String");
-
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_CAT",   
varcharType, IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_SCHEM", 
varcharType, IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_NAME",  
varcharType, IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "TABLE_TYPE",  
varcharType, IGNITE_TYPE_STRING));
-                columnsMeta.push_back(ColumnMeta(sch, tbl, "REMARKS",     
varcharType, IGNITE_TYPE_STRING));
+                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));
             }
 
             TableMetadataQuery::~TableMetadataQuery()

http://git-wip-us.apache.org/repos/asf/ignite/blob/0b8487f1/modules/platforms/cpp/odbc/odbc-driver/src/row.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/src/row.cpp 
b/modules/platforms/cpp/odbc/odbc-driver/src/row.cpp
index c1ddcb1..d048674 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/row.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/row.cpp
@@ -213,7 +213,7 @@ namespace ignite
 
                     utility::ReadDecimal(reader, res);
 
-                    //dataBuf.putDecimal(res);
+                    dataBuf.PutDecimal(res);
 
                     break;
                 }
@@ -296,6 +296,7 @@ namespace ignite
                 case IGNITE_TYPE_UUID:
                 {
                     Guid guid = reader.ReadGuid();
+
                     break;
                 }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/0b8487f1/modules/platforms/cpp/odbc/odbc-driver/src/utility.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/src/utility.cpp 
b/modules/platforms/cpp/odbc/odbc-driver/src/utility.cpp
index c7210c3..6f4ac22 100644
--- a/modules/platforms/cpp/odbc/odbc-driver/src/utility.cpp
+++ b/modules/platforms/cpp/odbc/odbc-driver/src/utility.cpp
@@ -17,6 +17,8 @@
 
 #include <cassert>
 
+#include <ignite/impl/binary/binary_utils.h>
+
 #include "ignite/odbc/utility.h"
 #include "ignite/odbc/system/odbc_constants.h"
 
@@ -75,7 +77,7 @@ namespace ignite
 
             mag.resize(len);
 
-            reader.ReadInt8Array(mag.data(), static_cast<int32_t>(mag.size()));
+            impl::binary::BinaryUtils::ReadInt8Array(reader.GetStream(), 
mag.data(), static_cast<int32_t>(mag.size()));
 
             Decimal res(scale, mag.data(), static_cast<int32_t>(mag.size()));
 

Reply via email to