http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/include/ignite/odbc/query/primary_keys_query.h
----------------------------------------------------------------------
diff --git 
a/modules/platforms/cpp/odbc/include/ignite/odbc/query/primary_keys_query.h 
b/modules/platforms/cpp/odbc/include/ignite/odbc/query/primary_keys_query.h
index 5cb7b6e..65bac33 100644
--- a/modules/platforms/cpp/odbc/include/ignite/odbc/query/primary_keys_query.h
+++ b/modules/platforms/cpp/odbc/include/ignite/odbc/query/primary_keys_query.h
@@ -57,7 +57,7 @@ namespace ignite
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Execute();
+                virtual SqlResult::Type Execute();
 
                 /**
                  * Get column metadata.
@@ -71,7 +71,7 @@ namespace ignite
                  *
                  * @return Operation result.
                  */
-                virtual SqlResult FetchNextRow(app::ColumnBindingMap& 
columnBindings);
+                virtual SqlResult::Type FetchNextRow(app::ColumnBindingMap& 
columnBindings);
 
                 /**
                  * Get data of the specified column in the result set.
@@ -80,14 +80,14 @@ namespace ignite
                  * @param buffer Buffer to put column data to.
                  * @return Operation result.
                  */
-                virtual SqlResult GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
+                virtual SqlResult::Type GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
 
                 /**
                  * Close query.
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Close();
+                virtual SqlResult::Type Close();
 
                 /**
                  * Check if data is available.

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/include/ignite/odbc/query/query.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/include/ignite/odbc/query/query.h 
b/modules/platforms/cpp/odbc/include/ignite/odbc/query/query.h
index 40be1ed..4959eaf 100644
--- a/modules/platforms/cpp/odbc/include/ignite/odbc/query/query.h
+++ b/modules/platforms/cpp/odbc/include/ignite/odbc/query/query.h
@@ -33,14 +33,11 @@ namespace ignite
     {
         namespace query
         {
-            /**
-             * Query.
-             */
-            class Query
+            /** Query type. */
+            struct QueryType
             {
-            public:
-                /** Query type. */
-                enum Type {
+                enum Type
+                {
                     /** Column metadata query type. */
                     COLUMN_METADATA,
 
@@ -62,7 +59,14 @@ namespace ignite
                     /** Type info query type. */
                     TYPE_INFO
                 };
+            };
 
+            /**
+             * Query.
+             */
+            class Query
+            {
+            public:
                 /**
                  * Destructor.
                  */
@@ -76,7 +80,7 @@ namespace ignite
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Execute() = 0;
+                virtual SqlResult::Type Execute() = 0;
 
                 /**
                  * Fetch next result row to application buffers.
@@ -84,7 +88,7 @@ namespace ignite
                  * @param columnBindings Application buffers to put data to.
                  * @return Operation result.
                  */
-                virtual SqlResult FetchNextRow(app::ColumnBindingMap& 
columnBindings) = 0;
+                virtual SqlResult::Type FetchNextRow(app::ColumnBindingMap& 
columnBindings) = 0;
 
                 /**
                  * Get data of the specified column in the result set.
@@ -93,14 +97,14 @@ namespace ignite
                  * @param buffer Buffer to put column data to.
                  * @return Operation result.
                  */
-                virtual SqlResult GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer) = 0;
+                virtual SqlResult::Type GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer) = 0;
 
                 /**
                  * Close query.
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Close() = 0;
+                virtual SqlResult::Type Close() = 0;
 
                 /**
                  * Get column metadata.
@@ -128,7 +132,7 @@ namespace ignite
                  *
                  * @return Query type.
                  */
-                Type GetType() const
+                QueryType::Type GetType() const
                 {
                     return type;
                 }
@@ -137,7 +141,7 @@ namespace ignite
                 /**
                  * Constructor.
                  */
-                Query(diagnostic::Diagnosable& diag, Type type) :
+                Query(diagnostic::Diagnosable& diag, QueryType::Type type) :
                     diag(diag),
                     type(type)
                 {
@@ -148,7 +152,7 @@ namespace ignite
                 diagnostic::Diagnosable& diag;
 
                 /** Query type. */
-                Type type;
+                QueryType::Type type;
             };
         }
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/include/ignite/odbc/query/special_columns_query.h
----------------------------------------------------------------------
diff --git 
a/modules/platforms/cpp/odbc/include/ignite/odbc/query/special_columns_query.h 
b/modules/platforms/cpp/odbc/include/ignite/odbc/query/special_columns_query.h
index 1d2f339..0f6660f 100644
--- 
a/modules/platforms/cpp/odbc/include/ignite/odbc/query/special_columns_query.h
+++ 
b/modules/platforms/cpp/odbc/include/ignite/odbc/query/special_columns_query.h
@@ -58,7 +58,7 @@ namespace ignite
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Execute();
+                virtual SqlResult::Type Execute();
 
                 /**
                  * Fetch next result row to application buffers.
@@ -66,7 +66,7 @@ namespace ignite
                  * @param columnBindings Application buffers to put data to.
                  * @return Operation result.
                  */
-                virtual SqlResult FetchNextRow(app::ColumnBindingMap& 
columnBindings);
+                virtual SqlResult::Type FetchNextRow(app::ColumnBindingMap& 
columnBindings);
 
                 /**
                  * Get data of the specified column in the result set.
@@ -75,14 +75,14 @@ namespace ignite
                  * @param buffer Buffer to put column data to.
                  * @return Operation result.
                  */
-                virtual SqlResult GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
+                virtual SqlResult::Type GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
 
                 /**
                  * Close query.
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Close();
+                virtual SqlResult::Type Close();
 
                 /**
                  * Get column metadata.

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/include/ignite/odbc/query/table_metadata_query.h
----------------------------------------------------------------------
diff --git 
a/modules/platforms/cpp/odbc/include/ignite/odbc/query/table_metadata_query.h 
b/modules/platforms/cpp/odbc/include/ignite/odbc/query/table_metadata_query.h
index 6322435..cef963c 100644
--- 
a/modules/platforms/cpp/odbc/include/ignite/odbc/query/table_metadata_query.h
+++ 
b/modules/platforms/cpp/odbc/include/ignite/odbc/query/table_metadata_query.h
@@ -60,7 +60,7 @@ namespace ignite
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Execute();
+                virtual SqlResult::Type Execute();
 
                 /**
                  * Get column metadata.
@@ -74,7 +74,7 @@ namespace ignite
                  *
                  * @return Operation result.
                  */
-                virtual SqlResult FetchNextRow(app::ColumnBindingMap& 
columnBindings);
+                virtual SqlResult::Type FetchNextRow(app::ColumnBindingMap& 
columnBindings);
 
                 /**
                  * Get data of the specified column in the result set.
@@ -83,14 +83,14 @@ namespace ignite
                  * @param buffer Buffer to put column data to.
                  * @return Operation result.
                  */
-                virtual SqlResult GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
+                virtual SqlResult::Type GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
 
                 /**
                  * Close query.
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Close();
+                virtual SqlResult::Type Close();
 
                 /**
                  * Check if data is available.
@@ -114,7 +114,7 @@ namespace ignite
                  *
                  * @return True on success.
                  */
-                SqlResult MakeRequestGetTablesMeta();
+                SqlResult::Type MakeRequestGetTablesMeta();
 
                 /** Connection associated with the statement. */
                 Connection& connection;

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/include/ignite/odbc/query/type_info_query.h
----------------------------------------------------------------------
diff --git 
a/modules/platforms/cpp/odbc/include/ignite/odbc/query/type_info_query.h 
b/modules/platforms/cpp/odbc/include/ignite/odbc/query/type_info_query.h
index d337d03..22b291a 100644
--- a/modules/platforms/cpp/odbc/include/ignite/odbc/query/type_info_query.h
+++ b/modules/platforms/cpp/odbc/include/ignite/odbc/query/type_info_query.h
@@ -50,7 +50,7 @@ namespace ignite
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Execute();
+                virtual SqlResult::Type Execute();
 
                 /**
                  * Get column metadata.
@@ -64,7 +64,7 @@ namespace ignite
                  *
                  * @return Operation result.
                  */
