|
Packit Service |
17f749 |
/************************************************************************************
|
|
Packit Service |
17f749 |
Copyright (C) 2017,2018 MariaDB Corporation AB
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
This library is free software; you can redistribute it and/or
|
|
Packit Service |
17f749 |
modify it under the terms of the GNU Library General Public
|
|
Packit Service |
17f749 |
License as published by the Free Software Foundation; either
|
|
Packit Service |
17f749 |
version 2.1 of the License, or (at your option) any later version.
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
This library is distributed in the hope that it will be useful,
|
|
Packit Service |
17f749 |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
17f749 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
17f749 |
Library General Public License for more details.
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
You should have received a copy of the GNU Library General Public
|
|
Packit Service |
17f749 |
License along with this library; if not see <http://www.gnu.org/licenses>
|
|
Packit Service |
17f749 |
or write to the Free Software Foundation, Inc.,
|
|
Packit Service |
17f749 |
51 Franklin St., Fifth Floor, Boston, MA 02110, USA
|
|
Packit Service |
17f749 |
*************************************************************************************/
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
/* Code allowing to deploy MariaDB bulk operation functionality.
|
|
Packit Service |
17f749 |
* i.e. adapting ODBC param arrays to MariaDB arrays */
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
#ifndef _ma_bulk_h
|
|
Packit Service |
17f749 |
#define _ma_bulk_h
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
#define MADB_DOING_BULK_OPER(_stmt) ((_stmt)->Bulk.ArraySize > 1)
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
/* Couple defined to make "switch"s look at least shorter, if not nicer */
|
|
Packit Service |
17f749 |
#define CHAR_BINARY_TYPES SQL_C_CHAR:\
|
|
Packit Service |
17f749 |
case SQL_C_BINARY:\
|
|
Packit Service |
17f749 |
case SQL_LONGVARBINARY:\
|
|
Packit Service |
17f749 |
case SQL_VARBINARY:\
|
|
Packit Service |
17f749 |
case SQL_VARCHAR:\
|
|
Packit Service |
17f749 |
case SQL_LONGVARCHAR
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
#define WCHAR_TYPES SQL_C_WCHAR:\
|
|
Packit Service |
17f749 |
case SQL_WVARCHAR:\
|
|
Packit Service |
17f749 |
case SQL_WLONGVARCHAR
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
#define DATETIME_TYPES SQL_C_TIMESTAMP:\
|
|
Packit Service |
17f749 |
case SQL_TYPE_TIMESTAMP:\
|
|
Packit Service |
17f749 |
case SQL_C_TIME:\
|
|
Packit Service |
17f749 |
case SQL_TYPE_TIME:\
|
|
Packit Service |
17f749 |
case SQL_C_INTERVAL_HOUR_TO_MINUTE:\
|
|
Packit Service |
17f749 |
case SQL_C_INTERVAL_HOUR_TO_SECOND:\
|
|
Packit Service |
17f749 |
case SQL_C_DATE:\
|
|
Packit Service |
17f749 |
case SQL_TYPE_DATE
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
char MADB_MapIndicatorValue(SQLLEN OdbcInd);
|
|
Packit Service |
17f749 |
unsigned int MADB_UsedParamSets(MADB_Stmt *Stmt);
|
|
Packit Service |
17f749 |
BOOL MADB_AppBufferCanBeUsed(SQLSMALLINT CType, SQLSMALLINT SqlType);
|
|
Packit Service |
17f749 |
void MADB_CleanBulkOperData(MADB_Stmt *Stmt, unsigned int ParamOffset);
|
|
Packit Service |
17f749 |
SQLRETURN MADB_InitBulkOperBuffers(MADB_Stmt *Stmt, MADB_DescRecord *CRec, void *DataPtr, SQLLEN *OctetLengthPtr,
|
|
Packit Service |
17f749 |
SQLLEN *IndicatorPtr, SQLSMALLINT SqlType, MYSQL_BIND *MaBind);
|
|
Packit Service |
17f749 |
SQLRETURN MADB_SetIndicatorValue(MADB_Stmt *Stmt, MYSQL_BIND *MaBind, unsigned int row, SQLLEN OdbcIndicator);
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
SQLRETURN MADB_ExecuteBulk(MADB_Stmt *Stmt, unsigned int ParamOffset);
|
|
Packit Service |
17f749 |
|
|
Packit Service |
17f749 |
#endif
|