Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Further refactor MYSQL_PROXY #119

Merged
merged 7 commits into from
Mar 18, 2023
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions driver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ WHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
base_metrics_holder.cc catalog.cc catalog_no_i_s.cc cluster_topology_info.cc
cluster_aware_hit_metrics_holder.cc cluster_aware_metrics_container.cc
cluster_aware_metrics.cc cluster_aware_time_metrics_holder.cc
connect.cc connection_handler.cc cursor.cc desc.cc dll.cc driver.cc efm_proxy.cc
connect.cc connection_handler.cc connection_proxy.cc cursor.cc desc.cc dll.cc driver.cc efm_proxy.cc
error.cc execute.cc failover_handler.cc
failover_reader_handler.cc failover_writer_handler.cc handle.cc host_info.cc info.cc
monitor.cc monitor_connection_context.cc monitor_service.cc monitor_thread_container.cc
Expand All @@ -83,7 +83,7 @@ WHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/driver/driver.rc.cmake ${CMAKE_SOURCE_DIR}/driver/driver${CONNECTOR_DRIVER_TYPE_SHORT}.rc @ONLY)
SET(DRIVER_SRCS ${DRIVER_SRCS} driver${CONNECTOR_DRIVER_TYPE_SHORT}.def driver${CONNECTOR_DRIVER_TYPE_SHORT}.rc
base_metrics_holder.h catalog.h cluster_aware_hit_metrics_holder.h cluster_aware_metrics_container.h
cluster_aware_metrics.h cluster_aware_time_metrics_holder.h cluster_topology_info.h connection_handler.h
cluster_aware_metrics.h cluster_aware_time_metrics_holder.h cluster_topology_info.h connection_handler.h connection_proxy.h
driver.h efm_proxy.h error.h failover.h host_info.h monitor.h monitor_connection_context.h monitor_service.h
monitor_thread_container.h mylog.h mysql_proxy.h myutil.h parse.h query_parsing.h topology_service.h
../MYODBC_MYSQL.h ../MYODBC_CONF.h ../MYODBC_ODBC.h)
Expand Down
2 changes: 1 addition & 1 deletion driver/ansi.cc
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ SQLDescribeCol(SQLHSTMT hstmt, SQLUSMALLINT column,

if (free_value == -1)
{
set_mem_error(stmt->dbc->mysql_proxy);
set_mem_error(stmt->dbc->connection_proxy);
return handle_connection_error(stmt);
}

Expand Down
40 changes: 20 additions & 20 deletions driver/catalog.cc
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ create_fake_resultset(STMT *stmt, MYSQL_ROW rowval, size_t rowsize,
else
{
if (stmt->result)
stmt->dbc->mysql_proxy->free_result(stmt->result);
stmt->dbc->connection_proxy->free_result(stmt->result);
}

/* Free if result data was not in row storage */
Expand All @@ -178,7 +178,7 @@ create_fake_resultset(STMT *stmt, MYSQL_ROW rowval, size_t rowsize,
x_free(stmt->result);
x_free(stmt->result_array);

set_mem_error(stmt->dbc->mysql_proxy);
set_mem_error(stmt->dbc->connection_proxy);
return handle_connection_error(stmt);
}
stmt->fake_result= 1;
Expand Down Expand Up @@ -257,7 +257,7 @@ MYSQL_RES *db_status(STMT *stmt, std::string &db)
return NULL;
}

return stmt->dbc->mysql_proxy->store_result();
return stmt->dbc->connection_proxy->store_result();
}


