1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Fixed temp tables to work with replication. It will not work if you stop the slave

while slave thread has temp tables - not hard to fix though, but it is time to go to bed

added a new test case for temp table replication and Slave_open_temp_tables
status variable.

Misc fixes
This commit is contained in:
sasha@mysql.sashanet.com
2000-11-25 23:29:01 -07:00
parent acc8e0c9a2
commit dd24015eac
16 changed files with 87 additions and 23 deletions

View File

@ -78,6 +78,7 @@ struct query
};
static void die(const char* fmt, ...);
int close_connection(struct query* q);
int hex_val(int c)
@ -155,6 +156,30 @@ int select_connection(struct query* q)
return 1;
}
int close_connection(struct query* q)
{
char* p, *name;
struct connection *con;
p = (char*)q->q + q->first_word_len;
while(*p && isspace(*p)) p++;
if(!*p)
die("Missing connection name in connect\n");
name = p;
while(*p && !isspace(*p))
p++;
*p = 0;
for(con = cons; con < next_con; con++)
if(!strcmp(con->name, name))
{
mysql_close(&con->mysql);
return 0;
}
die("connection '%s' not found in connection pool", name);
return 1;
}
/* this one now is a hack - we may want to improve in in the
future to handle quotes. For now we assume that anything that is not
@ -851,6 +876,8 @@ int main(int argc, char** argv)
do_connect(&q);
else if(check_first_word(&q, "connection", 10))
select_connection(&q);
else if(check_first_word(&q, "disconnect", 10))
close_connection(&q);
else if(check_first_word(&q, "source", 6))
do_source(&q);
else if(check_first_word(&q, "sleep", 5))