-                virtual SqlResult FetchNextRow(app::ColumnBindingMap& 
columnBindings);
+                virtual SqlResult::Type FetchNextRow(app::ColumnBindingMap& 
columnBindings);
 
                 /**
                  * Get data of the specified column in the result set.
@@ -73,14 +73,14 @@ namespace ignite
                  * @param buffer Buffer to put column data to.
                  * @return Operation result.
                  */
-                virtual SqlResult GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
+                virtual SqlResult::Type GetColumn(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
 
                 /**
                  * Close query.
                  *
                  * @return True on success.
                  */
-                virtual SqlResult Close();
+                virtual SqlResult::Type Close();
 
                 /**
                  * Check if data is available.

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/include/ignite/odbc/row.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/include/ignite/odbc/row.h 
b/modules/platforms/cpp/odbc/include/ignite/odbc/row.h
index 888432e..9c0c117 100644
--- a/modules/platforms/cpp/odbc/include/ignite/odbc/row.h
+++ b/modules/platforms/cpp/odbc/include/ignite/odbc/row.h
@@ -61,7 +61,7 @@ namespace ignite
              * @param dataBuf Application data buffer.
              * @return True on success.
              */
-            SqlResult ReadColumnToBuffer(uint16_t columnIdx, 
app::ApplicationDataBuffer& dataBuf);
+            SqlResult::Type ReadColumnToBuffer(uint16_t columnIdx, 
app::ApplicationDataBuffer& dataBuf);
 
             /**
              * Move to next row.

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/include/ignite/odbc/statement.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/include/ignite/odbc/statement.h 
b/modules/platforms/cpp/odbc/include/ignite/odbc/statement.h
index 596fc66..09122c3 100644
--- a/modules/platforms/cpp/odbc/include/ignite/odbc/statement.h
+++ b/modules/platforms/cpp/odbc/include/ignite/odbc/statement.h
@@ -393,7 +393,7 @@ namespace ignite
              * @param strLengthOrIndicator Pointer to the length/indicator 
buffer.
              * @return Operation result.
              */
-            SqlResult InternalBindColumn(uint16_t columnIdx, int16_t 
targetType, void* targetValue, SqlLen bufferLength, SqlLen* 
strLengthOrIndicator);
+            SqlResult::Type InternalBindColumn(uint16_t columnIdx, int16_t 
targetType, void* targetValue, SqlLen bufferLength, SqlLen* 
strLengthOrIndicator);
 
             /**
              * Bind parameter.
@@ -429,7 +429,7 @@ namespace ignite
              * @param resLen A pointer to a buffer for the parameter's length.
              * @return Operation result.
              */
-            SqlResult InternalBindParameter(uint16_t paramIdx, int16_t ioType, 
int16_t bufferType, int16_t paramSqlType,
+            SqlResult::Type InternalBindParameter(uint16_t paramIdx, int16_t 
ioType, int16_t bufferType, int16_t paramSqlType,
                                             SqlUlen columnSize, int16_t 
decDigits, void* buffer, SqlLen bufferLen, SqlLen* resLen);
 
             /**
@@ -441,7 +441,7 @@ namespace ignite
              * @param valueLen Value length.
              * @return Operation result.
              */
-            SqlResult InternalSetAttribute(int attr, void* value, SQLINTEGER 
valueLen);
+            SqlResult::Type InternalSetAttribute(int attr, void* value, 
SQLINTEGER valueLen);
 
             /**
              * Get statement attribute.
@@ -453,7 +453,7 @@ namespace ignite
              * @param valueLen Resulting value length.
              * @return Operation result.
              */
-            SqlResult InternalGetAttribute(int attr, void* buf, SQLINTEGER 
bufLen, SQLINTEGER* valueLen);
+            SqlResult::Type InternalGetAttribute(int attr, void* buf, 
SQLINTEGER bufLen, SQLINTEGER* valueLen);
 
             /**
              * Get value of the column in the result set.
@@ -462,7 +462,7 @@ namespace ignite
              * @param buffer Buffer to put column data to.
              * @return Operation result.
              */
-            SqlResult InternalGetColumnData(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
+            SqlResult::Type InternalGetColumnData(uint16_t columnIdx, 
app::ApplicationDataBuffer& buffer);
 
 
             /**
@@ -470,7 +470,7 @@ namespace ignite
              * @param option indicates what needs to be freed
              * @return Operation result.
              */
-            SqlResult InternalFreeResources(int16_t option);
+            SqlResult::Type InternalFreeResources(int16_t option);
 
             /**
              * Close statement.
@@ -478,7 +478,7 @@ namespace ignite
              *
              * @return Operation result.
              */
-            SqlResult InternalClose();
+            SqlResult::Type InternalClose();
 
             /**
              * Prepare SQL query.
@@ -486,7 +486,7 @@ namespace ignite
              * @param query SQL query.
              * @return Operation result.
              */
-            SqlResult InternalPrepareSqlQuery(const std::string& query);
+            SqlResult::Type InternalPrepareSqlQuery(const std::string& query);
 
             /**
              * Execute SQL query.
@@ -494,14 +494,14 @@ namespace ignite
              * @param query SQL query.
              * @return Operation result.
              */
-            SqlResult InternalExecuteSqlQuery(const std::string& query);
+            SqlResult::Type InternalExecuteSqlQuery(const std::string& query);
 
             /**
              * Execute SQL query.
              *
              * @return Operation result.
              */
-            SqlResult InternalExecuteSqlQuery();
+            SqlResult::Type InternalExecuteSqlQuery();
 
             /**
              * Fetch query result row with offset
@@ -509,14 +509,14 @@ namespace ignite
              * @param offset Fetch offset
              * @return Operation result.
              */
-            SqlResult InternalFetchScroll(int16_t orientation, int64_t offset);
+            SqlResult::Type InternalFetchScroll(int16_t orientation, int64_t 
offset);
 
             /**
              * Fetch query result row.
              *
              * @return Operation result.
              */
-            SqlResult InternalFetchRow();
+            SqlResult::Type InternalFetchRow();
 
             /**
              * Get number of columns in the result set.
@@ -524,7 +524,7 @@ namespace ignite
              * @param res Columns number.
              * @return Operation result.
              */
-            SqlResult InternalGetColumnNumber(int32_t &res);
+            SqlResult::Type InternalGetColumnNumber(int32_t &res);
 
             /**
              * Get columns metadata.
@@ -534,7 +534,7 @@ namespace ignite
              * @param column Column search pattern.
              * @return Operation result.
              */
-            SqlResult InternalExecuteGetColumnsMetaQuery(const std::string& 
schema,
+            SqlResult::Type InternalExecuteGetColumnsMetaQuery(const 
std::string& schema,
                 const std::string& table, const std::string& column);
 
             /**
@@ -546,7 +546,7 @@ namespace ignite
              * @param tableType Table type search pattern.
              * @return Operation result.
              */
-            SqlResult InternalExecuteGetTablesMetaQuery(const std::string& 
catalog,
+            SqlResult::Type InternalExecuteGetTablesMetaQuery(const 
std::string& catalog,
                 const std::string& schema, const std::string& table,
                 const std::string& tableType);
 
@@ -561,7 +561,7 @@ namespace ignite
              * @param foreignTable Foreign key table name.
              * @return Operation result.
              */
-            SqlResult InternalExecuteGetForeignKeysQuery(const std::string& 
primaryCatalog,
+            SqlResult::Type InternalExecuteGetForeignKeysQuery(const 
std::string& primaryCatalog,
                 const std::string& primarySchema, const std::string& 
primaryTable,
                 const std::string& foreignCatalog, const std::string& 
foreignSchema,
                 const std::string& foreignTable);
@@ -574,7 +574,7 @@ namespace ignite
              * @param table Table name.
              * @return Operation result.
              */
-            SqlResult InternalExecuteGetPrimaryKeysQuery(const std::string& 
catalog,
+            SqlResult::Type InternalExecuteGetPrimaryKeysQuery(const 
std::string& catalog,
                 const std::string& schema, const std::string& table);
 
             /**
@@ -589,7 +589,7 @@ namespace ignite
              *                 that can have a NULL value.
              * @return Operation result.
              */
-            SqlResult InternalExecuteSpecialColumnsQuery(int16_t type,
+            SqlResult::Type InternalExecuteSpecialColumnsQuery(int16_t type,
                 const std::string& catalog, const std::string& schema,
                 const std::string& table, int16_t scope, int16_t nullable);
 
@@ -599,7 +599,7 @@ namespace ignite
              * @param sqlType SQL type for which to return info or 
SQL_ALL_TYPES.
              * @return Operation result.
              */
-            SqlResult InternalExecuteGetTypeInfoQuery(int16_t sqlType);
+            SqlResult::Type InternalExecuteGetTypeInfoQuery(int16_t sqlType);
 
             /**
              * Next results.
@@ -608,7 +608,7 @@ namespace ignite
              *
              * @return Operation result.
              */
-            SqlResult InternalNextResults();
+            SqlResult::Type InternalNextResults();
 
             /**
              * Get column attribute.
@@ -621,7 +621,7 @@ namespace ignite
              * @param numbuf Numeric value buffer.
              * @return Operation result.
              */
-            SqlResult InternalGetColumnAttribute(uint16_t colIdx, uint16_t 
attrId,
+            SqlResult::Type InternalGetColumnAttribute(uint16_t colIdx, 
uint16_t attrId,
                 char* strbuf, int16_t buflen, int16_t* reslen, SqlLen* numbuf);
 
             /**
@@ -630,7 +630,7 @@ namespace ignite
              * @param rowCnt Number of rows affected by the statement.
              * @return Operation result.
              */
-            SqlResult InternalAffectedRows(int64_t& rowCnt);
+            SqlResult::Type InternalAffectedRows(int64_t& rowCnt);
 
             /**
              * Select next parameter data for which is required.
@@ -638,7 +638,7 @@ namespace ignite
              * @param paramPtr Pointer to param id stored here.
              * @return Operation result.
              */
-            SqlResult InternalSelectParam(void** paramPtr);
+            SqlResult::Type InternalSelectParam(void** paramPtr);
 
             /**
              * Puts data for previously selected parameter or column.
@@ -647,7 +647,7 @@ namespace ignite
              * @param len Data length.
              * @return Operation result.
              */
-            SqlResult InternalPutData(void* data, SqlLen len);
+            SqlResult::Type InternalPutData(void* data, SqlLen len);
 
             /**
              * Get type info of the parameter of the prepared statement.
@@ -659,13 +659,13 @@ namespace ignite
              * @param nullable - Nullability flag.
              * @return Operation result.
              */
-            SqlResult InternalDescribeParam(int16_t paramNum, int16_t* 
dataType,
+            SqlResult::Type InternalDescribeParam(int16_t paramNum, int16_t* 
dataType,
                 SqlUlen* paramSize, int16_t* decimalDigits, int16_t* nullable);
 
             /**
              * Make request to data source to update parameters metadata.
              */
-            SqlResult UpdateParamsMeta();
+            SqlResult::Type UpdateParamsMeta();
 
             /**
              * Constructor.

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/include/ignite/odbc/system/ui/dsn_configuration_window.h
----------------------------------------------------------------------
diff --git 
a/modules/platforms/cpp/odbc/include/ignite/odbc/system/ui/dsn_configuration_window.h
 
b/modules/platforms/cpp/odbc/include/ignite/odbc/system/ui/dsn_configuration_window.h
index 32f3520..2439696 100644
--- 
a/modules/platforms/cpp/odbc/include/ignite/odbc/system/ui/dsn_configuration_window.h
+++ 
b/modules/platforms/cpp/odbc/include/ignite/odbc/system/ui/dsn_configuration_window.h
@@ -37,23 +37,26 @@ namespace ignite
                     /**
                      * Children windows ids.
                      */
-                    enum ChildId
+                    struct ChildId
                     {
-                        ID_CONNECTION_SETTINGS_GROUP_BOX,
-                        ID_NAME_EDIT,
-                        ID_NAME_LABEL,
-                        ID_ADDRESS_EDIT,
-                        ID_ADDRESS_LABEL,
-                        ID_CACHE_EDIT,
-                        ID_CACHE_LABEL,
-                        ID_PAGE_SIZE_EDIT,
-                        ID_PAGE_SIZE_LABEL,
-                        ID_DISTRIBUTED_JOINS_CHECK_BOX,
-                        ID_ENFORCE_JOIN_ORDER_CHECK_BOX,
-                        ID_PROTOCOL_VERSION_LABEL,
-                        ID_PROTOCOL_VERSION_COMBO_BOX,
-                        ID_OK_BUTTON,
-                        ID_CANCEL_BUTTON
+                        enum Type
+                        {
+                            CONNECTION_SETTINGS_GROUP_BOX,
+                            NAME_EDIT,
+                            NAME_LABEL,
+                            ADDRESS_EDIT,
+                            ADDRESS_LABEL,
+                            CACHE_EDIT,
+                            CACHE_LABEL,
+                            PAGE_SIZE_EDIT,
+                            PAGE_SIZE_LABEL,
+                            DISTRIBUTED_JOINS_CHECK_BOX,
+                            ENFORCE_JOIN_ORDER_CHECK_BOX,
+                            PROTOCOL_VERSION_LABEL,
+                            PROTOCOL_VERSION_COMBO_BOX,
+                            OK_BUTTON,
+                            CANCEL_BUTTON
+                        };
                     };
 
                 public:

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/include/ignite/odbc/type_traits.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/include/ignite/odbc/type_traits.h 
b/modules/platforms/cpp/odbc/include/ignite/odbc/type_traits.h
index d456d59..81b2845 100644
--- a/modules/platforms/cpp/odbc/include/ignite/odbc/type_traits.h
+++ b/modules/platforms/cpp/odbc/include/ignite/odbc/type_traits.h
@@ -43,70 +43,73 @@ namespace ignite
              * We use these so we will not be needed to include system-specific
              * headers in our header files.
              */
-            enum IgniteSqlType
+            struct OdbcNativeType
             {
-                /** Alias for the SQL_C_CHAR type. */
-                IGNITE_ODBC_C_TYPE_CHAR,
+                enum Type
+                {
+                    /** Alias for the SQL_C_CHAR type. */
+                    AI_CHAR,
 
-                /** Alias for the SQL_C_WCHAR type. */
-                IGNITE_ODBC_C_TYPE_WCHAR,
+                    /** Alias for the SQL_C_WCHAR type. */
+                    AI_WCHAR,
 
-                /** Alias for the SQL_C_SSHORT type. */
-                IGNITE_ODBC_C_TYPE_SIGNED_SHORT,
+                    /** Alias for the SQL_C_SSHORT type. */
+                    AI_SIGNED_SHORT,
 
-                /** Alias for the SQL_C_USHORT type. */
-                IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT,
+                    /** Alias for the SQL_C_USHORT type. */
+                    AI_UNSIGNED_SHORT,
 
-                /** Alias for the SQL_C_SLONG type. */
-                IGNITE_ODBC_C_TYPE_SIGNED_LONG,
+                    /** Alias for the SQL_C_SLONG type. */
+                    AI_SIGNED_LONG,
 
-                /** Alias for the SQL_C_ULONG type. */
-                IGNITE_ODBC_C_TYPE_UNSIGNED_LONG,
+                    /** Alias for the SQL_C_ULONG type. */
+                    AI_UNSIGNED_LONG,
 
-                /** Alias for the SQL_C_FLOAT type. */
-                IGNITE_ODBC_C_TYPE_FLOAT,
+                    /** Alias for the SQL_C_FLOAT type. */
+                    AI_FLOAT,
 
-                /** Alias for the SQL_C_DOUBLE type. */
-                IGNITE_ODBC_C_TYPE_DOUBLE,
+                    /** Alias for the SQL_C_DOUBLE type. */
+                    AI_DOUBLE,
 
-                /** Alias for the SQL_C_BIT type. */
-                IGNITE_ODBC_C_TYPE_BIT,
+                    /** Alias for the SQL_C_BIT type. */
+                    AI_BIT,
 
-                /** Alias for the SQL_C_STINYINT type. */
-                IGNITE_ODBC_C_TYPE_SIGNED_TINYINT,
+                    /** Alias for the SQL_C_STINYINT type. */
+                    AI_SIGNED_TINYINT,
 
-                /** Alias for the SQL_C_UTINYINT type. */
-                IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT,
+                    /** Alias for the SQL_C_UTINYINT type. */
+                    AI_UNSIGNED_TINYINT,
 
-                /** Alias for the SQL_C_SBIGINT type. */
-                IGNITE_ODBC_C_TYPE_SIGNED_BIGINT,
+                    /** Alias for the SQL_C_SBIGINT type. */
+                    AI_SIGNED_BIGINT,
 
-                /** Alias for the SQL_C_UBIGINT type. */
-                IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT,
+                    /** Alias for the SQL_C_UBIGINT type. */
+                    AI_UNSIGNED_BIGINT,
 
-                /** Alias for the SQL_C_BINARY type. */
-                IGNITE_ODBC_C_TYPE_BINARY,
+                    /** Alias for the SQL_C_BINARY type. */
+                    AI_BINARY,
 
-                /** Alias for the SQL_C_TDATE type. */
-                IGNITE_ODBC_C_TYPE_TDATE,
+                    /** Alias for the SQL_C_TDATE type. */
+                    AI_TDATE,
 
-                /** Alias for the SQL_C_TTIME type. */
-                IGNITE_ODBC_C_TYPE_TTIME,
+                    /** Alias for the SQL_C_TTIME type. */
+                    AI_TTIME,
 
-                /** Alias for the SQL_C_TTIMESTAMP type. */
-                IGNITE_ODBC_C_TYPE_TTIMESTAMP,
+                    /** Alias for the SQL_C_TTIMESTAMP type. */
+                    AI_TTIMESTAMP,
 
-                /** Alias for the SQL_C_NUMERIC type. */
-                IGNITE_ODBC_C_TYPE_NUMERIC,
+                    /** Alias for the SQL_C_NUMERIC type. */
+                    AI_NUMERIC,
 
-                /** Alias for the SQL_C_GUID type. */
-                IGNITE_ODBC_C_TYPE_GUID,
+                    /** Alias for the SQL_C_GUID type. */
+                    AI_GUID,
 
-                /** Alias for the SQL_DEFAULT. */
-                IGNITE_ODBC_C_TYPE_DEFAULT,
+                    /** Alias for the SQL_DEFAULT. */
+                    AI_DEFAULT,
 
-                /** Alias for all unsupported types. */
-                IGNITE_ODBC_C_TYPE_UNSUPPORTED
+                    /** Alias for all unsupported types. */
+                    AI_UNSUPPORTED
+                };
             };
 
             /**
@@ -196,7 +199,7 @@ namespace ignite
              * @param type ODBC type;
              * @return Internal driver type.
              */
-            IgniteSqlType ToDriverType(int16_t type);
+            OdbcNativeType::Type ToDriverType(int16_t type);
 
             /**
              * Convert binary data type to SQL data type.

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/os/win/include/ignite/odbc/system/ui/custom_window.h
----------------------------------------------------------------------
diff --git 
a/modules/platforms/cpp/odbc/os/win/include/ignite/odbc/system/ui/custom_window.h
 
b/modules/platforms/cpp/odbc/os/win/include/ignite/odbc/system/ui/custom_window.h
index 1502c07..0232da3 100644
--- 
a/modules/platforms/cpp/odbc/os/win/include/ignite/odbc/system/ui/custom_window.h
+++ 
b/modules/platforms/cpp/odbc/os/win/include/ignite/odbc/system/ui/custom_window.h
@@ -31,10 +31,13 @@ namespace ignite
                 /**
                  * Application execution result.
                  */
-                enum Result
+                struct Result
                 {
-                    RESULT_OK,
-                    RESULT_CANCEL
+                    enum Type
+                    {
+                        OK,
+                        CANCEL
+                    };
                 };
 
                 /**
@@ -44,7 +47,7 @@ namespace ignite
                  * @param window Main window.
                  * @return Application execution result.
                  */
-                Result ProcessMessages(Window& window);
+                Result::Type ProcessMessages(Window& window);
 
                 /**
                  * Window class.
@@ -58,7 +61,6 @@ namespace ignite
                      * @param parent Parent window.
                      * @param className Window class name.
                      * @param title Window title.
-                     * @param callback Event processing function.
                      */
                     CustomWindow(Window* parent, const char* className, const 
char* title);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/os/win/src/system/ui/custom_window.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/os/win/src/system/ui/custom_window.cpp 
b/modules/platforms/cpp/odbc/os/win/src/system/ui/custom_window.cpp
index 1e855a1..57690a3 100644
--- a/modules/platforms/cpp/odbc/os/win/src/system/ui/custom_window.cpp
+++ b/modules/platforms/cpp/odbc/os/win/src/system/ui/custom_window.cpp
@@ -27,7 +27,7 @@ namespace ignite
         {
             namespace ui
             {
-                Result ProcessMessages(Window& window)
+                Result::Type ProcessMessages(Window& window)
                 {
                     MSG msg;
 
@@ -41,7 +41,7 @@ namespace ignite
                         }
                     }
 
-                    return static_cast<Result>(msg.wParam);
+                    return static_cast<Result::Type>(msg.wParam);
                 }
 
                 LRESULT CALLBACK CustomWindow::WndProc(HWND hwnd, UINT msg, 
WPARAM wParam, LPARAM lParam)

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/os/win/src/system/ui/dsn_configuration_window.cpp
----------------------------------------------------------------------
diff --git 
a/modules/platforms/cpp/odbc/os/win/src/system/ui/dsn_configuration_window.cpp 
b/modules/platforms/cpp/odbc/os/win/src/system/ui/dsn_configuration_window.cpp
index 864ca85..c839999 100644
--- 
a/modules/platforms/cpp/odbc/os/win/src/system/ui/dsn_configuration_window.cpp
+++ 
b/modules/platforms/cpp/odbc/os/win/src/system/ui/dsn_configuration_window.cpp
@@ -104,37 +104,37 @@ namespace ignite
                     int sectionBegin = margin;
 
                     const char* val = config.GetDsn().c_str();
-                    nameLabel = CreateLabel(labelPosX, rowPos, labelSizeX, 
rowSize, "DSN name:", ID_NAME_LABEL);
-                    nameEdit = CreateEdit(editPosX, rowPos, editSizeX, 
rowSize, val, ID_NAME_EDIT);
+                    nameLabel = CreateLabel(labelPosX, rowPos, labelSizeX, 
rowSize, "DSN name:", ChildId::NAME_LABEL);
+                    nameEdit = CreateEdit(editPosX, rowPos, editSizeX, 
rowSize, val, ChildId::NAME_EDIT);
 
                     rowPos += interval + rowSize;
 
                     val = config.GetAddress().c_str();
-                    addressLabel = CreateLabel(labelPosX, rowPos, labelSizeX, 
rowSize, "Address:", ID_ADDRESS_LABEL);
-                    addressEdit = CreateEdit(editPosX, rowPos, editSizeX, 
rowSize, val, ID_ADDRESS_EDIT);
+                    addressLabel = CreateLabel(labelPosX, rowPos, labelSizeX, 
rowSize, "Address:", ChildId::ADDRESS_LABEL);
+                    addressEdit = CreateEdit(editPosX, rowPos, editSizeX, 
rowSize, val, ChildId::ADDRESS_EDIT);
 
                     rowPos += interval + rowSize;
 
                     val = config.GetCache().c_str();
-                    cacheLabel = CreateLabel(labelPosX, rowPos, labelSizeX, 
rowSize, "Cache name:", ID_CACHE_LABEL);
-                    cacheEdit = CreateEdit(editPosX, rowPos, editSizeX, 
rowSize, val, ID_CACHE_EDIT);
+                    cacheLabel = CreateLabel(labelPosX, rowPos, labelSizeX, 
rowSize, "Cache name:", ChildId::CACHE_LABEL);
+                    cacheEdit = CreateEdit(editPosX, rowPos, editSizeX, 
rowSize, val, ChildId::CACHE_EDIT);
 
                     rowPos += interval + rowSize;
 
                     std::string tmp = 
common::LexicalCast<std::string>(config.GetPageSize());
                     val = tmp.c_str();
                     pageSizeLabel = CreateLabel(labelPosX, rowPos, labelSizeX,
-                        rowSize, "Page size:", ID_PAGE_SIZE_LABEL);
+                        rowSize, "Page size:", ChildId::PAGE_SIZE_LABEL);
 
                     pageSizeEdit = CreateEdit(editPosX, rowPos, editSizeX, 
-                        rowSize, val, ID_PAGE_SIZE_EDIT, ES_NUMBER);
+                        rowSize, val, ChildId::PAGE_SIZE_EDIT, ES_NUMBER);
 
                     rowPos += interval + rowSize;
 
                     protocolVersionLabel = CreateLabel(labelPosX, rowPos, 
labelSizeX, rowSize,
-                        "Protocol version:", ID_PROTOCOL_VERSION_LABEL);
+                        "Protocol version:", ChildId::PROTOCOL_VERSION_LABEL);
                     protocolVersionComboBox = CreateComboBox(editPosX, rowPos, 
editSizeX, rowSize,
-                        "Protocol version", ID_PROTOCOL_VERSION_COMBO_BOX);
+                        "Protocol version", 
ChildId::PROTOCOL_VERSION_COMBO_BOX);
 
                     int id = 0;
 
@@ -154,10 +154,10 @@ namespace ignite
                     rowPos += interval + rowSize;
 
                     distributedJoinsCheckBox = CreateCheckBox(editPosX, 
rowPos, checkBoxSize, rowSize,
-                        "Distributed Joins", ID_DISTRIBUTED_JOINS_CHECK_BOX, 
config.IsDistributedJoins());
+                        "Distributed Joins", 
ChildId::DISTRIBUTED_JOINS_CHECK_BOX, config.IsDistributedJoins());
 
                     enforceJoinOrderCheckBox = CreateCheckBox(editPosX + 
checkBoxSize + interval, rowPos, checkBoxSize,
-                        rowSize, "Enforce Join Order", 
ID_ENFORCE_JOIN_ORDER_CHECK_BOX, config.IsEnforceJoinOrder());
+                        rowSize, "Enforce Join Order", 
ChildId::ENFORCE_JOIN_ORDER_CHECK_BOX, config.IsEnforceJoinOrder());
 
                     if 
(!config.GetProtocolVersion().IsDistributedJoinsSupported())
                     {
@@ -168,7 +168,7 @@ namespace ignite
                     rowPos += interval * 2 + rowSize;
 
                     connectionSettingsGroupBox = CreateGroupBox(margin, 
sectionBegin, width - 2 * margin,
-                        rowPos - interval - sectionBegin, "Connection 
settings", ID_CONNECTION_SETTINGS_GROUP_BOX);
+                        rowPos - interval - sectionBegin, "Connection 
settings", ChildId::CONNECTION_SETTINGS_GROUP_BOX);
 
                     int buttonSizeX = 80;
                     int cancelPosX = width - margin - buttonSizeX;
@@ -176,8 +176,8 @@ namespace ignite
 
                     rowSize = 25;
 
-                    okButton = CreateButton(okPosX, rowPos, buttonSizeX, 
rowSize, "Ok", ID_OK_BUTTON);
-                    cancelButton = CreateButton(cancelPosX, rowPos, 
buttonSizeX, rowSize, "Cancel", ID_CANCEL_BUTTON);
+                    okButton = CreateButton(okPosX, rowPos, buttonSizeX, 
rowSize, "Ok", ChildId::OK_BUTTON);
+                    cancelButton = CreateButton(cancelPosX, rowPos, 
buttonSizeX, rowSize, "Cancel", ChildId::CANCEL_BUTTON);
                 }
 
                 bool DsnConfigurationWindow::OnMessage(UINT msg, WPARAM 
wParam, LPARAM lParam)
@@ -188,7 +188,7 @@ namespace ignite
                         {
                             switch (LOWORD(wParam))
                             {
-                                case ID_OK_BUTTON:
+                                case ChildId::OK_BUTTON:
                                 {
                                     try
                                     {
@@ -206,7 +206,7 @@ namespace ignite
                                     break;
                                 }
 
-                                case ID_PROTOCOL_VERSION_COMBO_BOX:
+                                case ChildId::PROTOCOL_VERSION_COMBO_BOX:
                                 {
                                     if (HIWORD(wParam) == CBN_SELCHANGE)
                                     {
@@ -232,21 +232,21 @@ namespace ignite
                                 }
 
                                 case IDCANCEL:
-                                case ID_CANCEL_BUTTON:
+                                case ChildId::CANCEL_BUTTON:
                                 {
                                     PostMessage(GetHandle(), WM_CLOSE, 0, 0);
 
                                     break;
                                 }
 
-                                case ID_DISTRIBUTED_JOINS_CHECK_BOX:
+                                case ChildId::DISTRIBUTED_JOINS_CHECK_BOX:
                                 {
                                     
distributedJoinsCheckBox->SetChecked(!distributedJoinsCheckBox->IsChecked());
 
                                     break;
                                 }
 
-                                case ID_ENFORCE_JOIN_ORDER_CHECK_BOX:
+                                case ChildId::ENFORCE_JOIN_ORDER_CHECK_BOX:
                                 {
                                     
enforceJoinOrderCheckBox->SetChecked(!enforceJoinOrderCheckBox->IsChecked());
 
@@ -262,7 +262,7 @@ namespace ignite
 
                         case WM_DESTROY:
                         {
-                            PostQuitMessage(accepted ? RESULT_OK : 
RESULT_CANCEL);
+                            PostQuitMessage(accepted ? Result::OK : 
Result::CANCEL);
 
                             break;
                         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/os/win/src/system_dsn.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/os/win/src/system_dsn.cpp 
b/modules/platforms/cpp/odbc/os/win/src/system_dsn.cpp
index 3d41e3e..3402aca 100644
--- a/modules/platforms/cpp/odbc/os/win/src/system_dsn.cpp
+++ b/modules/platforms/cpp/odbc/os/win/src/system_dsn.cpp
@@ -50,7 +50,7 @@ bool DisplayConfigureDsnWindow(HWND hwndParent, 
Configuration& config)
         window.Show();
         window.Update();
 
-        return ProcessMessages(window) == RESULT_OK;
+        return ProcessMessages(window) == Result::OK;
     }
     catch (const ignite::IgniteError& err)
     {

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/src/app/application_data_buffer.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/src/app/application_data_buffer.cpp 
b/modules/platforms/cpp/odbc/src/app/application_data_buffer.cpp
index 1b5f536..ced8c01 100644
--- a/modules/platforms/cpp/odbc/src/app/application_data_buffer.cpp
+++ b/modules/platforms/cpp/odbc/src/app/application_data_buffer.cpp
@@ -36,7 +36,7 @@ namespace ignite
             using ignite::impl::binary::BinaryUtils;
 
             ApplicationDataBuffer::ApplicationDataBuffer() :
-                type(type_traits::IGNITE_ODBC_C_TYPE_UNSUPPORTED),
+                type(type_traits::OdbcNativeType::AI_UNSUPPORTED),
                 buffer(0),
                 buflen(0),
                 reslen(0),
@@ -45,7 +45,7 @@ namespace ignite
                 // No-op.
             }
 
-            
ApplicationDataBuffer::ApplicationDataBuffer(type_traits::IgniteSqlType type,
+            
ApplicationDataBuffer::ApplicationDataBuffer(type_traits::OdbcNativeType::Type 
type,
                 void* buffer, SqlLen buflen, SqlLen* reslen, int** offset) :
                 type(type),
                 buffer(buffer),
@@ -92,80 +92,80 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
                     {
                         PutNumToNumBuffer<signed char>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
                     {
                         PutNumToNumBuffer<unsigned char>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
                     {
                         PutNumToNumBuffer<short>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
                     {
                         PutNumToNumBuffer<unsigned short>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_LONG:
                     {
                         PutNumToNumBuffer<long>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
                     {
                         PutNumToNumBuffer<unsigned long>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
                     {
                         PutNumToNumBuffer<int64_t>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
                     {
                         PutNumToNumBuffer<uint64_t>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
+                    case OdbcNativeType::AI_FLOAT:
                     {
                         PutNumToNumBuffer<float>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
+                    case OdbcNativeType::AI_DOUBLE:
                     {
                         PutNumToNumBuffer<double>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         PutValToStrBuffer<char>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_WCHAR:
+                    case OdbcNativeType::AI_WCHAR:
                     {
                         PutValToStrBuffer<wchar_t>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
+                    case OdbcNativeType::AI_NUMERIC:
                     {
                         if (dataPtr)
                         {
@@ -189,8 +189,8 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_BINARY:
-                    case IGNITE_ODBC_C_TYPE_DEFAULT:
+                    case OdbcNativeType::AI_BINARY:
+                    case OdbcNativeType::AI_DEFAULT:
                     {
                         if (dataPtr)
                         {
@@ -215,21 +215,21 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TDATE:
+                    case OdbcNativeType::AI_TDATE:
                     {
                         PutDate(Date(static_cast<int64_t>(value)));
 
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIMESTAMP:
+                    case OdbcNativeType::AI_TTIMESTAMP:
                     {
                         PutTimestamp(Timestamp(static_cast<int64_t>(value)));
 
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIME:
+                    case OdbcNativeType::AI_TTIME:
                     {
                         PutTime(Time(static_cast<int64_t>(value)));
 
@@ -383,16 +383,16 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_NUMERIC:
                     {
                         std::stringstream converter;
 
@@ -409,8 +409,8 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
+                    case OdbcNativeType::AI_FLOAT:
+                    case OdbcNativeType::AI_DOUBLE:
                     {
                         std::stringstream converter;
 
@@ -427,9 +427,9 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_CHAR:
-                    case IGNITE_ODBC_C_TYPE_BINARY:
-                    case IGNITE_ODBC_C_TYPE_DEFAULT:
+                    case OdbcNativeType::AI_CHAR:
+                    case OdbcNativeType::AI_BINARY:
+                    case OdbcNativeType::AI_DEFAULT:
                     {
                         PutStrToStrBuffer<char>(value);
 
@@ -438,7 +438,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_WCHAR:
+                    case OdbcNativeType::AI_WCHAR:
                     {
                         PutStrToStrBuffer<wchar_t>(value);
 
@@ -467,21 +467,21 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_CHAR:
-                    case IGNITE_ODBC_C_TYPE_BINARY:
-                    case IGNITE_ODBC_C_TYPE_DEFAULT:
+                    case OdbcNativeType::AI_CHAR:
+                    case OdbcNativeType::AI_BINARY:
+                    case OdbcNativeType::AI_DEFAULT:
                     {
                         PutValToStrBuffer<char>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_WCHAR:
+                    case OdbcNativeType::AI_WCHAR:
                     {
                         PutValToStrBuffer<wchar_t>(value);
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_GUID:
+                    case OdbcNativeType::AI_GUID:
                     {
                         SQLGUID* guid = reinterpret_cast<SQLGUID*>(GetData());
 
@@ -515,8 +515,8 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_BINARY:
-                    case IGNITE_ODBC_C_TYPE_DEFAULT:
+                    case OdbcNativeType::AI_BINARY:
+                    case OdbcNativeType::AI_DEFAULT:
                     {
                         PutRawDataToBuffer(data, len);
 
@@ -525,7 +525,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         std::stringstream converter;
 
@@ -546,7 +546,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_WCHAR:
+                    case OdbcNativeType::AI_WCHAR:
                     {
                         std::wstringstream converter;
 
@@ -595,31 +595,31 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
                     {
                         PutNum<int64_t>(value.ToInt64());
 
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
+                    case OdbcNativeType::AI_FLOAT:
+                    case OdbcNativeType::AI_DOUBLE:
                     {
                         PutNum<double>(value.ToDouble());
 
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_CHAR:
-                    case IGNITE_ODBC_C_TYPE_WCHAR:
+                    case OdbcNativeType::AI_CHAR:
+                    case OdbcNativeType::AI_WCHAR:
                     {
                         std::stringstream converter;
 
@@ -630,7 +630,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
+                    case OdbcNativeType::AI_NUMERIC:
                     {
                         SQL_NUMERIC_STRUCT* numeric =
                             reinterpret_cast<SQL_NUMERIC_STRUCT*>(GetData());
@@ -663,8 +663,8 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_DEFAULT:
-                    case IGNITE_ODBC_C_TYPE_BINARY:
+                    case OdbcNativeType::AI_DEFAULT:
+                    case OdbcNativeType::AI_BINARY:
                     default:
                     {
                         if (resLenPtr)
@@ -686,7 +686,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         char* buffer = reinterpret_cast<char*>(dataPtr);
 
@@ -703,7 +703,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_WCHAR:
+                    case OdbcNativeType::AI_WCHAR:
                     {
                         SQLWCHAR* buffer = 
reinterpret_cast<SQLWCHAR*>(dataPtr);
 
@@ -729,7 +729,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TDATE:
+                    case OdbcNativeType::AI_TDATE:
                     {
                         SQL_DATE_STRUCT* buffer = 
reinterpret_cast<SQL_DATE_STRUCT*>(dataPtr);
 
@@ -743,7 +743,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIME:
+                    case OdbcNativeType::AI_TTIME:
                     {
                         SQL_TIME_STRUCT* buffer = 
reinterpret_cast<SQL_TIME_STRUCT*>(dataPtr);
 
@@ -757,7 +757,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIMESTAMP:
+                    case OdbcNativeType::AI_TTIMESTAMP:
                     {
                         SQL_TIMESTAMP_STRUCT* buffer = 
reinterpret_cast<SQL_TIMESTAMP_STRUCT*>(dataPtr);
 
@@ -775,8 +775,8 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_BINARY:
-                    case IGNITE_ODBC_C_TYPE_DEFAULT:
+                    case OdbcNativeType::AI_BINARY:
+                    case OdbcNativeType::AI_DEFAULT:
                     {
                         if (dataPtr)
                             memcpy(dataPtr, &value, 
std::min(static_cast<size_t>(buflen), sizeof(value)));
@@ -787,18 +787,18 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_FLOAT:
+                    case OdbcNativeType::AI_DOUBLE:
+                    case OdbcNativeType::AI_NUMERIC:
                     default:
                     {
                         if (resLenPtr)
@@ -820,7 +820,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         char* buffer = reinterpret_cast<char*>(dataPtr);
 
@@ -837,7 +837,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_WCHAR:
+                    case OdbcNativeType::AI_WCHAR:
                     {
                         SQLWCHAR* buffer = 
reinterpret_cast<SQLWCHAR*>(dataPtr);
 
@@ -863,7 +863,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TDATE:
+                    case OdbcNativeType::AI_TDATE:
                     {
                         SQL_DATE_STRUCT* buffer = 
reinterpret_cast<SQL_DATE_STRUCT*>(dataPtr);
 
@@ -877,7 +877,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIME:
+                    case OdbcNativeType::AI_TTIME:
                     {
                         SQL_TIME_STRUCT* buffer = 
reinterpret_cast<SQL_TIME_STRUCT*>(dataPtr);
 
@@ -891,7 +891,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIMESTAMP:
+                    case OdbcNativeType::AI_TTIMESTAMP:
                     {
                         SQL_TIMESTAMP_STRUCT* buffer = 
reinterpret_cast<SQL_TIMESTAMP_STRUCT*>(dataPtr);
 
@@ -909,8 +909,8 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_BINARY:
-                    case IGNITE_ODBC_C_TYPE_DEFAULT:
+                    case OdbcNativeType::AI_BINARY:
+                    case OdbcNativeType::AI_DEFAULT:
                     {
                         if (dataPtr)
                             memcpy(dataPtr, &value, 
std::min(static_cast<size_t>(buflen), sizeof(value)));
@@ -921,18 +921,18 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_FLOAT:
+                    case OdbcNativeType::AI_DOUBLE:
+                    case OdbcNativeType::AI_NUMERIC:
                     default:
                     {
                         if (resLenPtr)
@@ -954,7 +954,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         char* buffer = reinterpret_cast<char*>(dataPtr);
 
@@ -971,7 +971,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_WCHAR:
+                    case OdbcNativeType::AI_WCHAR:
                     {
                         SQLWCHAR* buffer = 
reinterpret_cast<SQLWCHAR*>(dataPtr);
 
@@ -997,7 +997,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIME:
+                    case OdbcNativeType::AI_TTIME:
                     {
                         SQL_TIME_STRUCT* buffer = 
reinterpret_cast<SQL_TIME_STRUCT*>(dataPtr);
 
@@ -1011,7 +1011,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIMESTAMP:
+                    case OdbcNativeType::AI_TTIMESTAMP:
                     {
                         SQL_TIMESTAMP_STRUCT* buffer = 
reinterpret_cast<SQL_TIMESTAMP_STRUCT*>(dataPtr);
 
@@ -1029,8 +1029,8 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_BINARY:
-                    case IGNITE_ODBC_C_TYPE_DEFAULT:
+                    case OdbcNativeType::AI_BINARY:
+                    case OdbcNativeType::AI_DEFAULT:
                     {
                         if (dataPtr)
                             memcpy(dataPtr, &value, 
std::min(static_cast<size_t>(buflen), sizeof(value)));
@@ -1041,19 +1041,19 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
-                    case IGNITE_ODBC_C_TYPE_TDATE:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_FLOAT:
+                    case OdbcNativeType::AI_DOUBLE:
+                    case OdbcNativeType::AI_NUMERIC:
+                    case OdbcNativeType::AI_TDATE:
                     default:
                     {
                         if (resLenPtr)
@@ -1069,7 +1069,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         size_t paramLen = GetInputSize();
 
@@ -1085,10 +1085,10 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
                     {
                         std::stringstream converter;
 
@@ -1099,11 +1099,11 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
                     {
                         std::stringstream converter;
 
@@ -1114,7 +1114,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
+                    case OdbcNativeType::AI_FLOAT:
                     {
                         std::stringstream converter;
 
@@ -1125,8 +1125,8 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
+                    case OdbcNativeType::AI_NUMERIC:
+                    case OdbcNativeType::AI_DOUBLE:
                     {
                         std::stringstream converter;
 
@@ -1182,7 +1182,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         SqlLen paramLen = GetInputSize();
 
@@ -1201,7 +1201,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_GUID:
+                    case OdbcNativeType::AI_GUID:
                     {
                         const SQLGUID* guid = reinterpret_cast<const 
SQLGUID*>(GetData());
 
@@ -1255,7 +1255,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         SqlLen paramLen = GetInputSize();
 
@@ -1284,68 +1284,68 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
                     {
                         res = static_cast<T>(*reinterpret_cast<const signed 
char*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
                     {
                         res = static_cast<T>(*reinterpret_cast<const unsigned 
char*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
                     {
                         res = static_cast<T>(*reinterpret_cast<const signed 
short*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
                     {
                         res = static_cast<T>(*reinterpret_cast<const unsigned 
short*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_LONG:
                     {
                         res = static_cast<T>(*reinterpret_cast<const signed 
long*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
                     {
                         res = static_cast<T>(*reinterpret_cast<const unsigned 
long*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
                     {
                         res = static_cast<T>(*reinterpret_cast<const 
int64_t*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
                     {
                         res = static_cast<T>(*reinterpret_cast<const 
uint64_t*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
+                    case OdbcNativeType::AI_FLOAT:
                     {
                         res = static_cast<T>(*reinterpret_cast<const 
float*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
+                    case OdbcNativeType::AI_DOUBLE:
                     {
                         res = static_cast<T>(*reinterpret_cast<const 
double*>(GetData()));
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
+                    case OdbcNativeType::AI_NUMERIC:
                     {
                         const SQL_NUMERIC_STRUCT* numeric =
                             reinterpret_cast<const 
SQL_NUMERIC_STRUCT*>(GetData());
@@ -1373,7 +1373,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_TDATE:
+                    case OdbcNativeType::AI_TDATE:
                     {
                         const SQL_DATE_STRUCT* buffer = reinterpret_cast<const 
SQL_DATE_STRUCT*>(GetData());
 
@@ -1384,7 +1384,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIME:
+                    case OdbcNativeType::AI_TTIME:
                     {
                         const SQL_TIME_STRUCT* buffer = reinterpret_cast<const 
SQL_TIME_STRUCT*>(GetData());
 
@@ -1397,7 +1397,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIMESTAMP:
+                    case OdbcNativeType::AI_TTIMESTAMP:
                     {
                         const SQL_TIMESTAMP_STRUCT* buffer = 
reinterpret_cast<const SQL_TIMESTAMP_STRUCT*>(GetData());
 
@@ -1411,7 +1411,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         SqlLen paramLen = GetInputSize();
 
@@ -1447,7 +1447,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_TDATE:
+                    case OdbcNativeType::AI_TDATE:
                     {
                         const SQL_DATE_STRUCT* buffer = reinterpret_cast<const 
SQL_DATE_STRUCT*>(GetData());
 
@@ -1458,7 +1458,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIME:
+                    case OdbcNativeType::AI_TTIME:
                     {
                         const SQL_TIME_STRUCT* buffer = reinterpret_cast<const 
SQL_TIME_STRUCT*>(GetData());
 
@@ -1471,7 +1471,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIMESTAMP:
+                    case OdbcNativeType::AI_TTIMESTAMP:
                     {
                         const SQL_TIMESTAMP_STRUCT* buffer = 
reinterpret_cast<const SQL_TIMESTAMP_STRUCT*>(GetData());
 
@@ -1487,7 +1487,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         SqlLen paramLen = GetInputSize();
 
@@ -1525,7 +1525,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_TTIME:
+                    case OdbcNativeType::AI_TTIME:
                     {
                         const SQL_TIME_STRUCT* buffer = reinterpret_cast<const 
SQL_TIME_STRUCT*>(GetData());
 
@@ -1536,7 +1536,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_TTIMESTAMP:
+                    case OdbcNativeType::AI_TTIMESTAMP:
                     {
                         const SQL_TIMESTAMP_STRUCT* buffer = 
reinterpret_cast<const SQL_TIMESTAMP_STRUCT*>(GetData());
 
@@ -1547,7 +1547,7 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         SqlLen paramLen = GetInputSize();
 
@@ -1575,7 +1575,7 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_CHAR:
+                    case OdbcNativeType::AI_CHAR:
                     {
                         SqlLen paramLen = GetInputSize();
 
@@ -1593,36 +1593,36 @@ namespace ignite
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
                     {
                         val.AssignInt64(GetNum<int64_t>());
 
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
                     {
                         val.AssignUint64(GetNum<uint64_t>());
 
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
+                    case OdbcNativeType::AI_FLOAT:
+                    case OdbcNativeType::AI_DOUBLE:
                     {
                         val.AssignDouble(GetNum<double>());
 
                         break;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
+                    case OdbcNativeType::AI_NUMERIC:
                     {
                         const SQL_NUMERIC_STRUCT* numeric =
                             reinterpret_cast<const 
SQL_NUMERIC_STRUCT*>(GetData());
@@ -1671,9 +1671,9 @@ namespace ignite
 
                 switch (type)
                 {
-                    case IGNITE_ODBC_C_TYPE_WCHAR:
-                    case IGNITE_ODBC_C_TYPE_CHAR:
-                    case IGNITE_ODBC_C_TYPE_BINARY:
+                    case OdbcNativeType::AI_WCHAR:
+                    case OdbcNativeType::AI_CHAR:
+                    case OdbcNativeType::AI_BINARY:
                     {
                         const SqlLen* resLenPtr = GetResLen();
 
@@ -1687,52 +1687,52 @@ namespace ignite
                         else
                             ilen = 0;
 
-                        if (type == IGNITE_ODBC_C_TYPE_WCHAR)
+                        if (type == OdbcNativeType::AI_WCHAR)
                             ilen *= 2;
 
                         return ilen;
                     }
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_SHORT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_SHORT:
+                    case OdbcNativeType::AI_SIGNED_SHORT:
+                    case OdbcNativeType::AI_UNSIGNED_SHORT:
                         return static_cast<SqlLen>(sizeof(short));
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_LONG:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_LONG:
+                    case OdbcNativeType::AI_SIGNED_LONG:
+                    case OdbcNativeType::AI_UNSIGNED_LONG:
                         return static_cast<SqlLen>(sizeof(long));
 
-                    case IGNITE_ODBC_C_TYPE_FLOAT:
+                    case OdbcNativeType::AI_FLOAT:
                         return static_cast<SqlLen>(sizeof(float));
 
-                    case IGNITE_ODBC_C_TYPE_DOUBLE:
+                    case OdbcNativeType::AI_DOUBLE:
                         return static_cast<SqlLen>(sizeof(double));
 
-                    case IGNITE_ODBC_C_TYPE_BIT:
-                    case IGNITE_ODBC_C_TYPE_SIGNED_TINYINT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_TINYINT:
+                    case OdbcNativeType::AI_BIT:
+                    case OdbcNativeType::AI_SIGNED_TINYINT:
+                    case OdbcNativeType::AI_UNSIGNED_TINYINT:
                         return static_cast<SqlLen>(sizeof(char));
 
-                    case IGNITE_ODBC_C_TYPE_SIGNED_BIGINT:
-                    case IGNITE_ODBC_C_TYPE_UNSIGNED_BIGINT:
+                    case OdbcNativeType::AI_SIGNED_BIGINT:
+                    case OdbcNativeType::AI_UNSIGNED_BIGINT:
                         return static_cast<SqlLen>(sizeof(SQLBIGINT));
 
-                    case IGNITE_ODBC_C_TYPE_TDATE:
+                    case OdbcNativeType::AI_TDATE:
                         return static_cast<SqlLen>(sizeof(SQL_DATE_STRUCT));
 
-                    case IGNITE_ODBC_C_TYPE_TTIME:
+                    case OdbcNativeType::AI_TTIME:
                         return static_cast<SqlLen>(sizeof(SQL_TIME_STRUCT));
 
-                    case IGNITE_ODBC_C_TYPE_TTIMESTAMP:
+                    case OdbcNativeType::AI_TTIMESTAMP:
                         return 
static_cast<SqlLen>(sizeof(SQL_TIMESTAMP_STRUCT));
 
-                    case IGNITE_ODBC_C_TYPE_NUMERIC:
+                    case OdbcNativeType::AI_NUMERIC:
                         return static_cast<SqlLen>(sizeof(SQL_NUMERIC_STRUCT));
 
-                    case IGNITE_ODBC_C_TYPE_GUID:
+                    case OdbcNativeType::AI_GUID:
                         return static_cast<SqlLen>(sizeof(SQLGUID));
 
-                    case IGNITE_ODBC_C_TYPE_DEFAULT:
-                    case IGNITE_ODBC_C_TYPE_UNSUPPORTED:
+                    case OdbcNativeType::AI_DEFAULT:
+                    case OdbcNativeType::AI_UNSUPPORTED:
                     default:
                         break;
                 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/src/app/parameter.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/src/app/parameter.cpp 
b/modules/platforms/cpp/odbc/src/app/parameter.cpp
index d351e29..13136f0 100644
--- a/modules/platforms/cpp/odbc/src/app/parameter.cpp
+++ b/modules/platforms/cpp/odbc/src/app/parameter.cpp
@@ -242,12 +242,12 @@ namespace ignite
                     return;
                 }
 
-                if (buffer.GetType() == type_traits::IGNITE_ODBC_C_TYPE_CHAR ||
-                    buffer.GetType() == type_traits::IGNITE_ODBC_C_TYPE_BINARY)
+                if (buffer.GetType() == type_traits::OdbcNativeType::AI_CHAR ||
+                    buffer.GetType() == type_traits::OdbcNativeType::AI_BINARY)
                 {
                     SqlLen slen = len;
 
-                    if (buffer.GetType() == 
type_traits::IGNITE_ODBC_C_TYPE_CHAR && slen == SQL_NTSL)
+                    if (buffer.GetType() == 
type_traits::OdbcNativeType::AI_CHAR && slen == SQL_NTSL)
                     {
                         const char* str = reinterpret_cast<char*>(data);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/5c4b7b03/modules/platforms/cpp/odbc/src/column.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/src/column.cpp 
b/modules/platforms/cpp/odbc/src/column.cpp
index e20c7a8..a9783a9 100644
--- a/modules/platforms/cpp/odbc/src/column.cpp
+++ b/modules/platforms/cpp/odbc/src/column.cpp
@@ -326,22 +326,22 @@ namespace ignite
             size = sizeTmp;
         }
 
-        SqlResult Column::ReadToBuffer(BinaryReaderImpl& reader, 
app::ApplicationDataBuffer& dataBuf)
+        SqlResult::Type Column::ReadToBuffer(BinaryReaderImpl& reader, 
app::ApplicationDataBuffer& dataBuf)
         {
             if (!IsValid())
-                return SQL_RESULT_ERROR;
+                return SqlResult::AI_ERROR;
 
             if (GetUnreadDataLength() == 0)
             {
                 dataBuf.PutNull();
 
-                return SQL_RESULT_NO_DATA;
+                return SqlResult::AI_NO_DATA;
             }
 
             InteropInputStream* stream = reader.GetStream();
 
             if (!stream)
-                return SQL_RESULT_ERROR;
+                return SqlResult::AI_ERROR;
 
             InteropStreamPositionGuard<InteropInputStream> guard(*stream);
 
@@ -451,7 +451,7 @@ namespace ignite
                     int32_t len;
 
                     if (!GetObjectLength(*stream, len))
-                        return SQL_RESULT_ERROR;
+                        return SqlResult::AI_ERROR;
 
                     std::vector<int8_t> data(len);
 
@@ -521,11 +521,11 @@ namespace ignite
                 default:
                 {
                     // This is a fail case. Return false.
-                    return SQL_RESULT_ERROR;
+                    return SqlResult::AI_ERROR;
                 }
             }
 
-            return SQL_RESULT_SUCCESS;
+            return SqlResult::AI_SUCCESS;
         }
 
         void Column::IncreaseOffset(int32_t value)

Reply via email to