mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
Merge work.mysql.com:/home/bk/mysql
into mysql.sashanet.com:/home/sasha/src/bk/mysql
This commit is contained in:
commit
93c0180805
18 changed files with 152 additions and 30 deletions
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue