ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From voze...@apache.org
Subject [1/2] ignite git commit: IGNITE-2429: Added example.
Date Wed, 16 Mar 2016 10:18:10 GMT
Repository: ignite
Updated Branches:
  refs/heads/ignite-1786 f55b2dbc1 -> d208e44be


http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/examples/src/putgetexample.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/examples/src/putgetexample.cpp b/modules/platforms/cpp/examples/src/putgetexample.cpp
deleted file mode 100644
index 206a2f4..0000000
--- a/modules/platforms/cpp/examples/src/putgetexample.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <iostream>
-
-#include "ignite/ignite.h"
-#include "ignite/ignition.h"
-
-#include "ignite/examples/organization.h"
-
-using namespace ignite;
-using namespace cache;
-
-using namespace examples;
-
-/*
- * Execute individual Put and Get operations.
- * 
- * @param cache Cache instance.
- */
-void PutGet(Cache<int, Organization>& cache) 
-{
-    // Create new Organization to store in cache.
-    Organization org("Microsoft", Address("1096 Eddy Street, San Francisco, CA", 94109));
-    
-    // Put organization to cache.        
-    cache.Put(1, org);
-    
-    // Get recently created employee as a strongly-typed fully de-serialized instance.
-    Organization orgFromCache = cache.Get(1);
-
-    std::cout <<  ">>> Retrieved organization instance from cache: " <<
std::endl;
-    std::cout << orgFromCache.ToString() << std::endl;
-    std::cout << std::endl;
-}
-
-/*
- * Execute bulk Put and Get operations.
- */
-void PutGetAll(Cache<int, Organization>& cache) 
-{
-    // Create new Organizations to store in cache.
-    Organization org1("Microsoft", Address("1096 Eddy Street, San Francisco, CA", 94109));
-    Organization org2("Red Cross", Address("184 Fidler Drive, San Antonio, TX", 78205));
-    
-    // Put created data entries to cache.
-    std::map<int, Organization> vals;
-    
-    vals[1] = org1;
-    vals[2] = org2;
-    
-    cache.PutAll(vals);
-
-    // Get recently created organizations as a strongly-typed fully de-serialized instances.
-    std::set<int> keys;
-    
-    keys.insert(1);
-    keys.insert(2);
-    
-    std::map<int, Organization> valsFromCache = cache.GetAll(keys);
-
-    std::cout <<  ">>> Retrieved organization instances from cache: " <<
std::endl;
-    
-    for (std::map<int, Organization>::iterator it = valsFromCache.begin(); it != valsFromCache.end();
++it) 
-        std::cout <<  it->second.ToString() << std::endl;
-    
-    std::cout << std::endl;
-}
-
-int main()
-{
-    IgniteConfiguration cfg;
-
-    cfg.jvmInitMem = 512;
-    cfg.jvmMaxMem = 512;
-    
-    cfg.springCfgPath = "platforms/cpp/examples/config/example-cache.xml";
- 
-    try 
-    {
-        // Start a node.
-        Ignite grid = Ignition::Start(cfg);
-        
-        std::cout << std::endl;
-        std::cout << ">>> Cache put-get example started." << std::endl;
-        std::cout << std::endl;
-        
-        // Get cache instance.
-        Cache<int, Organization> cache = grid.GetCache<int, Organization>(NULL);
-        
-        // Clear cache.
-        cache.Clear();
-
-        PutGet(cache);
-        PutGetAll(cache);        
-        
-        // Stop node.
-        Ignition::StopAll(false);
-    }
-    catch (IgniteError& err)
-    {
-        std::cout << "An error occurred: " << err.GetText() << std::endl;
-    }
-    
-    std::cout << std::endl;
-    std::cout << ">>> Example finished, press any key to exit ..." <<
std::endl;
-    std::cout << std::endl;
-    
-    std::cin.get();
-    
-    return 0;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/odbc-test/Makefile.am
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc-test/Makefile.am b/modules/platforms/cpp/odbc-test/Makefile.am
index c582c20..f8966f0 100644
--- a/modules/platforms/cpp/odbc-test/Makefile.am
+++ b/modules/platforms/cpp/odbc-test/Makefile.am
@@ -25,23 +25,24 @@ AM_CXXFLAGS = -Wall -std=c++0x
 
 noinst_PROGRAMS = ignite-odbc-tests
 
-ignite_odbc_tests_SOURCES = src/teamcity_boost.cpp \
-                       src/teamcity_messages.cpp \
-                       src/parser_test.cpp \
-                       src/cursor_test.cpp \
-                       src/connection_info_test.cpp \
-                       src/application_data_buffer_test.cpp \
-                       src/configuration_test.cpp \
-                       src/row_test.cpp \
-                       src/utility_test.cpp \
-                       ../odbc/src/cursor.cpp \
-                       ../odbc/src/config/connection_info.cpp \
-                       ../odbc/src/app/application_data_buffer.cpp \
-                       ../odbc/src/config/configuration.cpp \
-                       ../odbc/src/row.cpp \
-                       ../odbc/src/decimal.cpp \
-                       ../odbc/src/utility.cpp \
-                       ../odbc/src/result_page.cpp
+ignite_odbc_tests_SOURCES = src/teamcity_boost.cpp                        \
+                            src/teamcity_messages.cpp                     \
+                            src/parser_test.cpp                           \
+                            src/cursor_test.cpp                           \
+                            src/connection_info_test.cpp                  \
+                            src/application_data_buffer_test.cpp          \
+                            src/configuration_test.cpp                    \
+                            src/row_test.cpp                              \
+                            src/utility_test.cpp                          \
+                            ../odbc/src/cursor.cpp                        \
+                            ../odbc/src/config/connection_info.cpp        \
+                            ../odbc/src/app/application_data_buffer.cpp   \
+                            ../odbc/src/config/configuration.cpp          \
+                            ../odbc/src/row.cpp                           \
+                            ../odbc/src/column.cpp                        \
+                            ../odbc/src/decimal.cpp                       \
+                            ../odbc/src/utility.cpp                       \
+                            ../odbc/src/result_page.cpp
 
 ignite_odbc_tests_LDFLAGS = -static-libtool-libs -L/usr/local/lib -lignite-binary -ldl
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/odbc/Makefile.am
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/Makefile.am b/modules/platforms/cpp/odbc/Makefile.am
index 09f35fd..e9b83e5 100644
--- a/modules/platforms/cpp/odbc/Makefile.am
+++ b/modules/platforms/cpp/odbc/Makefile.am
@@ -46,8 +46,10 @@ COMMON_SRC = os/linux/src/system/socket_client.cpp        \
              src/query/primary_keys_query.cpp             \
              src/query/table_metadata_query.cpp           \
              src/query/type_info_query.cpp                \
+             src/query/special_columns_query.cpp          \
              src/result_page.cpp                          \
              src/row.cpp                                  \
+             src/column.cpp                               \
              src/statement.cpp                            \
              src/type_traits.cpp                          \
              src/utility.cpp

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/odbc/README.txt
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/README.txt b/modules/platforms/cpp/odbc/README.txt
new file mode 100644
index 0000000..e9d423f
--- /dev/null
+++ b/modules/platforms/cpp/odbc/README.txt
@@ -0,0 +1,88 @@
+Apache Ignite ODBC driver
+=======================================
+
+Apache Ignite provides ODBC driver that can be used to retrieve distributed 
+data from cache using standard SQL queries and native ODBC API.
+
+For more info on ODBC please refer to ODBC Programmer's Reference at
+https://msdn.microsoft.com/en-us/library/ms714177.aspx
+
+To use Apache Ignite ODBC driver you first need to build and install it for
+your system. You can find driver installation instructions below. For build
+instruction please refer to $IGNITE_HOME/platforms/cpp/DEVNOTES.txt.
+
+Connection string and DSN arguments
+=======================================
+
+Apache Ignite ODBC driver supports and uses following connection string/DSN
+arguments:
+
+1. Address of the node to connect to:
+   SERVER=<host_name_or_IP_address>;
+   
+2. Port on which OdbcProcessor of the node is listening:
+   PORT=<TCP_port>;
+   
+3. Datagrid cache to connect to:
+   CACHE=<cache_name>;
+   
+All arguments are case-insensitive so "SERVER", "Server" and "server" all are
+valid server address arguments.
+
+Installing ODBC driver on Linux
+=======================================
+
+To be able to build and install ODBC driver on Linux you first need to install
+ODBC Driver Manager. Apache Ignite ODBC driver has been tested with UnixODBC
+(http://www.unixodbc.org). 
+
+Once you have built and installed Ignite ODBC Driver i.e. libignite-odbc.so it
+is most likely placed to /usr/local/lib. To install and be able to use Ignite
+ODBC driver you should perfrom the following steps:
+
+1. Ensure linker is able to locate all dependencies of the ODBC driver. You
+   can check it using "ldd" command like this (assuming ODBC driver is located
+   under /usr/local/lib):
+   $ ldd /usr/local/lib/libignite-odbc.so.
+   
+2. Edit file $IGNITE_HOME/platforms/cpp/odbc/install/ignite-odbc-install.ini
+   and ensure that "Driver" parameter of the "Apache Ignite" section points
+   to the right location where libignite-odbc.so is located.
+   
+3. To install Apache Ignite ODBC driver use the following command:
+   $ odbcinst -i -d -f $IGNITE_HOME/platforms/cpp/odbc/install/ignite-odbc-install.ini
+   To perform this command you most likely will need root privileges.
+
+Installing ODBC driver on Windows
+=======================================
+
+For 32-bit Windows you should use 32-bit version of the driver while for the
+64-bit Windows you can use 64-bit driver as well as 32-bit.
+
+To install driver on Windows you should first choose a directory on your
+filesystem where your driver or drivers will be located. Once you have
+choosen the place you should put your driver there and ensure that all driver
+dependencies can be resolved i.e. they can be found either in the %PATH% or
+in the same directory as the driver.
+
+After that you should use one of the install scripts from the directory 
+%IGNITE_HOME%/platforms/cpp/odbc/install:
+
+For the 32-bit Windows you should use file install_x86.cmd like that:
+$ install_x86 <absolute_path_to_32_bit_driver>
+
+For the 64-bit Windows you should use file install_amd64.cmd like that:
+$ install_amd64 <absolute_path_to_64_bit_driver> [<absolute_path_to_32_bit_driver>]
+
+Most likely you will need OS administrator privileges to execute these scripts.
+
+Thats it. Your driver/drivers are installed.
+
+After the installation
+=======================================
+   
+Now Apache Ignite ODBC driver is installed and ready for use. You can connect
+to it and use it like to any other ODBC driver.
+
+For further instruction on the usage of the ODBC driver please refer to the
+official ODBC documentation.

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/odbc/install/ignite-odbc-install.ini
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/install/ignite-odbc-install.ini b/modules/platforms/cpp/odbc/install/ignite-odbc-install.ini
new file mode 100644
index 0000000..2de265a
--- /dev/null
+++ b/modules/platforms/cpp/odbc/install/ignite-odbc-install.ini
@@ -0,0 +1,5 @@
+[Apache Ignite]
+Description=Apache Ignite
+Driver=/usr/local/lib/libignite-odbc.so
+DriverODBCVer=03.00
+FileUsage=0
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/odbc/install/install_amd64.cmd
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/install/install_amd64.cmd b/modules/platforms/cpp/odbc/install/install_amd64.cmd
new file mode 100644
index 0000000..15b7bd8
--- /dev/null
+++ b/modules/platforms/cpp/odbc/install/install_amd64.cmd
@@ -0,0 +1,29 @@
+@echo off
+
+set ODBC_AMD64="%1"
+set ODBC_X86="%2"
+
+if exist %ODBC_AMD64% (
+	:: Installing 64-bit driver.
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v DriverODBCVer /t
REG_SZ /d "03.80" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v UsageCount /t REG_DWORD
/d 00000001 /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Driver /t REG_SZ
/d "%ODBC_AMD64%" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Setup /t REG_SZ
/d "%ODBC_AMD64%" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" /v "Apache Ignite"
/t REG_SZ /d "Installed" /f    
+) else (
+	echo 64-bit driver can not be found: %ODBC_AMD64%
+	echo Call format: install_amd64 path_to_64_bit_driver [path_to_32_bit_driver]
+	pause
+	exit /b 1
+)
+
+if exist %ODBC_X86% (
+	rem Installing 32-bit driver.
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Apache Ignite" /v DriverODBCVer
/t REG_SZ /d "03.80" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Apache Ignite" /v UsageCount
/t REG_DWORD /d 00000001 /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Apache Ignite" /v Driver
/t REG_SZ /d "%ODBC_X86%" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Apache Ignite" /v Setup
/t REG_SZ /d "%ODBC_X86%" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers" /v "Apache
Ignite" /t REG_SZ /d "Installed" /f    
+) else (
+	echo 32-bit driver can not be found: %ODBC_X86%
+)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/odbc/install/install_x86.cmd
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/install/install_x86.cmd b/modules/platforms/cpp/odbc/install/install_x86.cmd
new file mode 100644
index 0000000..077589d
--- /dev/null
+++ b/modules/platforms/cpp/odbc/install/install_x86.cmd
@@ -0,0 +1,16 @@
+@echo off
+
+set ODBC="%1"
+
+if exist %ODBC% (
+	:: Installing driver.
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v DriverODBCVer /t
REG_SZ /d "03.80" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v UsageCount /t REG_DWORD
/d 00000001 /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Driver /t REG_SZ
/d "%ODBC%" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Setup /t REG_SZ
/d "%ODBC%" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" /v "Apache Ignite"
/t REG_SZ /d "Installed" /f    
+) else (
+	echo Driver can not be found: %ODBC%
+	echo Call format: install_x86 path_to_driver
+	pause
+)

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/odbc/project/vs/odbc.vcxproj
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/project/vs/odbc.vcxproj b/modules/platforms/cpp/odbc/project/vs/odbc.vcxproj
index f22b0b1..8cc612f 100644
--- a/modules/platforms/cpp/odbc/project/vs/odbc.vcxproj
+++ b/modules/platforms/cpp/odbc/project/vs/odbc.vcxproj
@@ -90,7 +90,7 @@
       <Optimization>Disabled</Optimization>
       <SDLCheck>false</SDLCheck>
       <AdditionalIncludeDirectories>$(ProjectDir)\..\..\..\common\include;$(ProjectDir)\..\..\..\common\os\win\include;$(ProjectDir)\..\..\src;$(ProjectDir)\..\..\os\win;$(ProjectDir)\..\..\..\binary\include;$(ProjectDir)\..\..\..\binary\os\win\include;$(ProjectDir)\..\..\include</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;IGNITE_FRIEND;ODBC_DEBUG;ODBC_LOG_PATH="D:\\odbc.log";_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;IGNITE_FRIEND;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -104,7 +104,7 @@
       <Optimization>Disabled</Optimization>
       <SDLCheck>false</SDLCheck>
       <AdditionalIncludeDirectories>$(ProjectDir)\..\..\..\common\include;$(ProjectDir)\..\..\..\common\os\win\include;$(ProjectDir)\..\..\src;$(ProjectDir)\..\..\os\win;$(ProjectDir)\..\..\..\binary\include;$(ProjectDir)\..\..\..\binary\os\win\include;$(ProjectDir)\..\..\include</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;IGNITE_FRIEND;ODBC_DEBUG;ODBC_LOG_PATH="D:\\odbc.log";_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;IGNITE_FRIEND;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -120,7 +120,7 @@
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <SDLCheck>false</SDLCheck>
       <AdditionalIncludeDirectories>$(ProjectDir)\..\..\..\common\include;$(ProjectDir)\..\..\..\common\os\win\include;$(ProjectDir)\..\..\src;$(ProjectDir)\..\..\os\win;$(ProjectDir)\..\..\..\binary\include;$(ProjectDir)\..\..\..\binary\os\win\include;$(ProjectDir)\..\..\include</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;IGNITE_FRIEND;ODBC_DEBUG;ODBC_LOG_PATH="D:\\odbc.log";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;IGNITE_FRIEND;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -138,7 +138,7 @@
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <SDLCheck>false</SDLCheck>
       <AdditionalIncludeDirectories>$(ProjectDir)\..\..\..\common\include;$(ProjectDir)\..\..\..\common\os\win\include;$(ProjectDir)\..\..\src;$(ProjectDir)\..\..\os\win;$(ProjectDir)\..\..\..\binary\include;$(ProjectDir)\..\..\..\binary\os\win\include;$(ProjectDir)\..\..\include</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;IGNITE_FRIEND;ODBC_DEBUG;ODBC_LOG_PATH="D:\\odbc.log";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;IGNITE_FRIEND;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/odbc/src/environment.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/src/environment.cpp b/modules/platforms/cpp/odbc/src/environment.cpp
index ba213ab..3928295 100644
--- a/modules/platforms/cpp/odbc/src/environment.cpp
+++ b/modules/platforms/cpp/odbc/src/environment.cpp
@@ -93,7 +93,7 @@ namespace ignite
             {
                 case IGNITE_SQL_ENV_ATTR_ODBC_VERSION:
                 {
-                    int32_t version = reinterpret_cast<int32_t>(value);
+                    int32_t version = static_cast<int32_t>(reinterpret_cast<intptr_t>(value));
 
                     if (version != odbcVersion)
                     {
@@ -108,7 +108,7 @@ namespace ignite
 
                 case IGNITE_SQL_ENV_ATTR_OUTPUT_NTS:
                 {
-                    int32_t nts = reinterpret_cast<int32_t>(value);
+                    int32_t nts = static_cast<int32_t>(reinterpret_cast<intptr_t>(value));
 
                     if (nts != odbcNts)
                     {

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/odbc/src/query/data_query.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/src/query/data_query.cpp b/modules/platforms/cpp/odbc/src/query/data_query.cpp
index bf508b6..6b4e741 100644
--- a/modules/platforms/cpp/odbc/src/query/data_query.cpp
+++ b/modules/platforms/cpp/odbc/src/query/data_query.cpp
@@ -96,16 +96,16 @@ namespace ignite
                 {
                     app::ColumnBindingMap::iterator it = columnBindings.find(i);
 
-                    if (it != columnBindings.end())
-                    {
-                        SqlResult result = row->ReadColumnToBuffer(i, it->second);
+                    if (it == columnBindings.end())
+                        continue;
+
+                    SqlResult result = row->ReadColumnToBuffer(i, it->second);
 
-                        if (result == SQL_RESULT_ERROR)
-                        {
-                            diag.AddStatusRecord(SQL_STATE_01S01_ERROR_IN_ROW, "Can not retrieve
row column.", 0, i);
+                    if (result == SQL_RESULT_ERROR)
+                    {
+                        diag.AddStatusRecord(SQL_STATE_01S01_ERROR_IN_ROW, "Can not retrieve
row column.", 0, i);
 
-                            return SQL_RESULT_ERROR;
-                        }
+                        return SQL_RESULT_ERROR;
                     }
                 }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/project/vs/ignite.slnrel
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/project/vs/ignite.slnrel b/modules/platforms/cpp/project/vs/ignite.slnrel
index 4119c73..d187ea1 100644
--- a/modules/platforms/cpp/project/vs/ignite.slnrel
+++ b/modules/platforms/cpp/project/vs/ignite.slnrel
@@ -12,6 +12,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ignite", "..\..\ignite\proj
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "binary", "..\..\binary\project\vs\binary.vcxproj",
"{4F15669B-92EB-49F0-B774-8F19BAE0B960}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "odbc", "..\..\odbc\project\vs\odbc.vcxproj",
"{12F77E12-38FE-42D3-B1DA-7E5979362961}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Release|x64 = Release|x64
@@ -49,6 +51,14 @@ Global
 		{4F15669B-92EB-49F0-B774-8F19BAE0B960}.Release|Win32.Build.0 = Release|Win32
 		{4F15669B-92EB-49F0-B774-8F19BAE0B960}.Release|x64.ActiveCfg = Release|x64
 		{4F15669B-92EB-49F0-B774-8F19BAE0B960}.Release|x64.Build.0 = Release|x64
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Debug|Win32.ActiveCfg = Debug|Win32
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Debug|Win32.Build.0 = Debug|Win32
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Debug|x64.ActiveCfg = Debug|x64
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Debug|x64.Build.0 = Debug|x64
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Release|Win32.ActiveCfg = Release|Win32
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Release|Win32.Build.0 = Release|Win32
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Release|x64.ActiveCfg = Release|x64
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

http://git-wip-us.apache.org/repos/asf/ignite/blob/d208e44b/modules/platforms/cpp/project/vs/ignite_x86.slnrel
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/project/vs/ignite_x86.slnrel b/modules/platforms/cpp/project/vs/ignite_x86.slnrel
index ee1c330..0144f78 100644
--- a/modules/platforms/cpp/project/vs/ignite_x86.slnrel
+++ b/modules/platforms/cpp/project/vs/ignite_x86.slnrel
@@ -12,6 +12,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ignite", "..\..\ignite\proj
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "binary", "..\..\binary\project\vs\binary.vcxproj",
"{4F15669B-92EB-49F0-B774-8F19BAE0B960}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "odbc", "..\..\odbc\project\vs\odbc.vcxproj",
"{12F77E12-38FE-42D3-B1DA-7E5979362961}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Release|Win32 = Release|Win32
@@ -49,6 +51,14 @@ Global
 		{4F15669B-92EB-49F0-B774-8F19BAE0B960}.Release|Win32.Build.0 = Release|Win32
 		{4F15669B-92EB-49F0-B774-8F19BAE0B960}.Release|x64.ActiveCfg = Release|x64
 		{4F15669B-92EB-49F0-B774-8F19BAE0B960}.Release|x64.Build.0 = Release|x64
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Debug|Win32.ActiveCfg = Debug|Win32
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Debug|Win32.Build.0 = Debug|Win32
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Debug|x64.ActiveCfg = Debug|x64
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Debug|x64.Build.0 = Debug|x64
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Release|Win32.ActiveCfg = Release|Win32
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Release|Win32.Build.0 = Release|Win32
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Release|x64.ActiveCfg = Release|x64
+		{12F77E12-38FE-42D3-B1DA-7E5979362961}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE


Mime
View raw message