| /**************************************************************************//** |
| * |
| * 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. |
| * |
| ****************************************************************************** |
| * |
| * @file hiveclient.h |
| * @brief Hive client library interface. |
| * |
| * This header file defines the Hive client library interface (C compatible). |
| * All interactions with Hive client should be directed through the following |
| * declared functions. |
| * |
| * Here is an example of a typical order with which to call these functions: |
| * |
| * DBOpenConnection |
| * ..-> DBExecute or DBTables or DBColumns |
| * ..-> DBCreateColumnDesc |
| * ....-> DBGetColumnName |
| * ....-> DBGetColumnType |
| * ....-> DBGetHiveType |
| * ....-> DBGetIsNullable |
| * ....-> DBGetIsCaseSensitive |
| * ....-> DBGetMaxDisplaySize |
| * ....-> DBGetFieldByteSize |
| * ....-> DBCloseColumnDesc |
| * ..-> DBHasResults |
| * ..-> DBGetColumnCount |
| * ..-> DBFetch |
| * ....-> DBGetFieldDataLen |
| * ....-> DBGetFieldAsCString |
| * ....-> DBGetFieldAsDouble |
| * ....-> DBGetFieldAsInt |
| * ....-> DBGetFieldAsLong |
| * ....-> DBGetFieldAsULong |
| * ....-> DBGetFieldAsI64 |
| * ....-> DBGetFieldAsI64U |
| * ..-> DBCloseResultSet |
| * ..-> DBCloseConnection |
| * |
| *****************************************************************************/ |
| |
| |
| #ifndef __hive_client_h__ |
| #define __hive_client_h__ |
| |
| #ifndef __STDC_FORMAT_MACROS |
| #define __STDC_FORMAT_MACROS |
| #endif |
| #include <inttypes.h> |
| #include <stdint.h> |
| |
| #include "hiveconstants.h" |
| |
| |
| /****************************************************************************** |
| * Hive Client C++ Class Placeholders |
| *****************************************************************************/ |
| |
| typedef enum HiveReturn HiveReturn; |
| typedef enum HiveType HiveType; |
| typedef struct HiveConnection HiveConnection; |
| typedef struct HiveResultSet HiveResultSet; |
| typedef struct HiveColumnDesc HiveColumnDesc; |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif // __cplusplus |
| |
| |
| /****************************************************************************** |
| * Global Hive Client Functions (usable as C callback functions) |
| *****************************************************************************/ |
| |
| /** |
| * @brief Connect to a Hive database. |
| * |
| * Connects to a Hive database on the specified Hive server. The caller takes |
| * ownership of the returned HiveConnection and is responsible for deallocating |
| * the memory and connection by calling DBCloseConnection. |
| * |
| * @see DBCloseConnection() |
| * |
| * @param database Name of the Hive database on the Hive server to which to connect. |
| * @param host Host address of the Hive server. |
| * @param port Host port of the Hive server. |
| * @param framed Set as 1 to use a framed socket, or 0 to use a buffered socket. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return A HiveConnection object representing the established database connection, |
| * or NULL if an error occurred. Error messages will be stored in err_buf. |
| */ |
| HiveConnection* DBOpenConnection(const char* database, const char* host, int port, int framed, |
| char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Disconnects from a Hive database. |
| * |
| * Disconnects from a Hive database and destroys the supplied HiveConnection object. |
| * This function should eventually be called for every HiveConnection created by |
| * DBOpenConnection. |
| * |
| * @see DBOpenConnection() |
| * |
| * @param connection A HiveConnection object associated a database connection. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBCloseConnection(HiveConnection* connection, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Execute a query. |
| * |
| * Executes a query on a Hive connection and associates a HiveResultSet with the result. |
| * Caller takes ownership of returned HiveResultSet and is responsible for deallocating |
| * the object by calling DBCloseResultSet. |
| * |
| * @see DBCloseResultSet() |
| * |
| * @param connection A HiveConnection object associated a database connection. |
| * @param query The Hive query string to be executed. |
| * @param resultset_ptr A pointer to a HiveResultSet pointer which will be associated with the |
| * result, or NULL if the result is not needed. |
| * @param max_buf_rows Maximum number of rows to buffer in the new HiveResultSet for the query |
| * results |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBExecute(HiveConnection* connection, const char* query, HiveResultSet** resultset_ptr, |
| int max_buf_rows, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Query for database tables. |
| * |
| * Gets a resultset containing the set of tables in the database matching a regex pattern. |
| * Caller takes ownership of returned HiveResultSet and is responsible for deallocating |
| * the object by calling DBCloseResultSet. |
| * |
| * @see DBCloseResultSet() |
| * |
| * @param connection A HiveConnection object associated a database connection. |
| * @param tbl_search_pattern A regex pattern used to match with table names (use '*' to match all). |
| * @param resultset_ptr A pointer to a HiveResultSet pointer which will be associated with the |
| * result. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBTables(HiveConnection* connection, const char* tbl_search_pattern, |
| HiveResultSet** resultset_ptr, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Query for columns in table(s). |
| * |
| * Gets a resultset containing the set of columns in the database matching a regex pattern |
| * from a set of tables matching another regex pattern. Caller takes ownership of returned |
| * HiveResultSet and is responsible for deallocating the object by calling DBCloseResultSet. |
| * |
| * @see DBCloseResultSet() |
| * |
| * @param connection A HiveConnection object associated with a database connection. |
| * @param fpHiveToSQLType Pointer to a function that takes a HiveType argument and returns a |
| * corresponding int value (possibly a SQL type). |
| * @param tbl_search_pattern A regex pattern used to match with table names (use '*' to match all). |
| * @param col_search_pattern A regex pattern used to match with column names (use '*' to match all). |
| * @param resultset_ptr A pointer to a HiveResultSet pointer which will be associated with the |
| * result. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBColumns(HiveConnection* connection, int (*fpHiveToSQLType)(HiveType), |
| const char* tbl_search_pattern, const char* col_search_pattern, |
| HiveResultSet** resultset_ptr, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Destroys any specified HiveResultSet object. |
| * |
| * Destroys any specified HiveResultSet object. The HiveResultSet may have been |
| * created by a number of other functions. |
| * |
| * @param resultset A HiveResultSet object to be removed from memory. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBCloseResultSet(HiveResultSet* resultset, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Fetches the next unfetched row in a HiveResultSet. |
| * |
| * Fetches the next unfetched row in a HiveResultSet. The fetched row will be stored |
| * internally within the resultset and may be accessed through other DB functions. |
| * |
| * @param resultset A HiveResultSet from which to fetch rows. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, |
| * HIVE_ERROR if an error occurred, |
| * HIVE_NO_MORE_DATA if there are no more rows to fetch. |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBFetch(HiveResultSet* resultset, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Check for results. |
| * |
| * Determines whether the HiveResultSet has ever had any result rows. |
| * |
| * @param resultset A HiveResultSet from which to check for results. |
| * @param has_results Pointer to an int which will be set to 1 if results, 0 if no results. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBHasResults(HiveResultSet* resultset, int* has_results, char* err_buf, |
| size_t err_buf_len); |
| |
| /** |
| * @brief Determines the number of columns in the HiveResultSet. |
| * |
| * @param resultset A HiveResultSet from which to retrieve the column count. |
| * @param col_count Pointer to a size_t which will be set to the number of columns in the result. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBGetColumnCount(HiveResultSet* resultset, size_t* col_count, char* err_buf, |
| size_t err_buf_len); |
| |
| /** |
| * @brief Construct a HiveColumnDesc. |
| * |
| * Constructs a HiveColumnDesc with information about a specified column in the resultset. |
| * Caller takes ownership of returned HiveColumnDesc and is responsible for deallocating |
| * the object by calling DBCloseColumnDesc. |
| * |
| * @see DBCloseColumnDesc() |
| * |
| * @param resultset A HiveResultSet context from which to construct the HiveColumnDesc. |
| * @param column_idx Zero offset index of a column. |
| * @param column_desc_ptr A pointer to a HiveColumnDesc pointer which will receive the new |
| * HiveColumnDesc. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBCreateColumnDesc(HiveResultSet* resultset, size_t column_idx, |
| HiveColumnDesc** column_desc_ptr, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Find the size of a field as a string. |
| * |
| * Determines the number of characters needed to display a field stored in the fetched row |
| * of a HiveResultSet. |
| * |
| * @param resultset An initialized HiveResultSet. |
| * @param column_idx Zero offset index of a column. |
| * @param col_len Pointer to an size_t which will be set to the byte length of the specified field. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBGetFieldDataLen(HiveResultSet* resultset, size_t column_idx, size_t* col_len, |
| char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Get a field as a C string. |
| * |
| * Reads out a field from the currently fetched rowset in a resultset as a C String. |
| * |
| * @param resultset An initialized HiveResultSet. |
| * @param column_idx Zero offset index of a column. |
| * @param buffer Pointer to a buffer that will receive the data. |
| * @param buffer_len Number of bytes allocated to buffer. |
| * @param data_byte_size Pointer to an size_t which will contain the length of the data available |
| * to return before calling this function. Can be set to NULL if this |
| * information is not needed. |
| * @param is_null_value Pointer to an int which will be set to 1 if the field contains a NULL value, |
| * or 0 otherwise. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful and there is no more data to fetch |
| * HIVE_ERROR if an error occurred (error messages will be stored in err_buf) |
| * HIVE_SUCCESS_WITH_MORE_DATA if data has been successfully fetched, but there is still |
| * more data to get |
| * HIVE_NO_MORE_DATA if this field has already been completely fetched |
| */ |
| HiveReturn DBGetFieldAsCString(HiveResultSet* resultset, size_t column_idx, char* buffer, |
| size_t buffer_len, size_t* data_byte_size, int* is_null_value, |
| char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Get a field as a double. |
| * |
| * Reads out a field from the currently fetched rowset in a resultset as a double |
| * (platform specific). |
| * |
| * @param resultset An initialized HiveResultSet. |
| * @param column_idx Zero offset index of a column. |
| * @param buffer Pointer to a double that will receive the data. |
| * @param is_null_value Pointer to an int which will be set to 1 if the field contains a NULL value, |
| * or 0 otherwise |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful. |
| * HIVE_ERROR if an error occurred (error messages will be stored in err_buf) |
| * HIVE_NO_MORE_DATA if this field has already been fetched |
| */ |
| HiveReturn DBGetFieldAsDouble(HiveResultSet* resultset, size_t column_idx, double* buffer, |
| int* is_null_value, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Get a field as an int. |
| * |
| * Reads out a field from the currently fetched rowset in a resultset as an int |
| * (platform specific). |
| * |
| * @param resultset An initialized HiveResultSet. |
| * @param column_idx Zero offset index of a column. |
| * @param buffer Pointer to an int that will receive the data. |
| * @param is_null_value Pointer to an int which will be set to 1 if the field contains a NULL value, |
| * or 0 otherwise |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful. |
| * HIVE_ERROR if an error occurred (error messages will be stored in err_buf) |
| * HIVE_NO_MORE_DATA if this field has already been fetched |
| */ |
| HiveReturn DBGetFieldAsInt(HiveResultSet* resultset, size_t column_idx, int* buffer, |
| int* is_null_value, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Get a field as a long int. |
| * |
| * Reads out a field from the currently fetched rowset in a resultset as a long int |
| * (platform specific). |
| * |
| * @param resultset An initialized HiveResultSet. |
| * @param column_idx Zero offset index of a column. |
| * @param buffer Pointer to a long int that will receive the data. |
| * @param is_null_value Pointer to an int which will be set to 1 if the field contains a NULL value, |
| * or 0 otherwise |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful. |
| * HIVE_ERROR if an error occurred (error messages will be stored in err_buf) |
| * HIVE_NO_MORE_DATA if this field has already been fetched |
| */ |
| HiveReturn DBGetFieldAsLong(HiveResultSet* resultset, size_t column_idx, long* buffer, |
| int* is_null_value, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Get a field as an unsigned long int. |
| * |
| * Reads out a field from the currently fetched rowset in a resultset as an unsigned long int |
| * (platform specific). |
| * |
| * @param resultset An initialized HiveResultSet. |
| * @param column_idx Zero offset index of a column. |
| * @param buffer Pointer to an unsigned long int that will receive the data. |
| * @param is_null_value Pointer to an int which will be set to 1 if the field contains a NULL value, |
| * or 0 otherwise |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful. |
| * HIVE_ERROR if an error occurred (error messages will be stored in err_buf) |
| * HIVE_NO_MORE_DATA if this field has already been fetched |
| */ |
| HiveReturn DBGetFieldAsULong(HiveResultSet* resultset, size_t column_idx, unsigned long* buffer, |
| int* is_null_value, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Get a field as an int64_t. |
| * |
| * Reads out a field from the currently fetched rowset in a resultset as a int64_t |
| * (platform independent). |
| * |
| * @param resultset An initialized HiveResultSet. |
| * @param column_idx Zero offset index of a column. |
| * @param buffer Pointer to a int64_t that will receive the data. |
| * @param is_null_value Pointer to an int which will be set to 1 if the field contains a NULL value, |
| * or 0 otherwise |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful. |
| * HIVE_ERROR if an error occurred (error messages will be stored in err_buf) |
| * HIVE_NO_MORE_DATA if this field has already been fetched |
| */ |
| HiveReturn DBGetFieldAsI64(HiveResultSet* resultset, size_t column_idx, int64_t* buffer, |
| int* is_null_value, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Get a field as an uint64_t. |
| * |
| * Reads out a field from the currently fetched rowset in a resultset as a uint64_t |
| * (platform independent). |
| * |
| * @param resultset An initialized HiveResultSet. |
| * @param column_idx Zero offset index of a column. |
| * @param buffer Pointer to a uint64_t that will receive the data. |
| * @param is_null_value Pointer to an int which will be set to 1 if the field contains a NULL value, |
| * or 0 otherwise |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful. |
| * HIVE_ERROR if an error occurred (error messages will be stored in err_buf) |
| * HIVE_NO_MORE_DATA if this field has already been fetched |
| */ |
| HiveReturn DBGetFieldAsI64U(HiveResultSet* resultset, size_t column_idx, uint64_t* buffer, |
| int* is_null_value, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Destroys a HiveColumnDesc object. |
| * |
| * @see DBCreateColumnDesc() |
| * |
| * @param column_desc A HiveColumnDesc object to be removed from memory. |
| * @param err_buf Buffer to receive an error message if HIVE_ERROR is returned. |
| * NULL can be used if the caller does not care about the error message. |
| * @param err_buf_len Size of the err_buf buffer. |
| * |
| * @return HIVE_SUCCESS if successful, or HIVE_ERROR if an error occurred |
| * (error messages will be stored in err_buf) |
| */ |
| HiveReturn DBCloseColumnDesc(HiveColumnDesc* column_desc, char* err_buf, size_t err_buf_len); |
| |
| /** |
| * @brief Get a column name. |
| * |
| * Retrieves the column name of the associated column in the result table from |
| * a HiveColumnDesc. |
| * |
| * @see DBCreateColumnDesc() |
| * |
| * @param column_desc A HiveColumnDesc associated with the column in question. |
| * @param buffer Pointer to a buffer that will receive the column name as a C string |
| * @param buffer_len Number of bytes allocated to buffer |
| * |
| * @return void |
| */ |
| void DBGetColumnName(HiveColumnDesc* column_desc, char* buffer, size_t buffer_len); |
| |
| /** |
| * @brief Get the column type name. |
| * |
| * Retrieves the name of the column type of the associated column in the result table |
| * from a HiveColumnDesc. |
| * |
| * @see DBCreateColumnDesc() |
| * |
| * @param column_desc A HiveColumnDesc associated with the column in question. |
| * @param buffer Pointer to a buffer that will receive the column type name as a C string |
| * @param buffer_len Number of bytes allocated to buffer |
| * |
| * @return void |
| */ |
| void DBGetColumnType(HiveColumnDesc* column_desc, char* buffer, size_t buffer_len); |
| |
| /** |
| * @brief Get the column type as a HiveType. |
| * |
| * Retrieves the column type as a HiveType for the associated column in the result table |
| * from a HiveColumnDesc. |
| * |
| * @see DBCreateColumnDesc() |
| * |
| * @param column_desc A HiveColumnDesc associated with the column in question. |
| * |
| * @return HiveType of the column. |
| */ |
| HiveType DBGetHiveType(HiveColumnDesc* column_desc); |
| |
| /** |
| * @brief Finds whether a column is nullable. |
| * |
| * Determines from a HiveColumnDesc whether a particular column in the result table is |
| * able to contain NULLs. |
| * |
| * @see DBCreateColumnDesc() |
| * |
| * @param column_desc A HiveColumnDesc associated with the column in question. |
| * |
| * @return 1 if the column can contain NULLs, or |
| * 0 if the column cannot contain NULLs |
| */ |
| int DBGetIsNullable(HiveColumnDesc* column_desc); |
| |
| /** |
| * @brief Finds whether a column is case sensitive. |
| * |
| * Determines from a HiveColumnDesc whether a particular column in the result table contains case |
| * sensitive data |
| * |
| * @see DBCreateColumnDesc() |
| * |
| * @param column_desc A HiveColumnDesc associated with the column in question. |
| * |
| * @return 1 if the column data is case sensitive, or |
| * 0 otherwise |
| */ |
| int DBGetIsCaseSensitive(HiveColumnDesc* column_desc); |
| |
| /** |
| * @brief Finds the max display size of a column's fields. |
| * |
| * From a HiveColumnDesc, determines the maximum number of characters needed to represent a |
| * field within this column. |
| * |
| * @see DBCreateColumnDesc() |
| * |
| * @param column_desc A HiveColumnDesc associated with the column in question. |
| * |
| * @return The maximum number of characters needed to represent a field within this column. |
| */ |
| size_t DBGetMaxDisplaySize(HiveColumnDesc* column_desc); |
| |
| /** |
| * @brief Finds the max (native) byte size of a column's fields. |
| * |
| * From a HiveColumnDesc, determines the number of bytes needed to store a field within this |
| * column in its native type. |
| * |
| * @see DBCreateColumnDesc() |
| * |
| * @param column_desc A HiveColumnDesc associated with the column in question. |
| * |
| * @return The number of bytes needed to store a field within this column in its native type. |
| */ |
| size_t DBGetFieldByteSize(HiveColumnDesc* column_desc); |
| |
| #ifdef __cplusplus |
| } // extern "C" |
| #endif // __cpluscplus |
| |
| |
| #endif // __hive_client_h__ |