X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;ds=sidebyside;f=wwwroot%2Fbackend%2Fmysql%2Ffunctions.sql;h=c50f19dffa333ca44b2d0ce03dc3f5933c914e2f;hb=b17a1e9bc746b7eb0549dfd8dff61e132c9de828;hp=14bb0f514ebcf1cde34490148d6533f64d332340;hpb=ea8ec237eef63c13011de76d414425ce13ce884d;p=mirrors%2FKyberia-bloodline.git diff --git a/wwwroot/backend/mysql/functions.sql b/wwwroot/backend/mysql/functions.sql index 14bb0f5..c50f19d 100644 --- a/wwwroot/backend/mysql/functions.sql +++ b/wwwroot/backend/mysql/functions.sql @@ -20,25 +20,40 @@ BEGIN /* weigths from user to: - all nodes from node to root node - all node owners from node to root node - - all nodes between themselves (safe?) + - all nodes between themselves (safe?) XXX removed */ - select node_weight,node_creator into n_weight,n_owner from nodes where node_id=node2; + select /*node_weight,*/node_creator into /*n_weight,*/n_owner from nodes where node_id=node2; select synapse_weight into s_weight from neurons where src=user and dst=node2; + if found_rows() = 0 then set s_weight=1; end if; select synapse_weight into o_weight from neurons where src=user and dst=n_owner; + if found_rows() = 0 then set o_weight=1; end if; + +/* if o_weight = NULL or o_weight=0 then set o_weight=1; end if; + if s_weight = NULL or s_weight=0 then set s_weight=1; end if;*/ + /*if n_weight = NULL or n_weight=0 then set n_weight=1; end if;*/ - if o_weight = NULL or o_weight=0 then set o_weight=1; end if; - if s_weight = NULL or s_weight=0 then set s_weight=1; end if; - if n_weight = NULL or n_weight=0 then set n_weight=1; end if; - - set final = final * s_weight * o_weight * n_weight; + set final = final * s_weight * o_weight;/* * n_weight;*/ END WHILE; RETURN final; END// + +/* Procedure itself with additional informations (parent name and owner name)*/ create procedure k_neurons ( IN user_id INT, IN day_int INT) BEGIN if day_int = NULL or day_int = 0 then set day_int=20; end if; - select *,(k_get_node_weigth(node_id,user_id)*k) as weight_k from nodes where k>0 - and node_created>now()-interval day_int day order by weight_k desc; - + select nodes.node_id, + nodes.node_name, + nodes.node_creator, + nodes.node_content, + nodes.k, + nodes.node_parent,(k_get_node_weigth(nodes.node_id,user_id)*nodes.k) as weight_k, + users.login as creator_name, + parent.node_name as parent_name + from nodes + left join users on users.user_id=nodes.node_creator + left join nodes as parent on nodes.node_parent=parent.node_id + where nodes.k>0 and nodes.node_created>now()-interval day_int day + order by weight_k desc; + END// delimiter ;