You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/01/27 11:39:55 UTC
[22/28] ignite git commit: IGNITE-2442: ODBC projects moved to main
cpp solution.
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/common_types.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/common_types.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/common_types.h
deleted file mode 100644
index 8e1dbf2..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/common_types.h
+++ /dev/null
@@ -1,225 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_COMMON_TYPES
-#define _IGNITE_ODBC_DRIVER_COMMON_TYPES
-
-#include <stdint.h>
-
-namespace ignite
-{
- namespace odbc
- {
-
-#ifdef _WIN64
- typedef long long SqlLen;
-#else
- typedef long SqlLen;
-#endif
-
- /**
- * SQL result.
- */
- enum SqlResult
- {
- /** Success. */
- SQL_RESULT_SUCCESS,
-
- /** Success with info. */
- SQL_RESULT_SUCCESS_WITH_INFO,
-
- /** Error. */
- SQL_RESULT_ERROR,
-
- /** No more data. */
- SQL_RESULT_NO_DATA
- };
-
- /**
- * Provides detailed information about the cause of a warning or error.
- */
- enum SqlState
- {
- /** Undefined state. Internal, should never be exposed to user. */
- SQL_STATE_UNKNOWN,
-
- /** Output data has been truncated. */
- SQL_STATE_01004_DATA_TRUNCATED,
-
- /** Error in row. */
- SQL_STATE_01S01_ERROR_IN_ROW,
-
- /**
- * The driver did not support the specified value and
- * substituted a similar value.
- */
- SQL_STATE_01S02_OPTION_VALUE_CHANGED,
-
- /** Invalid cursor state. */
- SQL_STATE_24000_INVALID_CURSOR_STATE,
-
- /**
- * The driver was unable to establish a connection with the data
- * source.
- */
- SQL_STATE_08001_CANNOT_CONNECT,
-
- /**
- * The specified ConnectionHandle had already been used
- * to establish a connection with a data source, and the connection
- * was still open.
- */
- SQL_STATE_08002_ALREADY_CONNECTED,
-
- /** The connection specified was not open. */
- SQL_STATE_08003_NOT_CONNECTED,
-
- /**
- * An error occurred for which there was no specific SQLSTATE
- * and for which no implementation-specific SQLSTATE was defined.
- */
- SQL_STATE_HY000_GENERAL_ERROR,
-
- /**
- * The driver was unable to allocate memory for the specified
- * handle.
- */
- SQL_STATE_HY001_MEMORY_ALLOCATION,
-
- /** Function sequence error. */
- SQL_STATE_HY010_SEQUENCE_ERROR,
-
- /** Column type out of range. */
- SQL_STATE_HY097_COLUMN_TYPE_OUT_OF_RANGE,
-
- /**
- * The driver does not support the feature of ODBC behavior that
- * the application requested.
- */
- SQL_STATE_HYC00_OPTIONAL_FEATURE_NOT_IMPLEMENTED,
-
- /**
- * The connection timeout period expired before the data source
- * responded to the request.
- */
- SQL_STATE_HYT01_CONNECTIOIN_TIMEOUT
- };
-
- /**
- * Diagnostic field type.
- */
- enum DiagnosticField
- {
- /** Field type is unknown to the driver. */
- IGNITE_SQL_DIAG_UNKNOWN,
-
- /** Header record field: Count of rows in the cursor. */
- IGNITE_SQL_DIAG_HEADER_CURSOR_ROW_COUNT,
-
- /**
- * Header record field: String that describes the SQL statement
- * that the underlying function executed.
- */
- IGNITE_SQL_DIAG_HEADER_DYNAMIC_FUNCTION,
-
- /**
- * Header record field: Numeric code that describes the SQL
- * statement that was executed by the underlying function.
- */
- IGNITE_SQL_DIAG_HEADER_DYNAMIC_FUNCTION_CODE,
-
- /** Header record field: Number of status records. */
- IGNITE_SQL_DIAG_HEADER_NUMBER,
-
- /** Header record field: Last operation return code. */
- IGNITE_SQL_DIAG_HEADER_RETURNCODE,
-
- /** Header record field: Row count. */
- IGNITE_SQL_DIAG_HEADER_ROW_COUNT,
-
- /** Status record field: Class origin. */
- IGNITE_SQL_DIAG_STATUS_CLASS_ORIGIN,
-
- /** Status record field: Column number. */
- IGNITE_SQL_DIAG_STATUS_COLUMN_NUMBER,
-
- /** Status record field: Connection name. */
- IGNITE_SQL_DIAG_STATUS_CONNECTION_NAME,
-
- /** Status record field: Message text. */
- IGNITE_SQL_DIAG_STATUS_MESSAGE_TEXT,
-
- /** Status record field: Native result code. */
- IGNITE_SQL_DIAG_STATUS_NATIVE,
-
- /** Status record field: Row number. */
- IGNITE_SQL_DIAG_STATUS_ROW_NUMBER,
-
- /** Status record field: Server name. */
- IGNITE_SQL_DIAG_STATUS_SERVER_NAME,
-
- /** Status record field: SQLSTATE. */
- IGNITE_SQL_DIAG_STATUS_SQLSTATE,
-
- /** Status record field: Subclass origin. */
- IGNITE_SQL_DIAG_STATUS_SUBCLASS_ORIGIN
- };
-
- /**
- * Environment attribute.
- */
- enum EnvironmentAttribute
- {
- /** ODBC attribute is unknown to the driver. */
- IGNITE_SQL_ENV_ATTR_UNKNOWN,
-
- /** ODBC version. */
- IGNITE_SQL_ENV_ATTR_ODBC_VERSION,
-
- /** Null-termination of strings. */
- IGNITE_SQL_ENV_ATTR_OUTPUT_NTS
- };
-
- /**
- * Convert internal Ignite type into ODBC SQL return code.
- *
- * @param result Internal result type.
- * @return ODBC result type.
- */
- int SqlResultToReturnCode(SqlResult result);
-
- /**
- * Convert ODBC field type to internal DiagnosticField type value.
- *
- * @param field ODBC field type.
- * @return Internal DiagnosticField type value.
- */
- DiagnosticField DiagnosticFieldToInternal(int16_t field);
-
- /**
- * Convert environment attribute to internal EnvironmentAttribute type value.
- *
- * @param attr Environment attribute.
- * @return Internal EnvironmentAttribute type value.
- */
- EnvironmentAttribute EnvironmentAttributeToInternal(int32_t attr);
-
-
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/config/configuration.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/config/configuration.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/config/configuration.h
deleted file mode 100644
index f85a5de..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/config/configuration.h
+++ /dev/null
@@ -1,164 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_CONFIGURATION
-#define _IGNITE_ODBC_DRIVER_CONFIGURATION
-
-#include <stdint.h>
-#include <string>
-#include <map>
-
-#include <ignite/common/common.h>
-
-namespace ignite
-{
- namespace odbc
- {
- namespace config
- {
- /**
- * ODBC configuration abstraction.
- */
- class Configuration
- {
- public:
- /**
- * Default constructor.
- */
- Configuration();
-
- /**
- * Destructor.
- */
- ~Configuration();
-
- /**
- * Fill configuration data using connection string.
- *
- * @param str Pointer to string data.
- * @param len String length.
- */
- void FillFromConnectString(const char* str, size_t len);
-
- /**
- * Fill configuration data using connection string.
- *
- * @param str Connect string.
- */
- void FillFromConnectString(const std::string& str);
-
- /**
- * Convert configure to connect string.
- *
- * @return Connect string.
- */
- std::string ToConnectString() const;
-
- /**
- * Fill configuration data using config attributes string.
- *
- * @param str Pointer to list of zero-terminated strings.
- * Terminated by two zero bytes.
- */
- void FillFromConfigAttributes(const char* attributes);
-
- /**
- * Get server port.
- *
- * @return Server port.
- */
- uint16_t GetPort() const
- {
- return port;
- }
-
- /**
- * Get DSN.
- *
- * @return Data Source Name.
- */
- const std::string& GetDsn() const
- {
- return dsn;
- }
-
- /**
- * Get Driver.
- *
- * @return Driver name.
- */
- const std::string& GetDriver() const
- {
- return driver;
- }
-
- /**
- * Get server host.
- *
- * @return Server host.
- */
- const std::string& GetHost() const
- {
- return host;
- }
-
- /**
- * Get cache.
- *
- * @return Cache name.
- */
- const std::string& GetCache() const
- {
- return cache;
- }
-
- private:
- IGNITE_NO_COPY_ASSIGNMENT(Configuration);
-
- /** Map containing connect arguments. */
- typedef std::map<std::string, std::string> ArgumentMap;
-
- /**
- * Parse connect string into key-value storage.
- *
- * @param str String to parse.
- * @param len String length.
- * @param params Parsing result.
- */
- void ParseAttributeList(const char* str, size_t len, char delimeter, ArgumentMap& args) const;
-
- /** Data Source Name. */
- std::string dsn;
-
- /** Driver name. */
- std::string driver;
-
- /** Server hostname. */
- std::string host;
-
- /** Port of the server. */
- uint16_t port;
-
- /** Cache name. */
- std::string cache;
- };
- }
-
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/config/connection_info.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/config/connection_info.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/config/connection_info.h
deleted file mode 100644
index 7f2738c..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/config/connection_info.h
+++ /dev/null
@@ -1,98 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_CONNECTION_INFO
-#define _IGNITE_ODBC_DRIVER_CONNECTION_INFO
-
-#include <stdint.h>
-
-#include <map>
-
-#include <ignite/common/common.h>
-#include <ignite/odbc/common_types.h>
-
-namespace ignite
-{
- namespace odbc
- {
- namespace config
- {
- /**
- * Connection info.
- */
- class ConnectionInfo
- {
- public:
- /** Info type. */
- typedef unsigned short InfoType;
-
-#ifdef ODBC_DEBUG
- /**
- * Convert type to string containing its name.
- * Debug function.
- * @param type Info type.
- * @return Null-terminated string containing types name.
- */
- static const char* InfoTypeToString(InfoType type);
-#endif
-
- /**
- * Constructor.
- */
- ConnectionInfo();
-
- /**
- * Destructor.
- */
- ~ConnectionInfo();
-
- /**
- * Get info of any type.
- * @param type Info type.
- * @param buf Result buffer pointer.
- * @param buflen Result buffer length.
- * @param reslen Result value length pointer.
- * @return True on success.
- */
- SqlResult GetInfo(InfoType type, void* buf, short buflen, short* reslen) const;
-
- private:
- IGNITE_NO_COPY_ASSIGNMENT(ConnectionInfo);
-
- /** Associative array of string parameters. */
- typedef std::map<InfoType, std::string> StringInfoMap;
-
- /** Associative array of unsigned integer parameters. */
- typedef std::map<InfoType, unsigned int> UintInfoMap;
-
- /** Associative array of unsigned short parameters. */
- typedef std::map<InfoType, unsigned short> UshortInfoMap;
-
- /** String parameters. */
- StringInfoMap strParams;
-
- /** Integer parameters. */
- UintInfoMap intParams;
-
- /** Short parameters. */
- UshortInfoMap shortParams;
- };
- }
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/connection.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/connection.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/connection.h
deleted file mode 100644
index 56037f5..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/connection.h
+++ /dev/null
@@ -1,258 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_CONNECTION
-#define _IGNITE_ODBC_DRIVER_CONNECTION
-
-#include <stdint.h>
-
-#include <vector>
-
-#include "ignite/odbc/parser.h"
-#include "ignite/odbc/system/socket_client.h"
-#include "ignite/odbc/config/connection_info.h"
-#include "ignite/odbc/diagnostic/diagnosable_adapter.h"
-
-namespace ignite
-{
- namespace odbc
- {
- class Statement;
-
- /**
- * ODBC node connection.
- */
- class Connection : public diagnostic::DiagnosableAdapter
- {
- friend class Environment;
- public:
- /**
- * Destructor.
- */
- ~Connection();
-
- /**
- * Get connection info.
- *
- * @return Connection info.
- */
- const config::ConnectionInfo& GetInfo() const;
-
- /**
- * Get info of any type.
- *
- * @param type Info type.
- * @param buf Result buffer pointer.
- * @param buflen Result buffer length.
- * @param reslen Result value length pointer.
- */
- void GetInfo(config::ConnectionInfo::InfoType type, void* buf, short buflen, short* reslen);
-
- /**
- * Establish connection to ODBC server.
- *
- * @param server Server (DSN).
- */
- void Establish(const std::string& server);
-
- /**
- * Establish connection to ODBC server.
- *
- * @param host Host.
- * @param port Port.
- * @param cache Cache name to connect to.
- */
- void Establish(const std::string& host, uint16_t port, const std::string& cache);
-
- /**
- * Release established connection.
- *
- * @return Operation result.
- */
- void Release();
-
- /**
- * Create statement associated with the connection.
- *
- * @return Pointer to valid instance on success and NULL on failure.
- */
- Statement* CreateStatement();
-
- /**
- * Send data by established connection.
- *
- * @param data Data buffer.
- * @param len Data length.
- * @return True on success.
- */
- bool Send(const int8_t* data, size_t len);
-
- /**
- * Receive next message.
- *
- * @param msg Buffer for message.
- * @return True on success.
- */
- bool Receive(std::vector<int8_t>& msg);
-
- /**
- * Get name of the assotiated cache.
- *
- * @return Cache name.
- */
- const std::string& GetCache() const;
-
- /**
- * Create diagnostic record associated with the Connection instance.
- *
- * @param sqlState SQL state.
- * @param message Message.
- * @param rowNum Associated row number.
- * @param columnNum Associated column number.
- * @return DiagnosticRecord associated with the instance.
- */
- diagnostic::DiagnosticRecord CreateStatusRecord(SqlState sqlState,
- const std::string& message, int32_t rowNum = 0, int32_t columnNum = 0) const;
-
- /**
- * Synchronously send request message and receive response.
- *
- * @param req Request message.
- * @param rsp Response message.
- * @return True on success.
- */
- template<typename ReqT, typename RspT>
- bool SyncMessage(const ReqT& req, RspT& rsp)
- {
- std::vector<int8_t> tempBuffer;
-
- parser.Encode(req, tempBuffer);
-
- bool requestSent = Send(tempBuffer.data(), tempBuffer.size());
-
- if (!requestSent)
- return false;
-
- bool responseReceived = Receive(tempBuffer);
-
- if (!responseReceived)
- return false;
-
- parser.Decode(rsp, tempBuffer);
-
- return true;
- }
-
- /**
- * Perform transaction commit.
- */
- void TransactionCommit();
-
- /**
- * Perform transaction rollback.
- */
- void TransactionRollback();
-
- private:
- IGNITE_NO_COPY_ASSIGNMENT(Connection);
-
- /**
- * Establish connection to ODBC server.
- * Internal call.
- *
- * @param server Server (DNS).
- * @return Operation result.
- */
- SqlResult InternalEstablish(const std::string& server);
-
- /**
- * Establish connection to ODBC server.
- * Internal call.
- *
- * @param host Host.
- * @param port Port.
- * @param cache Cache name to connect to.
- * @return Operation result.
- */
- SqlResult InternalEstablish(const std::string& host, uint16_t port, const std::string& cache);
-
- /**
- * Release established connection.
- * Internal call.
- *
- * @return Operation result.
- */
- SqlResult InternalRelease();
-
- /**
- * Get info of any type.
- * Internal call.
- *
- * @param type Info type.
- * @param buf Result buffer pointer.
- * @param buflen Result buffer length.
- * @param reslen Result value length pointer.
- * @return Operation result.
- */
- SqlResult InternalGetInfo(config::ConnectionInfo::InfoType type, void* buf, short buflen, short* reslen);
-
- /**
- * Create statement associated with the connection.
- * Internal call.
- *
- * @param Pointer to valid instance on success and NULL on failure.
- * @return Operation result.
- */
- SqlResult InternalCreateStatement(Statement*& statement);
-
- /**
- * Perform transaction commit on all the associated connections.
- * Internal call.
- *
- * @return Operation result.
- */
- SqlResult InternalTransactionCommit();
-
- /**
- * Perform transaction rollback on all the associated connections.
- * Internal call.
- *
- * @return Operation result.
- */
- SqlResult InternalTransactionRollback();
-
- /**
- * Constructor.
- */
- Connection();
-
- /** Socket. */
- tcp::SocketClient socket;
-
- /** State flag. */
- bool connected;
-
- /** Cache name. */
- std::string cache;
-
- /** Message parser. */
- Parser parser;
- };
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/cursor.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/cursor.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/cursor.h
deleted file mode 100644
index 7d4c925..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/cursor.h
+++ /dev/null
@@ -1,108 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_CURSOR
-#define _IGNITE_ODBC_DRIVER_CURSOR
-
-#include <stdint.h>
-
-#include <map>
-#include <memory>
-
-#include "ignite/odbc/result_page.h"
-#include "ignite/odbc/common_types.h"
-#include "ignite/odbc/row.h"
-
-namespace ignite
-{
- namespace odbc
- {
- /**
- * Query result cursor.
- */
- class Cursor
- {
- public:
- /**
- * Constructor.
- * @param queryId ID of the executed query.
- */
- Cursor(int64_t queryId);
-
- /**
- * Destructor.
- */
- ~Cursor();
-
- /**
- * Move cursor to the next result row.
- * @return False if data update required or no more data.
- */
- bool Increment();
-
- /**
- * Check if the cursor needs data update.
- * @return True if the cursor needs data update.
- */
- bool NeedDataUpdate() const;
-
- /**
- * Check if the cursor has next row row.
- * @return True if the cursor has next row row.
- */
- bool HasNext() const;
-
- /**
- * Get query ID.
- * @return Query ID.
- */
- int64_t GetQueryId() const
- {
- return queryId;
- }
-
- /**
- * Update current cursor page data.
- * @param newPage New result page.
- */
- void UpdateData(std::auto_ptr<ResultPage>& newPage);
-
- /**
- * Get current row.
- * @return Current row.
- */
- Row* GetRow();
-
- private:
- IGNITE_NO_COPY_ASSIGNMENT(Cursor);
-
- /** Cursor id. */
- int64_t queryId;
-
- /** Current page. */
- std::auto_ptr<ResultPage> currentPage;
-
- /** Row position in current page. */
- int32_t currentPagePos;
-
- /** Current row. */
- std::auto_ptr<Row> currentRow;
- };
- }
-}
-
-#endif
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/decimal.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/decimal.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/decimal.h
deleted file mode 100644
index abf7f34..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/decimal.h
+++ /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.
- */
-
-#ifndef _IGNITE_DECIMAL
-#define _IGNITE_DECIMAL
-
-#include <stdint.h>
-
-namespace ignite
-{
- //TODO: move to binary or common library.
- class Decimal
- {
- friend void swap(Decimal& first, Decimal& second);
- public:
- /**
- * Default constructor.
- */
- Decimal();
-
- /**
- * Constructor.
- *
- * @param scale Scale.
- * @param mag Magnitude. Value is copied.
- * @param len Magnitude length in bytes.
- */
- Decimal(int32_t scale, const int8_t* mag, int32_t len);
-
- /**
- * Copy constructor.
- *
- * @param other Other instance.
- */
- Decimal(const Decimal& other);
-
- /**
- * Destructor.
- */
- ~Decimal();
-
- /**
- * Copy operator.
- *
- * @param other Other instance.
- * @return This.
- */
- Decimal& operator=(const Decimal& other);
-
- /**
- * Convert to double.
- */
- operator double() const;
-
- /**
- * Get scale.
- *
- * @return Scale.
- */
- int32_t GetScale() const;
-
- /**
- * Get sign.
- *
- * @return Sign: -1 if negative and 1 if positive.
- */
- int32_t GetSign() const;
-
- /**
- * Check if the value is negative.
- *
- * @return True if negative and false otherwise.
- */
- bool IsNegative() const;
-
- /**
- * Get magnitude length.
- *
- * @return Magnitude length.
- */
- int32_t GetLength() const;
-
- /**
- * Get magnitude pointer.
- *
- * @return Magnitude pointer.
- */
- const int8_t* GetMagnitude() const;
-
- private:
- /** Scale. */
- int32_t scale;
-
- /** Magnitude lenght. */
- int32_t len;
-
- /** Magnitude. */
- int8_t* magnitude;
- };
-
- /**
- * Swap function for the Decimal type.
- *
- * @param first First instance.
- * @param second Second instance.
- */
- void swap(Decimal& first, Decimal& second);
-}
-
-
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnosable.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnosable.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnosable.h
deleted file mode 100644
index 2afd819..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnosable.h
+++ /dev/null
@@ -1,82 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_DIAGNOSABLE
-#define _IGNITE_ODBC_DRIVER_DIAGNOSABLE
-
-#include "ignite/odbc/diagnostic/diagnostic_record_storage.h"
-
-namespace ignite
-{
- namespace odbc
- {
- namespace diagnostic
- {
- /**
- * Diagnosable interface.
- */
- class Diagnosable
- {
- public:
- /**
- * Destructor.
- */
- virtual ~Diagnosable()
- {
- // No-op.
- }
-
- /**
- * Get diagnostic record.
- *
- * @return Diagnostic record.
- */
- virtual const diagnostic::DiagnosticRecordStorage& GetDiagnosticRecords() const = 0;
-
- /**
- * Add new status record.
- *
- * @param sqlState SQL state.
- * @param message Message.
- * @param rowNum Associated row number.
- * @param columnNum Associated column number.
- */
- virtual void AddStatusRecord(SqlState sqlState, const std::string& message,
- int32_t rowNum, int32_t columnNum) = 0;
-
- /**
- * Add new status record.
- *
- * @param sqlState SQL state.
- * @param message Message.
- */
- virtual void AddStatusRecord(SqlState sqlState, const std::string& message) = 0;
-
- protected:
- /**
- * Default constructor.
- */
- Diagnosable()
- {
- // No-op.
- }
- };
- }
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnosable_adapter.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnosable_adapter.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnosable_adapter.h
deleted file mode 100644
index 5b01f49..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnosable_adapter.h
+++ /dev/null
@@ -1,107 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_DIAGNOSABLE_ADAPTER
-#define _IGNITE_ODBC_DRIVER_DIAGNOSABLE_ADAPTER
-
-#include "ignite/odbc/diagnostic/diagnosable.h"
-
-#define IGNITE_ODBC_API_CALL(...) \
- diagnosticRecords.Reset(); \
- SqlResult result = (__VA_ARGS__); \
- diagnosticRecords.SetHeaderRecord(result)
-
-#define IGNITE_ODBC_API_CALL_ALWAYS_SUCCESS \
- diagnosticRecords.Reset(); \
- diagnosticRecords.SetHeaderRecord(SQL_RESULT_SUCCESS)
-
-namespace ignite
-{
- namespace odbc
- {
- class Connection;
-
- namespace diagnostic
- {
- /**
- * Diagnosable interface.
- */
- class DiagnosableAdapter : public Diagnosable
- {
- public:
- /**
- * Destructor.
- */
- virtual ~DiagnosableAdapter()
- {
- // No-op.
- }
-
- /**
- * Get diagnostic record.
- *
- * @return Diagnostic record.
- */
- virtual const diagnostic::DiagnosticRecordStorage& GetDiagnosticRecords() const
- {
- return diagnosticRecords;
- }
-
- /**
- * Add new status record.
- *
- * @param sqlState SQL state.
- * @param message Message.
- * @param rowNum Associated row number.
- * @param columnNum Associated column number.
- */
- virtual void AddStatusRecord(SqlState sqlState, const std::string& message,
- int32_t rowNum, int32_t columnNum);
-
- /**
- * Add new status record.
- *
- * @param sqlState SQL state.
- * @param message Message.
- */
- virtual void AddStatusRecord(SqlState sqlState, const std::string& message);
-
- protected:
- /**
- * Constructor.
- *
- * @param connection Pointer to connection. Used to create
- * diagnostic records with connection info.
- */
- DiagnosableAdapter(const Connection* connection = 0) :
- connection(connection)
- {
- // No-op.
- }
-
- /** Diagnostic records. */
- diagnostic::DiagnosticRecordStorage diagnosticRecords;
-
- private:
- /** Connection. */
- const Connection* connection;
- };
- }
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnostic_record.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnostic_record.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnostic_record.h
deleted file mode 100644
index 87d29c1..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnostic_record.h
+++ /dev/null
@@ -1,165 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_DIAGNOSTIC_RECORD
-#define _IGNITE_ODBC_DRIVER_DIAGNOSTIC_RECORD
-
-#include <stdint.h>
-
-#include <vector>
-
-#include <ignite/common/common.h>
-#include "ignite/odbc/common_types.h"
-#include "ignite/odbc/app/application_data_buffer.h"
-
-namespace ignite
-{
- namespace odbc
- {
- namespace diagnostic
- {
- /**
- * Status diagnostic record.
- */
- class DiagnosticRecord
- {
- public:
- /**
- * Default constructor.
- */
- DiagnosticRecord();
-
- /**
- * Constructor.
- *
- * @param sqlState SQL state code.
- * @param message Message.
- * @param connectionName Connection name.
- * @param serverName Server name.
- * @param rowNum Associated row number.
- * @param columnNum Associated column number.
- */
- DiagnosticRecord(SqlState sqlState, const std::string& message,
- const std::string& connectionName, const std::string& serverName,
- int32_t rowNum = 0, int32_t columnNum = 0);
-
- /**
- * Destructor.
- */
- ~DiagnosticRecord();
-
- /**
- * Get class origin.
- *
- * @return A string that indicates the document that defines the
- * class portion of the SQLSTATE value in this record.
- */
- const std::string& GetClassOrigin() const;
-
- /**
- * Get subclass origin.
- *
- * @return A string with the same format and valid values as origin,
- * that identifies the defining portion of the subclass
- * portion of the SQLSTATE code.
- */
- const std::string& GetSubclassOrigin() const;
-
- /**
- * Get record message text.
- *
- * @return An informational message on the error or warning.
- */
- const std::string& GetMessage() const;
-
- /**
- * Get connection name.
- *
- * @return A string that indicates the name of the connection that
- * the diagnostic record relates to.
- */
- const std::string& GetConnectionName() const;
-
- /**
- * Get server name.
- *
- * @return A string that indicates the server name that the
- * diagnostic record relates to.
- */
- const std::string& GetServerName() const;
-
- /**
- * Get SQL state of the record.
- *
- * @return A five-character SQLSTATE diagnostic code.
- */
- const std::string& GetSqlState() const;
-
- /**
- * Get row number.
- *
- * @return The row number in the rowset, or the parameter number in
- * the set of parameters, with which the status record is
- * associated.
- */
- int32_t GetRowNumber() const;
-
- /**
- * Get column number.
- *
- * @return Contains the value that represents the column number
- * in the result set or the parameter number in the set
- * of parameters.
- */
- int32_t GetColumnNumber() const;
-
- private:
- /** SQL state diagnostic code. */
- SqlState sqlState;
-
- /** An informational message on the error or warning. */
- std::string message;
-
- /**
- * A string that indicates the name of the connection that
- * the diagnostic record relates to.
- */
- std::string connectionName;
-
- /**
- * A string that indicates the server name that the
- * diagnostic record relates to.
- */
- std::string serverName;
-
- /**
- * The row number in the rowset, or the parameter number in the
- * set of parameters, with which the status record is associated.
- */
- int32_t rowNum;
-
- /**
- * Contains the value that represents the column number in the
- * result set or the parameter number in the set of parameters.
- */
- int32_t columnNum;
- };
- }
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnostic_record_storage.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnostic_record_storage.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnostic_record_storage.h
deleted file mode 100644
index c92c7a5..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/diagnostic/diagnostic_record_storage.h
+++ /dev/null
@@ -1,198 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_DIAGNOSTIC_RECORD_STORAGE
-#define _IGNITE_ODBC_DRIVER_DIAGNOSTIC_RECORD_STORAGE
-
-#include <stdint.h>
-
-#include <vector>
-
-#include <ignite/common/common.h>
-#include "ignite/odbc/common_types.h"
-#include "ignite/odbc/app/application_data_buffer.h"
-#include "ignite/odbc/diagnostic/diagnostic_record.h"
-
-namespace ignite
-{
- namespace odbc
- {
- namespace diagnostic
- {
- /**
- * Diagnostic record.
- *
- * Associated with each environment, connection, statement, and
- * descriptor handle are diagnostic records. These records contain
- * diagnostic information about the last function called that used
- * a particular handle. The records are replaced only when another
- * function is called using that handle. There is no limit to the
- * number of diagnostic records that can be stored at any one time.
- *
- * This class provides interface for interaction with all handle
- * diagnostic records. That means both header and status records.
- */
- class DiagnosticRecordStorage
- {
- public:
- /**
- * Default constructor.
- */
- DiagnosticRecordStorage();
-
- /**
- * Destructor.
- */
- ~DiagnosticRecordStorage();
-
- /**
- * Set header record values.
- *
- * @param retCode Operation return code.
- */
- void SetHeaderRecord(SqlResult result);
-
- /**
- * Add status record to diagnostic records.
- *
- * @param record Status record.
- */
- void AddStatusRecord(const DiagnosticRecord& record);
-
- /**
- * Reset diagnostic records state.
- */
- void Reset();
-
- /**
- * Get result of the last operation.
- *
- * @return Result of the last operation.
- */
- SqlResult GetOperaionResult() const;
-
- /**
- * Get return code of the last operation.
- *
- * @return Return code of the last operation.
- */
- int GetReturnCode() const;
-
- /**
- * Get row count.
- *
- * @return Count of rows in cursor.
- */
- int64_t GetRowCount() const;
-
- /**
- * Get dynamic function.
- *
- * @return String that describes the SQL statement
- * that the underlying function executed.
- */
- const std::string& GetDynamicFunction() const;
-
- /**
- * Get dynamic function code.
- *
- * @return Numeric code that describes the
- * SQL statement that was executed.
- */
- int32_t GetDynamicFunctionCode() const;
-
- /**
- * Get number of rows affected.
- *
- * @return The number of rows affected by an insert,
- * delete, or update performed by the last operation.
- */
- int32_t GetRowsAffected() const;
-
- /**
- * Get status records number.
- *
- * @return Number of status records.
- */
- int32_t GetStatusRecordsNumber() const;
-
- /**
- * Get specified status record.
- *
- * @param idx Status record index.
- * @return Status record instance reference.
- */
- const DiagnosticRecord& GetStatusRecord(int32_t idx) const;
-
- /**
- * Check if the record is in the success state.
- *
- * @return True if the record is in the success state.
- */
- bool IsSuccessful() const;
-
- /**
- * Get value of the field and put it in buffer.
- *
- * @param recNum Diagnostic record number.
- * @param field Record field.
- * @param buffer Buffer to put data to.
- * @return Operation result.
- */
- SqlResult GetField(int32_t recNum, DiagnosticField field, app::ApplicationDataBuffer& buffer) const;
-
- private:
- IGNITE_NO_COPY_ASSIGNMENT(DiagnosticRecordStorage);
-
- /**
- * Header record field. This field contains the count of rows
- * in the cursor.
- */
- int64_t rowCount;
-
- /**
- * Header record field. String that describes the SQL statement
- * that the underlying function executed.
- */
- std::string dynamicFunction;
-
- /**
- * Header record field. Numeric code that describes the
- * SQL statement that was executed.
- */
- int32_t dynamicFunctionCode;
-
- /**
- * Operation result. This field is mapped to "Return code" header
- * record field.
- */
- SqlResult result;
-
- /**
- * Header record field. The number of rows affected by an insert,
- * delete, or update performed by the last operation.
- */
- int32_t rowsAffected;
-
- /** Status records. */
- std::vector<DiagnosticRecord> statusRecords;
- };
- }
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/environment.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/environment.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/environment.h
deleted file mode 100644
index 7168aa3..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/environment.h
+++ /dev/null
@@ -1,137 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_ENVIRONMENT
-#define _IGNITE_ODBC_DRIVER_ENVIRONMENT
-
-#include "ignite/odbc/diagnostic/diagnosable_adapter.h"
-
-namespace ignite
-{
- namespace odbc
- {
- class Connection;
-
- /**
- * ODBC environment.
- */
- class Environment : public diagnostic::DiagnosableAdapter
- {
- public:
- /**
- * Constructor.
- */
- Environment();
-
- /**
- * Destructor.
- */
- ~Environment();
-
- /**
- * Create connection associated with the environment.
- *
- * @return Pointer to valid instance on success or NULL on failure.
- */
- Connection* CreateConnection();
-
- /**
- * Perform transaction commit on all the associated connections.
- */
- void TransactionCommit();
-
- /**
- * Perform transaction rollback on all the associated connections.
- */
- void TransactionRollback();
-
- /**
- * Set attribute.
- *
- * @param attr Attribute to set.
- * @param value Value.
- * @param len Value length if the attribute is of string type.
- */
- void SetAttribute(int32_t attr, void* value, int32_t len);
-
- /**
- * Get attribute.
- *
- * @param attr Attribute to set.
- * @param buffer Buffer to put value to.
- */
- void GetAttribute(int32_t attr, app::ApplicationDataBuffer& buffer);
-
- private:
- IGNITE_NO_COPY_ASSIGNMENT(Environment);
-
- /**
- * Create connection associated with the environment.
- * Internal call.
- *
- * @return Pointer to valid instance on success or NULL on failure.
- * @return Operation result.
- */
- SqlResult InternalCreateConnection(Connection*& connection);
-
- /**
- * Perform transaction commit on all the associated connections.
- * Internal call.
- *
- * @return Operation result.
- */
- SqlResult InternalTransactionCommit();
-
- /**
- * Perform transaction rollback on all the associated connections.
- * Internal call.
- *
- * @return Operation result.
- */
- SqlResult InternalTransactionRollback();
-
- /**
- * Set attribute.
- * Internal call.
- *
- * @param attr Attribute to set.
- * @param value Value.
- * @param len Value length if the attribute is of string type.
- * @return Operation result.
- */
- SqlResult InternalSetAttribute(int32_t attr, void* value, int32_t len);
-
- /**
- * Get attribute.
- * Internal call.
- *
- * @param attr Attribute to set.
- * @param buffer Buffer to put value to.
- * @return Operation result.
- */
- SqlResult InternalGetAttribute(int32_t attr, app::ApplicationDataBuffer& buffer);
-
- /** ODBC version. */
- int32_t odbcVersion;
-
- /** ODBC null-termintaion of string behaviour. */
- int32_t odbcNts;
- };
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/message.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/message.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/message.h
deleted file mode 100644
index f4d1e3c..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/message.h
+++ /dev/null
@@ -1,630 +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.
- */
-
-#ifndef _IGNITE_ODBC_DRIVER_MESSAGE
-#define _IGNITE_ODBC_DRIVER_MESSAGE
-
-#include <stdint.h>
-#include <string>
-
-#include "ignite/impl/binary/binary_writer_impl.h"
-#include "ignite/impl/binary/binary_reader_impl.h"
-
-#include "ignite/odbc/utility.h"
-#include "ignite/odbc/result_page.h"
-#include "ignite/odbc/meta/column_meta.h"
-#include "ignite/odbc/meta/table_meta.h"
-#include "ignite/odbc/app/parameter.h"
-
-namespace ignite
-{
- namespace odbc
- {
- enum RequestType
- {
- REQUEST_TYPE_EXECUTE_SQL_QUERY = 1,
-
- REQUEST_TYPE_FETCH_SQL_QUERY = 2,
-
- REQUEST_TYPE_CLOSE_SQL_QUERY = 3,
-
- REQUEST_TYPE_GET_COLUMNS_METADATA = 4,
-
- REQUEST_TYPE_GET_TABLES_METADATA = 5
- };
-
- enum ResponseStatus
- {
- RESPONSE_STATUS_SUCCESS = 0,
-
- RESPONSE_STATUS_FAILED = 1
- };
-
- /**
- * Query execute request.
- */
- class QueryExecuteRequest
- {
- public:
- /**
- * Constructor.
- *
- * @param cache Cache name.
- * @param sql SQL query.
- * @param argsNum Number of arguments.
- */
- QueryExecuteRequest(const std::string& cache, const std::string& sql,
- const app::ParameterBindingMap& params) :
- cache(cache), sql(sql), params(params)
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryExecuteRequest()
- {
- // No-op.
- }
-
- /**
- * Write request using provided writer.
- * @param writer Writer.
- */
- void Write(ignite::impl::binary::BinaryWriterImpl& writer) const
- {
- writer.WriteInt8(REQUEST_TYPE_EXECUTE_SQL_QUERY);
- utility::WriteString(writer, cache);
- utility::WriteString(writer, sql);
-
- writer.WriteInt32(static_cast<int32_t>(params.size()));
-
- app::ParameterBindingMap::const_iterator i;
-
- for (i = params.begin(); i != params.end(); ++i)
- i->second.Write(writer);
- }
-
- private:
- /** Cache name. */
- std::string cache;
-
- /** SQL query. */
- std::string sql;
-
- /** Parameters bindings. */
- const app::ParameterBindingMap& params;
- };
-
- /**
- * Query close request.
- */
- class QueryCloseRequest
- {
- public:
- /**
- * Constructor.
- *
- * @param queryId Query ID.
- */
- QueryCloseRequest(int64_t queryId) : queryId(queryId)
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryCloseRequest()
- {
- // No-op.
- }
-
- /**
- * Write request using provided writer.
- * @param writer Writer.
- */
- void Write(ignite::impl::binary::BinaryWriterImpl& writer) const
- {
- writer.WriteInt8(REQUEST_TYPE_CLOSE_SQL_QUERY);
- writer.WriteInt64(queryId);
- }
-
- private:
- /** Query ID. */
- int64_t queryId;
- };
-
- /**
- * Query fetch request.
- */
- class QueryFetchRequest
- {
- public:
- /**
- * Constructor.
- *
- * @param queryId Query ID.
- * @param pageSize Required page size.
- */
- QueryFetchRequest(int64_t queryId, int32_t pageSize) :
- queryId(queryId), pageSize(pageSize)
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryFetchRequest()
- {
- // No-op.
- }
-
- /**
- * Write request using provided writer.
- * @param writer Writer.
- */
- void Write(ignite::impl::binary::BinaryWriterImpl& writer) const
- {
- writer.WriteInt8(REQUEST_TYPE_FETCH_SQL_QUERY);
- writer.WriteInt64(queryId);
- writer.WriteInt32(pageSize);
- }
-
- private:
- /** Query ID. */
- int64_t queryId;
-
- /** SQL query. */
- int32_t pageSize;
- };
-
- /**
- * Query get columns metadata request.
- */
- class QueryGetColumnsMetaRequest
- {
- public:
- /**
- * Constructor.
- *
- * @param schema Schema name.
- * @param table Table name.
- * @param column Column name.
- */
- QueryGetColumnsMetaRequest(const std::string& schema, const std::string& table, const std::string& column) :
- schema(schema), table(table), column(column)
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryGetColumnsMetaRequest()
- {
- // No-op.
- }
-
- /**
- * Write request using provided writer.
- * @param writer Writer.
- */
- void Write(ignite::impl::binary::BinaryWriterImpl& writer) const
- {
- writer.WriteInt8(REQUEST_TYPE_GET_COLUMNS_METADATA);
-
- utility::WriteString(writer, schema);
- utility::WriteString(writer, table);
- utility::WriteString(writer, column);
- }
-
- private:
- /** Schema search pattern. */
- std::string schema;
-
- /** Table search pattern. */
- std::string table;
-
- /** Column search pattern. */
- std::string column;
- };
-
- /**
- * Query get tables metadata request.
- */
- class QueryGetTablesMetaRequest
- {
- public:
- /**
- * Constructor.
- *
- * @param catalog Catalog search pattern.
- * @param schema Schema search pattern.
- * @param table Table search pattern.
- * @param tableTypes Table types search pattern.
- */
- QueryGetTablesMetaRequest(const std::string& catalog, const std::string& schema,
- const std::string& table, const std::string& tableTypes) :
- catalog(catalog), schema(schema), table(table), tableTypes(tableTypes)
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryGetTablesMetaRequest()
- {
- // No-op.
- }
-
- /**
- * Write request using provided writer.
- * @param writer Writer.
- */
- void Write(ignite::impl::binary::BinaryWriterImpl& writer) const
- {
- writer.WriteInt8(REQUEST_TYPE_GET_TABLES_METADATA);
-
- utility::WriteString(writer, catalog);
- utility::WriteString(writer, schema);
- utility::WriteString(writer, table);
- utility::WriteString(writer, tableTypes);
- }
-
- private:
- /** Column search pattern. */
- std::string catalog;
-
- /** Schema search pattern. */
- std::string schema;
-
- /** Table search pattern. */
- std::string table;
-
- /** Column search pattern. */
- std::string tableTypes;
- };
-
- /**
- * Query close response.
- */
- class QueryResponse
- {
- public:
- /**
- * Constructor.
- */
- QueryResponse() : status(RESPONSE_STATUS_FAILED), error()
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryResponse()
- {
- // No-op.
- }
-
- /**
- * Read response using provided reader.
- * @param reader Reader.
- */
- void Read(ignite::impl::binary::BinaryReaderImpl& reader)
- {
- status = reader.ReadInt8();
-
- if (status == RESPONSE_STATUS_SUCCESS)
- {
- ReadOnSuccess(reader);
- }
- else
- {
- int32_t errorLen = reader.ReadString(0, 0);
- error.resize(errorLen);
-
- reader.ReadString(&error[0], static_cast<int32_t>(error.size()));
- }
- }
-
- /**
- * Get request processing status.
- * @return Status.
- */
- int8_t GetStatus() const
- {
- return status;
- }
-
- /**
- * Get resulting error.
- * @return Error.
- */
- const std::string& GetError() const
- {
- return error;
- }
-
- protected:
- /**
- * Read data if response status is RESPONSE_STATUS_SUCCESS.
- * @param reader Reader.
- */
- virtual void ReadOnSuccess(ignite::impl::binary::BinaryReaderImpl& reader) = 0;
-
- private:
- /** Request processing status. */
- int8_t status;
-
- /** Error message. */
- std::string error;
- };
-
-
- /**
- * Query close response.
- */
- class QueryCloseResponse : public QueryResponse
- {
- public:
- /**
- * Constructor.
- */
- QueryCloseResponse() : queryId(0)
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryCloseResponse()
- {
- // No-op.
- }
-
- /**
- * Get query ID.
- * @return Query ID.
- */
- int64_t GetQueryId() const
- {
- return queryId;
- }
-
- private:
- /**
- * Read response using provided reader.
- * @param reader Reader.
- */
- virtual void ReadOnSuccess(ignite::impl::binary::BinaryReaderImpl& reader)
- {
- queryId = reader.ReadInt64();
- }
-
- /** Query ID. */
- int64_t queryId;
- };
-
- /**
- * Query execute response.
- */
- class QueryExecuteResponse : public QueryResponse
- {
- public:
- /**
- * Constructor.
- */
- QueryExecuteResponse() : queryId(0), meta()
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryExecuteResponse()
- {
- // No-op.
- }
-
- /**
- * Get query ID.
- * @return Query ID.
- */
- int64_t GetQueryId() const
- {
- return queryId;
- }
-
- /**
- * Get column metadata.
- * @return Column metadata.
- */
- const meta::ColumnMetaVector& GetMeta() const
- {
- return meta;
- }
-
- private:
- /**
- * Read response using provided reader.
- * @param reader Reader.
- */
- virtual void ReadOnSuccess(ignite::impl::binary::BinaryReaderImpl& reader)
- {
- queryId = reader.ReadInt64();
-
- meta::ReadColumnMetaVector(reader, meta);
- }
-
- /** Query ID. */
- int64_t queryId;
-
- /** Columns metadata. */
- meta::ColumnMetaVector meta;
- };
-
- /**
- * Query fetch response.
- */
- class QueryFetchResponse : public QueryResponse
- {
- public:
- /**
- * Constructor.
- * @param resultPage Result page.
- */
- QueryFetchResponse(ResultPage& resultPage) : queryId(0), resultPage(resultPage)
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryFetchResponse()
- {
- // No-op.
- }
-
- /**
- * Get query ID.
- * @return Query ID.
- */
- int64_t GetQueryId() const
- {
- return queryId;
- }
-
- private:
- /**
- * Read response using provided reader.
- * @param reader Reader.
- */
- virtual void ReadOnSuccess(ignite::impl::binary::BinaryReaderImpl& reader)
- {
- queryId = reader.ReadInt64();
-
- resultPage.Read(reader);
- }
-
- /** Query ID. */
- int64_t queryId;
-
- /** Result page. */
- ResultPage& resultPage;
- };
-
- /**
- * Query get column metadata response.
- */
- class QueryGetColumnsMetaResponse : public QueryResponse
- {
- public:
- /**
- * Constructor.
- */
- QueryGetColumnsMetaResponse()
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryGetColumnsMetaResponse()
- {
- // No-op.
- }
-
- /**
- * Get column metadata.
- * @return Column metadata.
- */
- const meta::ColumnMetaVector& GetMeta() const
- {
- return meta;
- }
-
- private:
- /**
- * Read response using provided reader.
- * @param reader Reader.
- */
- virtual void ReadOnSuccess(ignite::impl::binary::BinaryReaderImpl& reader)
- {
- meta::ReadColumnMetaVector(reader, meta);
- }
-
- /** Columns metadata. */
- meta::ColumnMetaVector meta;
- };
-
- /**
- * Query get table metadata response.
- */
- class QueryGetTablesMetaResponse : public QueryResponse
- {
- public:
- /**
- * Constructor.
- */
- QueryGetTablesMetaResponse()
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~QueryGetTablesMetaResponse()
- {
- // No-op.
- }
-
- /**
- * Get column metadata.
- * @return Column metadata.
- */
- const meta::TableMetaVector& GetMeta() const
- {
- return meta;
- }
-
- private:
- /**
- * Read response using provided reader.
- * @param reader Reader.
- */
- virtual void ReadOnSuccess(ignite::impl::binary::BinaryReaderImpl& reader)
- {
- meta::ReadTableMetaVector(reader, meta);
- }
-
- /** Columns metadata. */
- meta::TableMetaVector meta;
- };
- }
-}
-
-#endif
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8287063/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/meta/column_meta.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/meta/column_meta.h b/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/meta/column_meta.h
deleted file mode 100644
index 9bc7227..0000000
--- a/modules/platforms/cpp/odbc/odbc-driver/include/ignite/odbc/meta/column_meta.h
+++ /dev/null
@@ -1,210 +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.
- */
-
-#ifndef _IGNITE_ODBC_COLUMN_META
-#define _IGNITE_ODBC_COLUMN_META
-
-#include <stdint.h>
-#include <string>
-
-#include "ignite/impl/binary/binary_reader_impl.h"
-
-#include "ignite/odbc/common_types.h"
-#include "ignite/odbc/utility.h"
-
-namespace ignite
-{
- namespace odbc
- {
- namespace meta
- {
- /**
- * Column metadata.
- */
- class ColumnMeta
- {
- public:
-#ifdef ODBC_DEBUG
- /**
- * Convert attribute ID to string containing its name.
- * Debug function.
- * @param type Attribute ID.
- * @return Null-terminated string containing attribute name.
- */
- static const char* AttrIdToString(uint16_t id);
-#endif
-
- /**
- * Default constructor.
- */
- ColumnMeta()
- {
- // No-op.
- }
-
- /**
- * Constructor.
- *
- * @param schemaName Schema name.
- * @param tableName Table name.
- * @param columnName Column name.
- * @param typeName Type name.
- * @param dataType Data type.
- */
- ColumnMeta(const std::string& schemaName, const std::string& tableName,
- const std::string& columnName, const std::string& typeName, int8_t dataType) :
- schemaName(schemaName), tableName(tableName), columnName(columnName),
- typeName(typeName), dataType(dataType)
- {
- // No-op.
- }
-
- /**
- * Destructor.
- */
- ~ColumnMeta()
- {
- // No-op.
- }
-
- /**
- * Copy constructor.
- */
- ColumnMeta(const ColumnMeta& other) :
- schemaName(other.schemaName),
- tableName(other.tableName),
- columnName(other.columnName),
- typeName(other.typeName),
- dataType(other.dataType)
- {
- // No-op.
- }
-
- /**
- * Copy operator.
- */
- ColumnMeta& operator=(const ColumnMeta& other)
- {
- schemaName = other.schemaName;
- tableName = other.tableName;
- columnName = other.columnName;
- typeName = other.typeName;
- dataType = other.dataType;
-
- return *this;
- }
-
- /**
- * Read using reader.
- * @param reader Reader.
- */
- void Read(ignite::impl::binary::BinaryReaderImpl& reader);
-
- /**
- * Get schema name.
- * @return Schema name.
- */
- const std::string& GetSchemaName() const
- {
- return schemaName;
- }
-
- /**
- * Get table name.
- * @return Table name.
- */
- const std::string& GetTableName() const
- {
- return tableName;
- }
-
- /**
- * Get column name.
- * @return Column name.
- */
- const std::string& GetColumnName() const
- {
- return columnName;
- }
-
- /**
- * Get column type name.
- * @return Column type name.
- */
- const std::string& GetColumnTypeName() const
- {
- return typeName;
- }
-
- /**
- * Get data type.
- * @return Data type.
- */
- int8_t GetDataType() const
- {
- return dataType;
- }
-
- /**
- * Try to get attribute of a string type.
- *
- * @param fieldId Field ID.
- * @param value Output attribute value.
- * @return True if the attribute supported and false otherwise.
- */
- bool GetAttribute(uint16_t fieldId, std::string& value) const;
-
- /**
- * Try to get attribute of a integer type.
- *
- * @param fieldId Field ID.
- * @param value Output attribute value.
- * @return True if the attribute supported and false otherwise.
- */
- bool GetAttribute(uint16_t fieldId, SqlLen& value) const;
-
- private:
- /** Schema name. */
- std::string schemaName;
-
- /** Table name. */
- std::string tableName;
-
- /** Column name. */
- std::string columnName;
-
- /** Type name. */
- std::string typeName;
-
- /** Data type. */
- int8_t dataType;
- };
-
- /** Column metadata vector alias. */
- typedef std::vector<ColumnMeta> ColumnMetaVector;
-
- /**
- * Read columns metadata collection.
- * @param reader Reader.
- * @param meta Collection.
- */
- void ReadColumnMetaVector(ignite::impl::binary::BinaryReaderImpl& reader, ColumnMetaVector& meta);
- }
- }
-}
-
-#endif
\ No newline at end of file