summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <kostja@vajra.(none)>2007-04-06 21:18:25 +0400
committerunknown <kostja@vajra.(none)>2007-04-06 21:18:25 +0400
commita005dfb6c6dc3375cb3f301082c2a9fae8543dba (patch)
tree11bd6f43ad62f2cc7c87930bc3cab67140f2c6f1
parentc557623a68b2c09ec7fd319b6a58d624dd2c2413 (diff)
parent52b86a6e0a9be6f3c41f24b9c30d2b6f885ad94f (diff)
downloadmariadb-git-a005dfb6c6dc3375cb3f301082c2a9fae8543dba.tar.gz
Merge vajra.(none):/opt/local/work/mysql-5.0-runtime
into vajra.(none):/opt/local/work/mysql-5.1-runtime sql/parse_file.cc: Auto merged sql/sp_head.cc: Auto merged
-rw-r--r--sql/parse_file.cc15
-rw-r--r--sql/sp_head.cc6
2 files changed, 19 insertions, 2 deletions
diff --git a/sql/parse_file.cc b/sql/parse_file.cc
index f5b62e3afe2..f06c7c15202 100644
--- a/sql/parse_file.cc
+++ b/sql/parse_file.cc
@@ -733,14 +733,18 @@ nlist_err:
/*
parse parameters
-
+
SYNOPSIS
File_parser::parse()
base base address for parameter writing (structure like
TABLE)
mem_root MEM_ROOT for parameters allocation
parameters parameters description
- required number of required parameters in above list
+ required number of parameters in the above list. If the file
+ contains more parameters than "required", they will
+ be ignored. If the file contains less parameters
+ then "required", non-existing parameters will
+ remain their values.
hook hook called for unknown keys
hook_data some data specific for the hook
@@ -923,6 +927,13 @@ list_err:
}
}
}
+
+ /*
+ NOTE: if we read less than "required" parameters, it is still Ok.
+ Probably, we've just read the file of the previous version, which
+ contains less parameters.
+ */
+
DBUG_RETURN(FALSE);
}
diff --git a/sql/sp_head.cc b/sql/sp_head.cc
index cb19e800510..4dcdddbdef8 100644
--- a/sql/sp_head.cc
+++ b/sql/sp_head.cc
@@ -992,6 +992,12 @@ sp_head::execute(THD *thd)
m_first_instance->m_last_cached_sp == this) ||
(m_recursion_level + 1 == m_next_cached_sp->m_recursion_level));
+ /*
+ NOTE: The SQL Standard does not specify the context that should be
+ preserved for stored routines. However, at SAP/Walldorf meeting it was
+ decided that current database should be preserved.
+ */
+
if (m_db.length &&
(err_status= sp_use_new_db(thd, m_db, &old_db, 0, &dbchanged)))
goto done;