← Back to team overview

maria-developers team mailing list archive

RFC - CREATE PROCEDURE clauses (question about docs from mariadb-discuss)


Hi mariadb-devel guys, could anyone help here in a documentation problem?
 (maybe not a problem...)
*Please answer the BOLD questions*
We are talking about CREATE PROCEDURE , about DETERMINISTIC / NO SQL

    COMMENT '*string*'

*from mariadb-discuss:*
Hi Federico, sorry i read some points and start writing,
i will read and write after...
i will answer with my experience as an user, not as a mariadb/mysql

2013/9/2 Federico Razzoli <federico_raz@xxxxxxxx>

> Hi Roberto
> 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?*
hummm i don't know, but for procedure, there isn't a deterministic output
right? just for funcitons... maybe it's a parser problem, allow
deterministic keyword for procedures  (must check)

i'm thinking about, *why we use deterministic procs, and non deterministic
procs?* *this change something important in mysql server? replication,
query cache? other performace considerations?*

> There are many types of output for a proc:
> * OUT params
> * writes on tables
> * SET @var
hum.... from what i remember
procedure ~= function without return, something like a "void FUNCTION( any
parameters )"
function ~= a procedure that return values, in other words it must be
different from void...
that's why i think it's a problem at parser allowing deterministic keyword
at procedure, but must check... i don't know if this keyword change
something in mysql/mariadb code

> For a deterministic proc, do all of these need to be deterministic?
well, for me, procs are always non deterministics since it don't change
query cache invalidation and replication (must be done in binary i think)

> * I guess the answer isn't easy.
> *

*yeah, i see, we need a simple answer not a simplified answer*

> --
> For "NO SQL" a complete list of SQL statements would be needed. If we use
> this as a reference:
> http://dev.mysql.com/doc/refman/5.6/en/sql-syntax.html
> , even RETURN seems to be a SQL statement,

yes, maybe the point isn't the SQL statements list, but other functions
that mysql/mariadb server do? i don't know... NO SQL maybe is different
from NOSQL (memcache,mongo,etc...) since nosql is newer than mysql
the point is *what's NO SQL in CREATE PROCEDURE ?*

but of course it can't be true, because it's impossible to write a func
> without RETURN.
yeah, maybe we have a problem at docs... let's see if anyone else know
about this...
maybe we need help from mariadb-devel list, i will include in this email...

> Greetings
> Federico
bye =)
thanks guys

Roberto Spadim