Expand Down Expand Up @@ -285,7 +285,7 @@ static MYSQL_RES *table_status_i_s(STMT *stmt,
my_bool show_tables,
my_bool show_views)
{
MYSQL_PROXY *mysql_proxy= stmt->dbc->mysql_proxy;
CONNECTION_PROXY *connection_proxy= stmt->dbc->connection_proxy;
/** the buffer size should count possible escapes */
my_bool clause_added= FALSE;
std::string query;
Expand Down Expand Up @@ -344,7 +344,7 @@ static MYSQL_RES *table_status_i_s(STMT *stmt,
query.append("AND TABLE_NAME LIKE '");
if (wildcard)
{
cnt = mysql_proxy->real_escape_string(tmpbuff, (char *)table_name, table_len);
cnt = connection_proxy->real_escape_string(tmpbuff, (char *)table_name, table_len);
query.append(tmpbuff, cnt);
}
else
Expand All @@ -365,7 +365,7 @@ static MYSQL_RES *table_status_i_s(STMT *stmt,
return NULL;
}

return mysql_proxy->store_result();
return connection_proxy->store_result();
}


Expand All @@ -391,7 +391,7 @@ static MYSQL_RES *table_status_i_s_old(STMT *stmt,
my_bool show_tables,
my_bool show_views)
{
MYSQL_PROXY *mysql_proxy= stmt->dbc->mysql_proxy;
CONNECTION_PROXY *connection_proxy= stmt->dbc->connection_proxy;
/** the buffer size should count possible escapes */
my_bool clause_added= FALSE;
std::string query;
Expand Down Expand Up @@ -449,7 +449,7 @@ static MYSQL_RES *table_status_i_s_old(STMT *stmt,
query.append("WHERE TABLE_NAME LIKE '");
if (wildcard)
{
cnt = mysql_proxy->real_escape_string(tmpbuff, (char *)table_name, table_len);
cnt = connection_proxy->real_escape_string(tmpbuff, (char *)table_name, table_len);
query.append(tmpbuff, cnt);
}
else
Expand All @@ -468,7 +468,7 @@ static MYSQL_RES *table_status_i_s_old(STMT *stmt,
return NULL;
}

return mysql_proxy->store_result();
return connection_proxy->store_result();
}


Expand Down Expand Up @@ -528,7 +528,7 @@ int add_name_condition_oa_id(HSTMT hstmt, std::string &query, SQLCHAR * name,

query.append("'");
char tmpbuff[1024];
size_t cnt = stmt->dbc->mysql_proxy->real_escape_string(tmpbuff, (char *)name, name_len);
size_t cnt = stmt->dbc->connection_proxy->real_escape_string(tmpbuff, (char *)name, name_len);
query.append(tmpbuff, cnt);
query.append("' ");
}
Expand Down Expand Up @@ -574,7 +574,7 @@ int add_name_condition_pv_id(HSTMT hstmt, std::string &query, SQLCHAR * name,

query.append("'");
char tmpbuff[1024];
size_t cnt = stmt->dbc->mysql_proxy->real_escape_string(tmpbuff, (char *)name, name_len);
size_t cnt = stmt->dbc->connection_proxy->real_escape_string(tmpbuff, (char *)name, name_len);
query.append(tmpbuff, cnt);
query.append("' ");
}
Expand Down Expand Up @@ -820,7 +820,7 @@ columns_i_s(SQLHSTMT hstmt, SQLCHAR *catalog, unsigned long catalog_len,
do_bind(params, column, MYSQL_TYPE_STRING, column_len);
}
query.append(" ORDER BY ORDINAL_POSITION");
ODBC_STMT local_stmt(stmt->dbc->mysql_proxy);
ODBC_STMT local_stmt(stmt->dbc->connection_proxy);

for (size_t i = 0; i < ccount; i++)
{
Expand Down Expand Up @@ -856,7 +856,7 @@ columns_i_s(SQLHSTMT hstmt, SQLCHAR *catalog, unsigned long catalog_len,
is_access = true;
#endif

size_t rows = stmt->dbc->mysql_proxy->stmt_num_rows(local_stmt);
size_t rows = stmt->dbc->connection_proxy->stmt_num_rows(local_stmt);
stmt->m_row_storage.set_size(rows, SQLCOLUMNS_FIELDS);
if (rows == 0)
{
Expand All @@ -869,7 +869,7 @@ columns_i_s(SQLHSTMT hstmt, SQLCHAR *catalog, unsigned long catalog_len,
std::string db = get_database_name(stmt, catalog, catalog_len,
schema, schema_len, false);
size_t rnum = 1;
while(!stmt->dbc->mysql_proxy->stmt_fetch(local_stmt))
while(!stmt->dbc->connection_proxy->stmt_fetch(local_stmt))
{
CAT_SCHEMA_SET(data[0], data[1], db);
/* TABLE_NAME */
Expand Down Expand Up @@ -1355,7 +1355,7 @@ SQLRETURN foreign_keys_i_s(SQLHSTMT hstmt,
SQLSMALLINT fk_table_len)
{
STMT *stmt=(STMT *) hstmt;
MYSQL_PROXY *mysql_proxy= stmt->dbc->mysql_proxy;
CONNECTION_PROXY *connection_proxy= stmt->dbc->connection_proxy;
char tmpbuff[1024]; /* This should be big enough. */
char *update_rule, *delete_rule, *ref_constraints_join;
SQLRETURN rc;
Expand All @@ -1371,7 +1371,7 @@ SQLRETURN foreign_keys_i_s(SQLHSTMT hstmt,
/*
With 5.1, we can use REFERENTIAL_CONSTRAINTS to get even more info.
*/
if (is_minimum_version(stmt->dbc->mysql_proxy->get_server_version(), "5.1"))
if (is_minimum_version(stmt->dbc->connection_proxy->get_server_version(), "5.1"))
{
update_rule= "CASE"
" WHEN R.UPDATE_RULE = 'CASCADE' THEN 0"
Expand Down Expand Up @@ -1440,7 +1440,7 @@ SQLRETURN foreign_keys_i_s(SQLHSTMT hstmt,
if (!pk_db.empty())
{
query.append("'");
cnt = mysql_proxy->real_escape_string(tmpbuff, pk_db.c_str(), pk_db.length());
cnt = connection_proxy->real_escape_string(tmpbuff, pk_db.c_str(), pk_db.length());
query.append(tmpbuff, cnt);
query.append("' ");
}
Expand All @@ -1451,7 +1451,7 @@ SQLRETURN foreign_keys_i_s(SQLHSTMT hstmt,

query.append("AND A.REFERENCED_TABLE_NAME = '");

cnt =mysql_proxy->real_escape_string(tmpbuff, (char *)pk_table, pk_table_len);
cnt =connection_proxy->real_escape_string(tmpbuff, (char *)pk_table, pk_table_len);
query.append(tmpbuff, cnt);
query.append("' ");

Expand All @@ -1465,7 +1465,7 @@ SQLRETURN foreign_keys_i_s(SQLHSTMT hstmt,
if (!fk_db.empty())
{
query.append("'");
cnt = mysql_proxy->real_escape_string(tmpbuff, fk_db.c_str(), fk_db.length());
cnt = connection_proxy->real_escape_string(tmpbuff, fk_db.c_str(), fk_db.length());
query.append(tmpbuff, cnt);
query.append("' ");
}
Expand All @@ -1476,7 +1476,7 @@ SQLRETURN foreign_keys_i_s(SQLHSTMT hstmt,

query.append("AND A.TABLE_NAME = '");

cnt = mysql_proxy->real_escape_string(tmpbuff, (char *)fk_table, fk_table_len);
cnt = connection_proxy->real_escape_string(tmpbuff, (char *)fk_table, fk_table_len);
query.append(tmpbuff, cnt);
query.append("' ");

Expand Down
Loading