-+ #ifdef MARIADB_BASE_VERSION
-+ my_bool my_true= 1;
-+ mysql_options(pConn, MYSQL_OPT_USE_THREAD_SPECIFIC_MEMORY, (char*) &my_true);
-+ #endif
- if ( !mysql_real_connect ( pConn, m_pShare->m_sHost, "root", "", "", m_pShare->m_iPort, m_pShare->m_sSocket, 0 ) )
- SPH_RET ( HandleMysqlError ( pConn, ER_CONNECT_TO_FOREIGN_DATA_SOURCE ) );
-
-@@ -2449,6 +2527,10 @@
-
- unsigned int uTimeout = 1;
- mysql_options ( pConn, MYSQL_OPT_CONNECT_TIMEOUT, (const char*)&uTimeout );
-+ #ifdef MARIADB_BASE_VERSION
-+ my_bool my_true= 1;
-+ mysql_options(pConn, MYSQL_OPT_USE_THREAD_SPECIFIC_MEMORY, (char*) &my_true);
-+ #endif
-
- if ( !mysql_real_connect ( pConn, m_pShare->m_sHost, "root", "", "", m_pShare->m_iPort, m_pShare->m_sSocket, 0 ) )
- SPH_RET ( HandleMysqlError ( pConn, ER_CONNECT_TO_FOREIGN_DATA_SOURCE ) );
-@@ -2756,11 +2838,19 @@
- break;
-
- // copy the query, and let know that we intercepted this condition
-- Item_string * pString = (Item_string *) args[1];
-- pTable->m_bQuery = true;
-+ #if MYSQL_VERSION_ID>=100000
-+ String *pString= args[1]->val_str(NULL);
-+ pTable->m_bQuery = true;
-+ strncpy ( pTable->m_sQuery, pString->c_ptr(), sizeof(pTable->m_sQuery) );
-+ pTable->m_sQuery[sizeof(pTable->m_sQuery)-1] = '\0';
-+ pTable->m_pQueryCharset = pString->charset();
-+ #else
-+ Item_string * pString = (Item_string *) args[1];
-+ pTable->m_bQuery = true;
- strncpy ( pTable->m_sQuery, pString->str_value.c_ptr(), sizeof(pTable->m_sQuery) );
- pTable->m_sQuery[sizeof(pTable->m_sQuery)-1] = '\0';
- pTable->m_pQueryCharset = pString->str_value.charset();
-+ #endif
-
- } else
- {
-@@ -3540,7 +3630,7 @@