Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.
Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Ken Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.
Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.
Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].
Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.
Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 2. snapshot Ubuntu 25.10 (Questing Quokka).
Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.
Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.
HostnameLookups
jste měli nakonec pravdu nakonec vy. Původní příčina byla zapnutém firewallu ve Fedoře 15, u něhož se mi nepodařilo jeho zakázání obvyklým příkazem chkconfig, díky novém systemd. Za druhé se chci ale zamyslet na výše uvedeným příkazem v MySQL.
Na první pohled se totiž jedná o velice užitečný příkaz, který zřetězí pomocí zadaného oddělovače záznamy zesumarizované pomocí GROUP BY
. Hodit se může např. v případě, že GROUP
ujeme např. podle uživatelského jména a chceme zjistit jestli v DB není jméno duplikované, takže si pomocí GROUP CONCAT(user_id) AS uid
vypíšeme např.:
user1 | 14,21,35 filbar | 22,675 . . . atd.Jenomže to má jeden dooooost podstatný háček, velikost vráceného řetězce je ve výchozím stavu omezena na POUHÝCH 1024 znaků (přenastavit se dá v konfigu). Nechápu k čemu vůbec toto omezení existuje :-O. To má sloužit jako nějaká optimalizace, nebo proč? V každém případě nechápu proč vývojaři MySQL takto užitečnou funkci tak zbytečně pokazili. BTW. Než jsem to dneska odpoledne odhalil, tak jsem ztratil dobré 2 hodiny času.
Tiskni
Sdílej:
Hodit se může např. v případě, že GROUPujeme např. podle uživatelského jména a chceme zjistit jestli v DB není jméno duplikované
To můžete zjistit snáz třeba pomocí
select NAME,count(ID) as CNT from TT group by NAME having COUNT(ID)>1
nebo (lépe) rovnou ten sloupec deklarovat jako unique.
Jenomže to má jeden dooooost podstatný háček, velikost vráceného řetězce je ve výchozím stavu omezena na POUHÝCH 1024 znaků (přenastavit se dá v konfigu). Nechápu k čemu vůbec toto omezení existuje :-O. To má sloužit jako nějaká optimalizace, nebo proč?
Zřejmě to bude souviset s implementací té agregační funkce a její návratové hodnoty. Na druhou stranu, pokud vám taková délka nestačí, je více než pravděpodobné, že to, o co se snažíte, bude vhodnější dělat úplně jinak. Tahle agregační funkce slouží k usnadnění práce při generování jednoduchých výpisů, ne k tomu, abyste pomocí ní lámal něco, co pravděpodobně půjde daleko lépe vyřešit nějakým joinem.
SET SESSION group_concat_max_len = xx;
odit se může např. v případě, že GROUPujeme např. podle uživatelského jména a chceme zjistit jestli v DB není jméno duplikované, takže si pomocí GROUP CONCAT(user_id) AS uid vypíšeme např.:No nevím, nějaký index, nebo něco podobného by asi bylo mnohem rozumnější, než to řešit na aplikační úrovni...
You can set a maximum allowed length with the group_concat_max_len system variable. (The default value is 1024.)Osobne bych duplicity taky radsi hledal spis pomoci
having
.
Co se tyce MySQL, muj osobni pocit je ze blysti se tam toho hodne, ale zlata je tam asi jak v Ankh-Morporskem tolaru :)
Za posledni 1/2 rok sem stravil neuveritelne mnozstvi casu prochazenim manualu MySQL ve snaze vyresit ruzne veci. Vetsina featur MySQL se nese v tomto duchu: "MySQL ve verzi X ma novou skvelou featuru Y. .... nasleduje popis featury .... prosim prectete si omezeni tedle featury tady ..." a link na trikrat delsi popis omezeni featury.
Priklad co sem resil: mam tabulku a protoze bude mit moc radku (v radech milionu) chci udelat partitioning. Tabulka "t", primarni klic "id" auto increment, cizi klic "y_id", foreign key constraint nad y_id, par dalsich sloupcu.
Ja: create table... partition by list(y_id)
MySQL: partition tabulka nemuze mit foreign key constraint
Ja: ok, cert vem integritu, znovu bez foreign key
MySQL: kazdy sloupec z partition key musi byt soucast primary key.
Ja: WTF ? co je todle za .... ? no nic tak udelam slozeny primary key (y_id, id)
MySQL: Nemuzete mit auto_increment nad jednim sloupcem slozeneho primary key
Ja: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
... Kdyz nechcete prijit o nervy, vyhnete se MySQL obloukem.
Kdybys v druhém kroku vyhodil místo foreign key onu partition část, tak bys měl po problému.Podstata cviceni byla zavest partitioning. Zkouseli ste nekdy vymazat 5M radku z tabulky co jich ma 25M ? Kdyz je mate v partitionech, dropnuti jedne partition je prakticky okamzite.
A nebo jsi to prostě jen dělal blběNemyslim. AFAIK vsechno na co sem narazil jsou dokumentovane omezeni, neboli gotcha
SELECT
em, když ho napíšu špatně.