Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.
Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.
Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.
Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.
Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.
Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).
aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.
id | polozka 1 | darcekova krabica 2 | kancelarsky darcek 3 | pero 4 | ceruzka 5 | tuha 6 | voucher 7 | obalt2
t1_id | obsah (opäť je to odkaz na t1.id) 1 | 2 1 | 6 2 | 3 2 | 4 4 | 5 4 | 7Čiže máme tabuľku t1, ktorá obsahuje nejaký produkt, ktorý sa z niečoho skladá a to zloženie je definované v tabuľke t2. Čiže v tomto príklade za darčeková krabica skladá z kancelárskeho darčeka a vouchera. Ale kancelársky darček sa skladá z pera a ceruzky. A nakoniec ceruzka sa skladá z tuhy a obalu. A ja potrebujem všetky id z ktorých sa skladá nadradený produkt (v tomto príklade darčeková krabica). Predpokladám, že toto je úloha pre rekurziu a zatiaľ som stvoril takéto niečo:
delimiter //
create procedure get_product(in id int)
this_proc:begin
declare loop_begin int;
declare recursion int;
set loop_begin=0;
set recursion=0;
set @trans=(select concat("trans_", replace(uuid(), '-', '')));
set @create = concat('create temporary table if not exists ', @trans, '(id int unsigned not null auto_increment primary key, data int)');
prepare stmt from @create;
execute stmt;
deallocate prepare stmt;
set @insert = concat('insert into ', @trans, ' select NULL, obsah from t2 where t1_id=', id);
prepare stmt from @insert;
execute stmt;
deallocate prepare stmt;
set @select = concat('select max(id) into @loop_end from ', @trans);
prepare stmt from @select;
execute stmt;
deallocate prepare stmt;
if(@loop_end is not null) then
while(loop_begin<@loop_end) do
set loop_begin=loop_begin+1;
set @select = concat('select data into @result from ', @trans, ' where id=', loop_begin);
prepare stmt from @select;
execute stmt;
deallocate prepare stmt;
set recursion=@result;
select recursion;
call get_product(recursion);
end while;
end if;
end//
delimiter ;
Ale táto procedúra mi končí keď sa dostane na položku ktorá už nikde neodkazuje. Čiže v tomto príklade dostanem 1,2,3.
Vie mi s tým niekto pomôcť? Za všetky rady vám vopred veľmi pekne ďakujem.
Řešení dotazu:
id a parent_id. A pak tam budeš mít vypočítávané sloupečky tree_left, tree_right, tree_depth. Případně ještě můžeš přidat tree_root_id, pokud máš mnoho malých stromů (pro rychlejší updaty).
Tiskni
Sdílej: