Podrška #25309
Zatvorenfmk package - server db 4.0.6
100%
Povezani tiketi 2 (0 otvoreno — 2 zatvorenih)
Izmjenjeno od Ernad Husremović prije više od 13 godina
treba get_metric, set_metric stored procedure i samu tabelu prekopirati i public u fmk šemu tako da se F18 parametri ne mješaju sa knowhow.
Izmjenjeno od Ernad Husremović prije više od 13 godina
- Završetak postavljeno na 21.11.2011
Izmjenjeno od Saša Vranić prije više od 13 godina
heh, imamo tu tabelu i nekolicinu funkcija...
Izmjenjeno od Ernad Husremović prije više od 13 godina
Saša Vranić je napisao/la:
heh, imamo tu tabelu i nekolicinu funkcija...
da i to kopiraj u fmk šemu. pretpostavjam da ne možeš funkcije bez modifikacija koristiti za tabelu koja se nalazi u fmk shemi. pošto nećemo raditi modifikacije knowhow radi ovih stvari, copy-paste je u ovom slučaju, iako nije DRY, najbolje rješenje.
Izmjenjeno od Saša Vranić prije više od 13 godina
fetchmetrictext()¶
Ova funkcija je čista
CREATE OR REPLACE FUNCTION fetchmetrictext(text) RETURNS text AS $BODY$ DECLARE _pMetricName ALIAS FOR $1; _returnVal TEXT; BEGIN SELECT metric_value::TEXT INTO _returnVal FROM metric WHERE metric_name = _pMetricName; RETURN _returnVal; END; $BODY$ LANGUAGE plpgsql STABLE COST 100; ALTER FUNCTION fetchmetrictext(text) OWNER TO admin;
setmetric()¶
I ova funkcija je čista
CREATE OR REPLACE FUNCTION setmetric(text, text) RETURNS boolean AS $BODY$ DECLARE pMetricName ALIAS FOR $1; pMetricValue ALIAS FOR $2; _metricid INTEGER; BEGIN SELECT metric_id INTO _metricid FROM metric WHERE (metric_name=pMetricName); IF (FOUND) THEN UPDATE metric SET metric_value=pMetricValue WHERE (metric_id=_metricid); ELSE INSERT INTO metric (metric_name, metric_value) VALUES (pMetricName, pMetricValue); END IF; RETURN TRUE; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION setmetric(text, text) OWNER TO admin;
Izmjenjeno od Saša Vranić prije više od 13 godina
tabela "metric"¶
CREATE TABLE metric ( metric_id integer NOT NULL DEFAULT nextval(('metric_metric_id_seq'::text)::regclass), metric_name text, metric_value text, metric_module text, CONSTRAINT metric_pkey PRIMARY KEY (metric_id ) ) WITH ( OIDS=FALSE ); ALTER TABLE metric OWNER TO admin; GRANT ALL ON TABLE metric TO admin; GRANT ALL ON TABLE metric TO xtrole; COMMENT ON TABLE metric IS 'Application-wide settings information'; -- Index: metric_name_key -- DROP INDEX metric_name_key; CREATE INDEX metric_name_key ON metric USING btree (metric_name COLLATE pg_catalog."default" );
Izmjenjeno od Saša Vranić prije više od 13 godina
ovdje imamo NextVal() ali to je ok, koristi se public funkcija
Izmjenjeno od Saša Vranić prije više od 13 godina
to sam ja nešto prolupao... negdje drugo sam vidio milion funkcija
ahh da, to su one privilegije za usere itd...
Izmjenjeno od Saša Vranić prije više od 13 godina
Nije dobro, šta će nextval() uraditi ?
Da li je nextval() itegralna funkcija pgsql-a ?
Izmjenjeno od Ernad Husremović prije više od 13 godina
postoji negdje statement
create sequence ... metric_metric_id_seq
time se kreira sekvenca - brojač u plsql-u, funkcije nextval currval itd koriste tu sekvencu. one su integralni dio plsql
Izmjenjeno od Ernad Husremović prije više od 13 godina
obavezno daj link na postojeći source u github-u.
Izmjenjeno od Ernad Husremović prije više od 13 godina
mislim na xtuple server https://github.com/knowhow/xtupleserver/tree/master/dbscripts
Izmjenjeno od Saša Vranić prije više od 13 godina
dobro:
- funkcija fetchmetrictext
- funkcija setmetric
Izmjenjeno od Saša Vranić prije više od 13 godina
- Odgovorna osoba promijenjeno iz Saša Vranić u Ernad Husremović
- Prioritet promijenjeno iz Odmah riješiti u Normalan
pošto ćeš ti parametre raditi ovo će ti vjerovarno trebati
Izmjenjeno od Ernad Husremović prije više od 13 godina
- Naslov promijenjeno iz fmk package - metric tabela za F18 u fmk package - server db 4.0.2
Izmjenjeno od Ernad Husremović prije više od 13 godina
- Naslov promijenjeno iz fmk package - server db 4.0.2 u fmk package - server db 4.0.6
- Prioritet promijenjeno iz Normalan u Odmah riješiti
Izmjenjeno od Ernad Husremović prije više od 13 godina
primjer:
unsetuj parametar 'color' (izbrisi iz tabele metrika)
SELECT setmetric('color', '!!UNSET!!')
Izmjenjeno od Ernad Husremović prije više od 13 godina
takođe fetchmetric vraća !!notfound!! ako nema parametra
Izmjenjeno od Ernad Husremović prije više od 13 godina
Izmjenjeno od Ernad Husremović prije više od 13 godina
- Status promijenjeno iz Dodijeljeno u Zatvoreno
- % završeno promijenjeno iz 0 u 100