summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <petr@mysql.com>2005-06-15 03:05:41 +0400
committerunknown <petr@mysql.com>2005-06-15 03:05:41 +0400
commit894fd6ae07466eca193819295bd8332e5fd572c9 (patch)
treea5798abc57239631708cd2f735168fffcd5bcb91
parent4d8cbb0c27126b897ce26e53e2287c898004a33c (diff)
parent7f5d221393a1ad727e75de815ad9dc33922009c5 (diff)
downloadmariadb-git-894fd6ae07466eca193819295bd8332e5fd572c9.tar.gz
Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/cps/mysql/trees/mysql-5.0
-rw-r--r--server-tools/instance-manager/commands.cc61
-rw-r--r--server-tools/instance-manager/protocol.cc39
-rw-r--r--server-tools/instance-manager/protocol.h6
3 files changed, 59 insertions, 47 deletions
diff --git a/server-tools/instance-manager/commands.cc b/server-tools/instance-manager/commands.cc
index b5d88873054..2357f97fd93 100644
--- a/server-tools/instance-manager/commands.cc
+++ b/server-tools/instance-manager/commands.cc
@@ -40,7 +40,7 @@
DESCRIPTION
Function to add a string to the buffer. It is different from
- store_to_string, which is used in the protocol.cc. The last
+ store_to_protocol_packet, which is used in the protocol.cc. The last
one also stores the length of the string in a special way.
This is required for MySQL client/server protocol support only.
@@ -104,11 +104,12 @@ int Show_instances::execute(struct st_net *net, ulong connection_id)
while ((instance= iterator.next()))
{
position= 0;
- store_to_string(&send_buff, instance->options.instance_name, &position);
+ store_to_protocol_packet(&send_buff, instance->options.instance_name,
+ &position);
if (instance->is_running())
- store_to_string(&send_buff, (char*) "online", &position);
+ store_to_protocol_packet(&send_buff, (char*) "online", &position);
else
- store_to_string(&send_buff, (char*) "offline", &position);
+ store_to_protocol_packet(&send_buff, (char*) "offline", &position);
if (my_net_write(net, send_buff.buffer, (uint) position))
goto err;
}
@@ -199,18 +200,19 @@ int Show_instance_status::execute(struct st_net *net,
{
Instance *instance;
- store_to_string(&send_buff, (char*) instance_name, &position);
+ store_to_protocol_packet(&send_buff, (char*) instance_name, &position);
if (!(instance= instance_map->find(instance_name, strlen(instance_name))))
goto err;
if (instance->is_running())
- store_to_string(&send_buff, (char*) "online", &position);
+ store_to_protocol_packet(&send_buff, (char*) "online", &position);
else
- store_to_string(&send_buff, (char*) "offline", &position);
+ store_to_protocol_packet(&send_buff, (char*) "offline", &position);
if (instance->options.mysqld_version)
- store_to_string(&send_buff, instance->options.mysqld_version, &position);
+ store_to_protocol_packet(&send_buff, instance->options.mysqld_version,
+ &position);
else
- store_to_string(&send_buff, (char*) "unknown", &position);
+ store_to_protocol_packet(&send_buff, (char*) "unknown", &position);
if (send_buff.is_error() ||
@@ -272,17 +274,17 @@ int Show_instance_options::execute(struct st_net *net, ulong connection_id)
if (!(instance= instance_map->find(instance_name, strlen(instance_name))))
goto err;
- store_to_string(&send_buff, (char*) "instance_name", &position);
- store_to_string(&send_buff, (char*) instance_name, &position);
+ store_to_protocol_packet(&send_buff, (char*) "instance_name", &position);
+ store_to_protocol_packet(&send_buff, (char*) instance_name, &position);
if (my_net_write(net, send_buff.buffer, (uint) position))
goto err;
if ((instance->options.mysqld_path))
{
position= 0;
- store_to_string(&send_buff, (char*) "mysqld-path", &position);
- store_to_string(&send_buff,
- (char*) instance->options.mysqld_path,
- &position);
+ store_to_protocol_packet(&send_buff, (char*) "mysqld-path", &position);
+ store_to_protocol_packet(&send_buff,
+ (char*) instance->options.mysqld_path,
+ &position);
if (send_buff.is_error() ||
my_net_write(net, send_buff.buffer, (uint) position))
goto err;
@@ -291,8 +293,8 @@ int Show_instance_options::execute(struct st_net *net, ulong connection_id)
if ((instance->options.nonguarded))
{
position= 0;
- store_to_string(&send_buff, (char*) "nonguarded", &position);
- store_to_string(&send_buff, "", &position);
+ store_to_protocol_packet(&send_buff, (char*) "nonguarded", &position);
+ store_to_protocol_packet(&send_buff, "", &position);
if (send_buff.is_error() ||
my_net_write(net, send_buff.buffer, (uint) position))
goto err;
@@ -310,13 +312,16 @@ int Show_instance_options::execute(struct st_net *net, ulong connection_id)
if (option_value != NULL)
{
*option_value= 0;
- store_to_string(&send_buff, tmp_option + 2, &position);
- store_to_string(&send_buff, option_value + 1, &position);
+ store_to_protocol_packet(&send_buff, tmp_option + 2, &position);
+ store_to_protocol_packet(&send_buff, option_value + 1, &position);
/* join name and the value into the same option again */
*option_value= '=';
}
else
- store_to_string(&send_buff, tmp_option + 2, &position);
+ {
+ store_to_protocol_packet(&send_buff, tmp_option + 2, &position);
+ store_to_protocol_packet(&send_buff, "", &position);
+ }
if (send_buff.is_error() ||
my_net_write(net, send_buff.buffer, (uint) position))
@@ -478,7 +483,7 @@ int Show_instance_log::execute(struct st_net *net, ulong connection_id)
char *bf= (char*) malloc(sizeof(char)*buff_size);
if ((read_len= my_read(fd, bf, buff_size, MYF(0))) < 0)
return ER_READ_FILE;
- store_to_string(&send_buff, (char*) bf, &position, read_len);
+ store_to_protocol_packet(&send_buff, (char*) bf, &position, read_len);
close(fd);
}
else
@@ -593,19 +598,19 @@ int Show_instance_log_files::execute(struct st_net *net, ulong connection_id)
position= 0;
/* store the type of the log in the send buffer */
- store_to_string(&send_buff, log_files->name, &position);
+ store_to_protocol_packet(&send_buff, log_files->name, &position);
if (stat(log_files->value, &file_stat))
{
- store_to_string(&send_buff, "", &position);
- store_to_string(&send_buff, (char*) "0", &position);
+ store_to_protocol_packet(&send_buff, "", &position);
+ store_to_protocol_packet(&send_buff, (char*) "0", &position);
}
else if (S_ISREG(file_stat.st_mode))
{
- store_to_string(&send_buff,
- (char*) log_files->value,
- &position);
+ store_to_protocol_packet(&send_buff,
+ (char*) log_files->value,
+ &position);
int10_to_str(file_stat.st_size, buff, 10);
- store_to_string(&send_buff, (char*) buff, &position);
+ store_to_protocol_packet(&send_buff, (char*) buff, &position);
}
if (my_net_write(net, send_buff.buffer, (uint) position))
diff --git a/server-tools/instance-manager/protocol.cc b/server-tools/instance-manager/protocol.cc
index 62de48d0619..4b46d091c3f 100644
--- a/server-tools/instance-manager/protocol.cc
+++ b/server-tools/instance-manager/protocol.cc
@@ -58,7 +58,7 @@ int net_send_ok(struct st_net *net, unsigned long connection_id,
if (message != NULL)
{
buff.reserve(position, 9 + strlen(message));
- store_to_string(&buff, message, &position);
+ store_to_protocol_packet(&buff, message, &position);
}
return my_net_write(net, buff.buffer, position) || net_flush(net);
@@ -117,8 +117,8 @@ char *net_store_length(char *pkg, uint length)
}
-int store_to_string(Buffer *buf, const char *string, uint *position,
- uint string_len)
+int store_to_protocol_packet(Buffer *buf, const char *string, uint *position,
+ uint string_len)
{
uint currpos;
@@ -137,12 +137,12 @@ err:
}
-int store_to_string(Buffer *buf, const char *string, uint *position)
+int store_to_protocol_packet(Buffer *buf, const char *string, uint *position)
{
uint string_len;
string_len= strlen(string);
- return store_to_string(buf, string, position, string_len);
+ return store_to_protocol_packet(buf, string, position, string_len);
}
@@ -176,21 +176,28 @@ int send_fields(struct st_net *net, LIST *fields)
position= 0;
field= (NAME_WITH_LENGTH *) tmp->data;
- store_to_string(&send_buff, (char*) "", &position); /* catalog name */
- store_to_string(&send_buff, (char*) "", &position); /* db name */
- store_to_string(&send_buff, (char*) "", &position); /* table name */
- store_to_string(&send_buff, (char*) "", &position); /* table name alias */
- store_to_string(&send_buff, field->name, &position); /* column name */
- store_to_string(&send_buff, field->name, &position); /* column name alias */
+ store_to_protocol_packet(&send_buff,
+ (char*) "", &position); /* catalog name */
+ store_to_protocol_packet(&send_buff,
+ (char*) "", &position); /* db name */
+ store_to_protocol_packet(&send_buff,
+ (char*) "", &position); /* table name */
+ store_to_protocol_packet(&send_buff,
+ (char*) "", &position); /* table name alias */
+ store_to_protocol_packet(&send_buff,
+ field->name, &position); /* column name */
+ store_to_protocol_packet(&send_buff,
+ field->name, &position); /* column name alias */
send_buff.reserve(position, 12);
if (send_buff.is_error())
goto err;
send_buff.buffer[position++]= 12;
- int2store(send_buff.buffer + position, 1); /* charsetnr */
- int4store(send_buff.buffer + position + 2, field->length); /* field length */
- send_buff.buffer[position+6]= FIELD_TYPE_STRING; /* type */
- int2store(send_buff.buffer + position + 7, 0); /* flags */
- send_buff.buffer[position + 9]= (char) 0; /* decimals */
+ int2store(send_buff.buffer + position, 1); /* charsetnr */
+ int4store(send_buff.buffer + position + 2,
+ field->length); /* field length */
+ send_buff.buffer[position+6]= FIELD_TYPE_STRING; /* type */
+ int2store(send_buff.buffer + position + 7, 0); /* flags */
+ send_buff.buffer[position + 9]= (char) 0; /* decimals */
send_buff.buffer[position + 10]= 0;
send_buff.buffer[position + 11]= 0;
position+= 12;
diff --git a/server-tools/instance-manager/protocol.h b/server-tools/instance-manager/protocol.h
index a2ed9a31889..f38eac6b079 100644
--- a/server-tools/instance-manager/protocol.h
+++ b/server-tools/instance-manager/protocol.h
@@ -41,10 +41,10 @@ int send_fields(struct st_net *net, LIST *fields);
char *net_store_length(char *pkg, uint length);
-int store_to_string(Buffer *buf, const char *string, uint *position);
+int store_to_protocol_packet(Buffer *buf, const char *string, uint *position);
-int store_to_string(Buffer *buf, const char *string, uint *position,
- uint string_len);
+int store_to_protocol_packet(Buffer *buf, const char *string, uint *position,
+ uint string_len);
int send_eof(struct st_net *net);