Hozzászólások
-
SzerzőBejegyzés
-
Hmm, a PostgreSQL nagyon sok mindent ismer, azt gondoltam jelent vmit, hogy az elején kihangsúlyoztad. Tehát SQL’92 megoldás kell, íme:
Code:SELECT * FROM pelda GROUP BY a HAVING p = MIN(p);Problémák:
– nem hatékony, sokkal lassabb, mint az elõbbi megoldás
– egyezõ priorításokat nem lehet szûrni: a p = MIN(p) helyett nem lehet betenni részlistát
– ha ez egy részprobéma, akkor a részmegoldások nem minden esetben vagy rendkívül nehezen kombinálhatóak
– a GROUP BY a feltételben az a értékeit nem lehet behelyettesíteni (késõbb gond lehet)Tehát az A és a B között 1:N kapcsolat van, lekérdezéseknél az 1:1 leképezést a min(P) bevezetésével oldod meg. Azaz a lekérdezés: SELECT * FROM pelda WHERE a=”A” ORDER BY p ASC LIMIT 1 minden egyes A sorra.
Vhogy így oldanám meg a problémát (röviden, mert sietek):
Code:CREATE TABLE pelda (
id NUMERIC,
a NUMERIC,
b NUMERIC,
p NUMERIC);CREATE TABLE pelda_seged (
a NUMERIC,
id NUMERIC);CREATE PROCEDURE insert (A NUMERIC, B NUMERIC, P NUMERIC) AS
BEGIN
i NUMERIC;
ptr NUMERIC;
INSERT INTO pelda (a, b, p) VALUES (A, B, P);
i = SELECT COUNT(*) FROM pelda WHERE a=A;
IF i=0 THEN
ptr = SELECT id FROM pelda WHERE a=A;
INSERT INTO pelda_seged VALUES (ptr, A);
ELSE
ptr = SELECT id FROM pelda WHERE a=A ORDER BY p ASC LIMIT 1;
UPDATE pelda_seged SET id = ptr, a=A;
ENDIF
END;CREATE PROCEDURE delete (A NUMERIC, B NUMERIC, P NUMERIC) AS
BEGIN
i NUMERIC;
ptr NUMERIC;
DELETE FROM pelda WHERE a=A, b=B, p=P;
i = SELECT COUNT(*) FROM pelda WHERE a=A;
IF i=0 THEN
DELETE FROM pelda_seged WHERE a=A;
ELSE
ptr = SELECT id FROM pelda WHERE a=A ORDER BY p ASC LIMIT 1;
UPDATE pelda_seged SET id = ptr, a=A;
ENDIF
END;Lekerdezes:
SELECT pelda.* FROM pelda, pelda_seged WHERE pelda.id = pelda_seged.id;szevasztok, érdekelne, hogy van e szövegfelolvasó, vagy diktáló program linuxra, elég ha angolul tud, és ha igen, honnan lehet ezeket letölteni. köszi
Természetesen létezik, méghozzá minden nagyobb disztrib alapvetõ része (festival és festvox). Magyarul sajnos nem tudnak (ha jól tudom), de van egy FlexVoice nevû magyarul beszélõ progi, de az kereskedelmi termék.
http://www.cstr.ed.ac.uk/projects/festival/
http://festvox.org/Tehát a forráskódból szeretnéd kibányászni a fordítandó sorokat? Sajnos kissé kuszán írtad le, így nem egyértelmû. Ha igen, akkor a gettext-re van szükséged.
http://www.gnu.org/software/gettext/manual…no/gettext.html
http://www.szabilinux.hu/forditasok/gnome-faq/i18n.htmlKét lehetõséged van: vagy egymás után, vagy párhuzamosan adod át az adatokat.
A soros megoldás:
Parancs: progi1 | progi2
Progi2 kódvázlat (csak C-s, de C++-ban is mûködik):Code:#include
#include
#include[I] int main (int argc, char- argv[])
{
int fd[2];pipe (fd);
(…)
read (fd[0], inputbuf, bufsize);
(…)
close (fd[0]);
close (fd[1]);
}a pipe() lényegében két fájlt nyit meg, az fd[0] a bejövõ, az fd[1] a fimenõ adatforgalom.
Párhuzamos megoldásokat csak felsorolom: named pipe, socket, shared memory (System V IPC).
Bõvebben:
http://www.tldp.org/LDP/lpg/Hmm, egyáltalán melyik vátlozatot próbálod lefordítani? Sztm elfelejtetted (vagy nem tudod), hogy a stabil és a fejlesztõi változat letöltését csak egy hajszál választja el, ha CVS-bõl töltesz.
A *.d fájlok 99%-ban a függõségi adatokat tartalmaznak. Néhol autómatikusan létrejönnek, máshol meg külön paranccsal kell létrehozni õket.
Az ékezetekkel annyi a baj, hogy a text/plain típusú tartalomnál 7 bites kódolás van, és néhány news motor nem, vagy hibásan végzi el a 7->8 bites konverziót, az utf8-as text/html tartalmú leveleket meg pár helyen helybõl visszadobják.
Pl. rossz kódolással:
ARISZTID Tasziló => ARISZTID Taszil=F3
Sárási Péter => S=E1r=E1si P=E9terA másik probléma, hogy a latin-1-es karakterkészletben (iso8859-1) nincsen hosszú
Angol nyelvû fórumoknál inkább a vastag betûs vezetéknevet szokásos használni, és az egész nevet ékezetek nélkül.
Ez engem is érdekelne, mivel a Mandrake-t a 6.0-tól használom, de ilyen gondom sosem volt. A java plugint egyszerû megoldani, a gcc3.1 meg már alapértelmezett dolog. Talán már a 9.0-tól.
[align=right][snapback]54068[/snapback][/align]Réggebben elég sok problémát okozott, hogy a 3.x-es GCC-vel fordított C++ kód nem kompatibilis a 2.xx szériával. Ezért a 3.1-es GCC-vel fordított mozillánál nem lehetett betölteni a 2.95-tel fordított java plugint, vagy a flash-t. Ez utóbbit sajna még újrafordítani sem lehet.
-
SzerzőBejegyzés