Dle analytics.usa.gov je za posledních 90 dnů 6,2 % přístupů k webových stránkám a aplikacím federální vlády Spojených států z Linuxu.
Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.
V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.
Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.
Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.
Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).
Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.
Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.
mysql> SELECT @@SESSION.sql_mode; +----------------------------------------------------------------+ | @@SESSION.sql_mode | +----------------------------------------------------------------+ | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +----------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> CREATE TABLE tfull ( -> id INT NOT NULL AUTO_INCREMENT, -> PRIMARY KEY (id) -> ) ENGINE=InnoDB AUTO_INCREMENT = 2147483647; Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO tfull VALUES(); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tfull VALUES(); ERROR 1062 (23000): Duplicate entry '2147483647' for key 'PRIMARY' mysql> DROP TABLE tfull; Query OK, 0 rows affected (0.01 sec) mysql>Ale řekl bych, že chyba může být i jiného typu...
MariaDB [test]> CREATE TABLE tfull ( -> id INT NOT NULL AUTO_INCREMENT, -> PRIMARY KEY (id) -> ) ENGINE=InnoDB AUTO_INCREMENT = 2147483647; Query OK, 0 rows affected (0.06 sec) MariaDB [test]> INSERT INTO tfull VALUES(); Query OK, 1 row affected (0.06 sec) MariaDB [test]> INSERT INTO tfull VALUES(); ERROR 167 (22003): Out of range value for column 'id' at row 1 MariaDB [test]> alter table tfull modify id BIGINT; Query OK, 1 row affected (0.06 sec) Records: 1 Duplicates: 0 Warnings: 0 MariaDB [test]> INSERT INTO tfull VALUES(); Query OK, 1 row affected (0.05 sec) MariaDB [test]> DROP TABLE tfull; Query OK, 0 rows affected (0.06 sec)
Měl jsi si skusit ten insert provést 2×, pak by jsi si zjistil, že jsi problém nevyřešil, jen jsi vytvořil jiný (na to přijdeš hned, takže ho neodhalím ).
A když už jsme u MySQL(MariaDB) a zvolili jsme na začátku INT a ne BIGINT, tak možná je lepší postup viz níže, protože (teoreticky) 2× natáhneme čas dokud nám stačí 32 bit id a tabulka je výrazně menší rychlejší a nepotřebuje tolik paměti (pokud interval po naplnění byl měsíc, tak to nemá význam, ale pokud třeba tři roky, tak je to dost zásadní).
Já bych postupoval v tomto případě z mezikrokem takto:
mysql> CREATE TABLE tfull ( -> id INT NOT NULL AUTO_INCREMENT, -> PRIMARY KEY (id) -> ) ENGINE=InnoDB AUTO_INCREMENT = 2147483647; Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO tfull VALUES(); Query OK, 1 row affected (0.02 sec) mysql> INSERT INTO tfull VALUES(); ERROR 1062 (23000): Duplicate entry '2147483647' for key 'PRIMARY' mysql> ALTER TABLE tfull MODIFY id INT UNSIGNED auto_increment; Query OK, 1 row affected (0.03 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> INSERT INTO tfull VALUES(); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tfull VALUES(); Query OK, 1 row affected (0.02 sec) mysql> ALTER TABLE tfull AUTO_INCREMENT = 4294967295; Query OK, 3 rows affected (0.01 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> INSERT INTO tfull VALUES(); Query OK, 1 row affected (0.02 sec) mysql> INSERT INTO tfull VALUES(); ERROR 1062 (23000): Duplicate entry '4294967295' for key 'PRIMARY' mysql> ALTER TABLE tfull MODIFY id BIGINT auto_increment; Query OK, 4 rows affected (0.02 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> INSERT INTO tfull VALUES(); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tfull VALUES(); Query OK, 1 row affected (0.02 sec) mysql> SELECT id FROM tfull; +------------+ | id | +------------+ | 2147483647 | | 2147483648 | | 2147483649 | | 4294967295 | | 4294967296 | | 4294967297 | +------------+ 6 rows in set (0.00 sec) mysql> DROP TABLE tfull; Query OK, 0 rows affected (0.01 sec) mysql>
Při milionu insertů za sekundu bude třeba 300tisíc let prp dosažení 9223372036854775807 (BIGINT max.).
A případné zpracování takové hodnoty/typu (BIGINT UNSIGNED) způsobuje jen (drobné) problémy ve většině jazyků a i v samotném MySQL se už musí s tímto číslem pracovat s přetypováním (implicitní konverze čísel, zjednodušeně funguje jen do rozsahu BIGINT).
Tiskni
Sdílej: