just an idea, but i'm not sure about it...
- NO SQL indicates that the routine contains no SQL statements. maybe it's something about what function/procedure do (maybe in future with another language/script? python?) a function that don't use SQL, probably will not use sql parser... i'm not sure about this, but it's a point to consider, since if you parse the function/procedure using SQL parser, you will lost time/ram with it, and if function don't have SQL (python?) you shouldn't lost this resources... i'm not sure, but maybe it's something about it reading source code.... i think it's dead code... at least i don't found something interesting using it: in sql_yacc.yy: | NO_SYM SQL_SYM { Lex->sp_chistics.daccess= SP_NO_SQL; } from command line: C:\tmp\mysql-gdb\mariadb-10.0.3\sql>grep "SP_NO_SQL" * grep: CMakeFiles: Invalid request code grep: examples: Invalid request code grep: share: Invalid request code sp.cc: chistics.daccess= SP_NO_SQL; sp.cc: case SP_NO_SQL: sql_lex.h: SP_NO_SQL, sql_yacc.yy: { Lex->sp_chistics.daccess= SP_NO_SQL; } 2013/9/2 Roberto Spadim <robe...@spadim.com.br> > Hi Federico! > > > 2013/9/2 Federico Razzoli <federico_...@yahoo.it>: > > Ciao, > > > > 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? Both? > > i think it's something like: RANDON() = not deterministic, ROUND(1.5) > = deterministic > maybe it's important for replication (must be done via binary, instead > SQL), and it's important for query cache (not deterministic can't be > cached) > > > > * NO SQL: As far as I understand, even SET is a SQL statement. I guess > that a "no sql" function is something like > > CREATE FUNCTION x(n INT) RETURNS INT > > BEGIN > > RETURN n*2; > > END; > > > > But what is a "no sql" procedure (if such a procedure even exists)? > > i don't know, but reading mysql protocol, there's some functions for > show fields, process info, process kill, > http://dev.mysql.com/doc/internals/en/text-protocol.html > > > 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. > > > > Greetings > > Federico > > > > _______________________________________________ > > Mailing list: https://launchpad.net/~maria-discuss > > Post to : maria-discuss@lists.launchpad.net > > Unsubscribe : https://launchpad.net/~maria-discuss > > More help : https://help.launchpad.net/ListHelp > > > > -- > Roberto Spadim > SPAEmpresarial > -- Roberto Spadim SPAEmpresarial
_______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp