Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).
Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.
Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.
Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.
Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování
… více »Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.
Americký prezident Donald Trump se v pondělí osobně setkal s generálním ředitelem firmy na výrobu čipů Intel Lip-Bu Tanem. Šéfa podniku označil za úspěšného, informují agentury. Ještě před týdnem ho přitom ostře kritizoval a požadoval jeho okamžitý odchod. Akcie Intelu v reakci na schůzku po oficiálním uzavření trhu zpevnily asi o tři procenta.
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: