maria-discuss team mailing list archive
Mailing list archive
Re: CREATE PROCEDURE clauses
I'll try to be more clear, please read carefully before answering
I know what a deterministic expression is - but what kinds of output must be deterministic for a procedure to be defined as DETERMINISTIC?
There are many types of output for a proc:
* OUT params
* writes on tables
* SET @var
For a deterministic proc, do all of these need to be deterministic?
I guess the answer isn't easy.
For "NO SQL" a complete list of SQL statements would be needed. If we use this as a reference:
, even RETURN seems to be a SQL statement, but of course it can't be true, because it's impossible to write a func without RETURN.
Lun 2/9/13, Roberto Spadim <roberto@xxxxxxxxxxxxx> ha scritto:
Oggetto: Re: [Maria-discuss] CREATE PROCEDURE clauses
A: "Federico Razzoli" <federico_raz@xxxxxxxx>
Cc: "Mailing-List mariadb" <maria-discuss@xxxxxxxxxxxxxxxxxxx>
Data: Lunedì 2 settembre 2013, 15:23
2013/9/2 Federico Razzoli <federico_raz@xxxxxxxx>:
> I wanted to add some info in the CREATE PROCEDURE page
in the KB, but I think that some info about CREATE PROCEDURE
clauses miss both in the kb and in the MySQL manual.
> * [NOT] DETERMINISTIC. From MySQL docs:
> "A routine is considered “deterministic” if it
always produces the same result for the same input
parameters, and “not deterministic” otherwise."
> What does this exactly mean for procedures? OUT and
INOUT parameters? Resultsets returned by the procedure?
i think it's something like: RANDON() = not deterministic,
maybe it's important for replication (must be done via
SQL), and it's important for query cache (not deterministic
> * NO SQL: As far as I understand, even SET is a SQL
statement. I guess that a "no sql" function is something
> CREATE FUNCTION x(n INT) RETURNS INT
> RETURN n*2;
> But what is a "no sql" procedure (if such a procedure
i don't know, but reading mysql protocol, there's some
show fields, process info, process kill,
> I'm sorry if this info is already written somewhere,
but I really wasn't able to find it - and I feel that the KB
should specify things like these.
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help : https://help.launchpad.net/ListHelp