Max. Querys für Benutzer?

Hi, kann ich eine Maximale anzahl von Queries für Benutzer festlegen oder irgend etwas in die Richtung?

Welche Richtung?

Andreas

Ich will einfach, dass ein Benutzer max. 100 Querys pro Tag am Server tätigen kann?

Kann man das nicht mit einer Rule machen, wenn ein Select ausgefürt wird, wert um 1 erhöhen?

Nun ja, RULE ON SELECT müssen INSTEAD-Rules sein. Man kann das aber sicherlich als eine SRF programmieren.

Andreas

okay ich werd das dann vermutlich mit einer Rule + Funktion machen, die genau dann ausgeführt wird.

Eine kleine Frage hätte ich noch. kann ich irgendwo einstellen alls regel für einen bestimmten benutzer, dass dieser nut 1x eine verbindung aufbauen darf?

ALTER USER … CONNECTION LIMIT connlimit.

Andreas

alles klar. herzlichen dank.

kleine frage:

create rule test_rule as
on select to players
do instead 
select inc_select_user();

hmm. ich will einfach, davor oder nach dem select die funktion inc_select_user() aufrufen. Scheint jedoch nicht zu funktionieren. kann mir jemand einen Tipp geben?


FEHLER: Spaltenname in Targeteintrag 1 von SELECT-Regel unterscheidet sich von Spalte »player_id«
SQL state: 42P17

hmm… wollte wie folgt das lösen:

create rule test_rule as
on select to players
do instead 
select *, inc_select_user() from players;

numme ist …

Targetliste von SELECT-Regel hat zu viele Einträge

meine funktion:

create function inc_select_user() RETURNS void AS '
update users set select_cnt=select_cnt+1 where name=current_user;
' LANGUAGE SQL;

kann ich nicht das ganze mit einem view erledigen? Ist zwar unschön. aber das müsste doch funktionieren?

create view ... select *,inc_select_user() from players;

Ja. Aber Deine function hat keinen Parameter, damit gilt das Limit für alle User. Oder aber Du ermittelst innerhalb der function den current_user, könnte gehen so. Bin grad zu faul da weiter drüber nachzudenken. Die View verhindert ja so gesehen auch nicht eine Abfrage der Tabelle und so…

Andreas

Jep scheint zu funktionier! :wink:

Hmm… unschön ist das jedoch nach wie vor. Kann man das auf keinen Fall mit Hilfe von Rules erledigen? :confused: :confused:

Eine RULE auf SELECT ist gleichbedeutend mit einer VIEW. Rein technisch gesehen ist ein VIEW eine RULE auf SELECT mit Namen _RETURN. Nun hinreichend verwirrt?

Andreas

Ne, passt. macht alles sinn. Besten Dank! Hab es nun auch mit einem View gelöst.