summaryrefslogtreecommitdiff
path: root/sql/sp_pcontext.cc
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@mysql.com>2009-04-28 14:48:54 +0500
committerAlexey Botchkov <holyfoot@mysql.com>2009-04-28 14:48:54 +0500
commitddc9a195508c35fc3f83ce58327b5fe7f09f4277 (patch)
treeece449dd3151f9b8e3fa29e8990f9517b6638ac5 /sql/sp_pcontext.cc
parent620fb880d7b45f67abc3edd20aed2aca11b039cd (diff)
parentd445b215d10d1239d097d9fb362f232ec9bdb2f4 (diff)
downloadmariadb-git-ddc9a195508c35fc3f83ce58327b5fe7f09f4277.tar.gz
merging
Diffstat (limited to 'sql/sp_pcontext.cc')
-rw-r--r--sql/sp_pcontext.cc22
1 files changed, 11 insertions, 11 deletions
diff --git a/sql/sp_pcontext.cc b/sql/sp_pcontext.cc
index 780243cc79f..265964d3d45 100644
--- a/sql/sp_pcontext.cc
+++ b/sql/sp_pcontext.cc
@@ -263,7 +263,8 @@ sp_pcontext::push_variable(LEX_STRING *name, enum enum_field_types type,
p->mode= mode;
p->offset= current_var_count();
p->dflt= NULL;
- insert_dynamic(&m_vars, (gptr)&p);
+ if (insert_dynamic(&m_vars, (gptr)&p))
+ return NULL;
return p;
}
@@ -308,18 +309,17 @@ sp_pcontext::find_label(char *name)
return NULL;
}
-void
+int
sp_pcontext::push_cond(LEX_STRING *name, sp_cond_type_t *val)
{
sp_cond_t *p= (sp_cond_t *)sql_alloc(sizeof(sp_cond_t));
- if (p)
- {
- p->name.str= name->str;
- p->name.length= name->length;
- p->val= val;
- insert_dynamic(&m_conds, (gptr)&p);
- }
+ if (p == NULL)
+ return 1;
+ p->name.str= name->str;
+ p->name.length= name->length;
+ p->val= val;
+ return insert_dynamic(&m_conds, (gptr)&p);
}
/*
@@ -382,7 +382,7 @@ sp_pcontext::find_handler(sp_cond_type_t *cond)
return FALSE;
}
-void
+int
sp_pcontext::push_cursor(LEX_STRING *name)
{
LEX_STRING n;
@@ -391,7 +391,7 @@ sp_pcontext::push_cursor(LEX_STRING *name)
m_max_cursor_index+= 1;
n.str= name->str;
n.length= name->length;
- insert_dynamic(&m_cursors, (gptr)&n);
+ return insert_dynamic(&m_cursors, (gptr)&n);
}
/*