summaryrefslogtreecommitdiff
path: root/mysys/default.c
diff options
context:
space:
mode:
authoranozdrin@mysql.com <>2006-05-18 18:57:50 +0400
committeranozdrin@mysql.com <>2006-05-18 18:57:50 +0400
commitc1113af15c2d2ebeea50487c94b3078855f48d6b (patch)
tree5a01e6e1e922c0816a9df2c5c09c95719d269269 /mysys/default.c
parenteee166d859a9cd88cdea49981e57299bd0165cec (diff)
downloadmariadb-git-c1113af15c2d2ebeea50487c94b3078855f48d6b.tar.gz
This is an implementation of two WL items:
- WL#3158: IM: Instance configuration extensions; - WL#3159: IM: --bootstrap and --start-default-instance modes The following new statements have been added: - CREATE INSTANCE; - DROP INSTANCE; The behaviour of the following statements have been changed: - SET; - UNSET; - FLUSH INSTANCES; - SHOW INSTANCES; - SHOW INSTANCE OPTIONS;
Diffstat (limited to 'mysys/default.c')
-rw-r--r--mysys/default.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/mysys/default.c b/mysys/default.c
index 580bcc19eca..3a80d7b37b9 100644
--- a/mysys/default.c
+++ b/mysys/default.c
@@ -244,7 +244,8 @@ err:
handle_option_ctx structure.
group_name The name of the group the option belongs to.
option The very option to be processed. It is already
- prepared to be used in argv (has -- prefix)
+ prepared to be used in argv (has -- prefix). If it
+ is NULL, we are handling a new group (section).
DESCRIPTION
This handler checks whether a group is one of the listed and adds an option
@@ -263,6 +264,9 @@ static int handle_default_option(void *in_ctx, const char *group_name,
char *tmp;
struct handle_option_ctx *ctx= (struct handle_option_ctx *) in_ctx;
+ if (!option)
+ return 0;
+
if (find_type((char *)group_name, ctx->group, 3))
{
if (!(tmp= alloc_root(ctx->alloc, (uint) strlen(option) + 1)))
@@ -719,6 +723,10 @@ static int search_default_file_with_ext(Process_option_func opt_handler,
end[0]=0;
strnmov(curr_gr, ptr, min((uint) (end-ptr)+1, 4096));
+
+ /* signal that a new group is found */
+ opt_handler(handler_ctx, curr_gr, NULL);
+
continue;
}
if (!found_group)