abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:33 | Nová verze

    Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.

    Ladislav Hagara | Komentářů: 0
    dnes 18:22 | Zajímavý projekt

    Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 12:44 | Bezpečnostní upozornění

    Zpráva Justičního výboru Sněmovny reprezentantů upozorňuje na cenzurní kampaň Evropské komise, mířenou proti svobodě projevu na sociálních sítích. V dokumentu se uvádí, že se Evropská komise během posledních šesti let účastnila více než 100 uzavřených jednání, během nichž po platformách požadovala úpravy pravidel moderování obsahu, přičemž toto úsilí Komise zahrnovalo i cenzuru politických názorů a pravdivých informací. Výbor zdůrazňuje, že tento přístup Bruselu ohrožuje ústavou zaručená práva Američanů na svobodu projevu.

    NUKE GAZA! 🎆 | Komentářů: 11
    dnes 04:33 | Nová verze

    Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 0
    včera 03:33 | IT novinky

    Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.

    Ladislav Hagara | Komentářů: 8
    7.2. 21:00 | Zajímavý projekt

    Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.

    NUKE GAZA! 🎆 | Komentářů: 3
    7.2. 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    7.2. 16:00 | Humor

    Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.

    NUKE GAZA! 🎆 | Komentářů: 6
    6.2. 17:22 | IT novinky

    Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.

    NUKE GAZA! 🎆 | Komentářů: 22
    6.2. 16:44 | Komunita

    Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.

    NUKE GAZA! 🎆 | Komentářů: 10
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (10%)
     (26%)
     (3%)
     (5%)
     (2%)
     (12%)
     (28%)
    Celkem 815 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: mysql: transakce a uzamceni tabulky

    2.11.2008 16:56 zoufalec
    mysql: transakce a uzamceni tabulky
    Přečteno: 2797×
    Jak mam v innodb uzamknout tabulku behem transakce pro zapis? V manualu se pise, ze LOCK TABLE provede COMMIT a START TRANSACTION zase provede UNLOCK TABLE. To musel vymyslet opravdu chytry inzenyr. Da se to nejak obejit treba uzamcenim vsech radku v tabulce, aby to vydrzelo po celou transakci? Dekuji.

    Odpovědi

    3.11.2008 06:39 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    proc chcete zamykat tabulku pro zapis kdyz mate transakce?
    In Ada the typical infinite loop would normally be terminated by detonation.
    3.11.2008 14:59 qwerty
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    ??? co je to za dotaz?

    protoze trnsakce nechrani tabulku proti zmenam od jinych klientu
    3.11.2008 17:56 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    ??? a proc to chcete takto chranit?
    In Ada the typical infinite loop would normally be terminated by detonation.
    3.11.2008 18:13 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    jo ja uz to vidim nize ... on ma aplikaci ktera si zrejme plete databazi s textovym souborem, neni schopna pobrat provoz vicero klientu naraz, ale hlavne ze to cele je na te "nejvykonnejsi" databazi, tak v tom pripade jiste inzenyri mysql nekde udelali chybu! :-)
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.11.2008 05:43 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Transakce a zamykani tabulek jsou uplne jine veci, kazde se pouziva za jinym ucelem a jedno druhe nenahradi. Jedno poskytuje atomicitu nekolika operacim najednou, druhe chrani po nejaky cas tabulku pred zmenami. Podle vaseho posmesneho vyjadreni by se zdalo, ze zamykani tabulek je uplne zbytecne. Proc myslite, ze ho tedy databaze poskytuji? Opravdu jste se nikdy nesetkal s potrebou provedeni nejake operace s jistotou, ze se v jejim prubehu tabulka nezmeni? Pak bych to zase ja videl spise na nedostatek praxe.
    4.11.2008 14:23 Ivan
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    No nevim. Podle "ideologie" Oracle je lock table zbytecna vec. Tzn. pokud potrebujete zamknout tabulku tak mate zcela jiste chybu v navrhu. V nekterych pripadech Oracle lock table vubec nepodporuje.
    4.11.2008 22:10 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    No, podivejte se na modelovy priklad. Mejme v mysql/innodb dva thready T1 a T2:

    T1: set autocommit=0 => OK T2: set autocommit=0 => OK T1: insert into tabulka values ('test') => OK T2: insert into tabulka values ('test') => wait T1: delete from tabulka where id='test' => OK T2: => error: Deadlock found when trying to get lock; try restarting transaction

    Je pekne, ze mysql umi detekovat deadlock a vzpamatovat se z nej bez zatuhnuti, ale prece jen mam pocit, ze by bylo lepsi se deadlockum vyhybat. Prozradte mi prosim jak.

    4.11.2008 22:12 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    No, podivejte se na modelovy priklad. Mejme v mysql/innodb dva thready T1 a T2:
    T1: set autocommit=0 => OK
    T2: set autocommit=0 => OK
    T1: insert into tabulka values ('test') => OK
    T2: insert into tabulka values ('test') => wait
    T1: delete from tabulka where id='test' => OK
    T2: => error: Deadlock found when trying to get lock; try restarting transaction
    
    Je pekne, ze mysql umi detekovat deadlock a vzpamatovat se z nej bez zatuhnuti, ale prece jen mam pocit, ze by bylo lepsi se deadlockum vyhybat. Prozradte mi prosim jak.

    5.11.2008 07:57 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    nepomohlo by tady zmenit isolation level?
    In Ada the typical infinite loop would normally be terminated by detonation.
    5.11.2008 20:14 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    To nevim, ale vim, ze zamknuti tabulky je ucinne a resi dalsi obdobne problemy. V zamknuti tabulky na dobu dvou tri malych nenakladnych operaci, ktere probehnou rychle a jen obcas behem administrace aplikace nevidim problem, vysledkem je spolehliva a robustni aplikace, coz je v mem pripade vyrazne dulezitejsi nez vykon. Jen me prekvapuje, ze je tu tolik lidi, kteri se tvari opovrzlive nad pouzivanim standardniho nastroje lock table, tvari se jako mistri sveta, hovori zasvecene o spatnem navrhu aplikace, ale kdyz dojde na prakticky problem, tak je ticho po pesine.
    10.11.2008 14:47 Zdenek Kotala
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    No ja se tem lidem nedivim. LOCK TABLE je obezlicka MySQL protoze, kdysi nepouzivala transakce a jinak to proste neslo. Rada lidi to pouziva dodnes a pak se divi, ze jim ta databaze neskaluje. Samozrejmne najdou se asi vyjmecne pripady, kdy je nutne to pouzit, ale osobne jsem to nikdy nepotreboval. Pokud se Vam jedna treba o to, zamknout jen nektere zaznamy, ktere budete pozdeji modifikovat, tak pak existuje v rozumnych databazich SELECT ... FOR UPDATE. Coz vam zamkne prislusne radky. Dalsi uz zminovana vec je pouzit jiny izolacni level.
    11.11.2008 14:37 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Ktery level konkretne na uvedeny konkretni pripad?

    Lock table neni obezlicka MySQL, ale standardni soucast SQL. Vite snad o databazi, kera by to nepodporovala?
    11.11.2008 14:45 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Ještě relativně nedávno třeba Firebird. Dokonce když tuto featuru zaváděli, považovali za nutné v Release Notes uvést příklad, k čemu může takové zamykání tabulky vlastně být dobré. Jiný kraj, jiný mrav…
    6.11.2008 13:16 burlog | skóre: 9
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Odpoved je v dokumentaci k mysql, ted nevim kde presne to je. Pokud dojde k deadlocku, je doporuceno transakci zkusit restartnout, tedy ji provest celou znova.... Neni to asi uplne idealni, ale ve vetsine pripadu to bude fungovat.
    6.11.2008 15:08 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Tohle bohuzel neni odpoved, jak se vyhnout deadlocku. V podstate mi rikate, abych se s nim smiril. Dekuji, ale to neni muj styl.
    4.11.2008 06:39 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    na to máte k dispozícii "select for update" a vhodne zvolený "transaction isolation level"
    4.11.2008 16:54 qweasd
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    To by me zajimlo, mam dva priklady. 1) dva prikazy insert/update pro jednu nebo dve tabulky, behem nich nesmi dojit k vlozni/zmene zadnych zaznamu, 2) jeden select a jeden insert, behem nich nesmi byt tabulka ctena, ani do ni nesmi byt vlozen jiny zaznam. Jak to udelate bez zamknuti tabulky, aby to bylo spolehlive bez moznosti selhani.
    3.11.2008 16:44 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Raději se nebudu ptát, k čemu to má být a prostě odpovím na otázku tak jak je položena.
    SELECT * FROM tabulka LOCK IN SHARE MODE
    
    případně exkluzivní zamčení:
    SELECT * FROM tabulka FOR UPDATE
    
    3.11.2008 17:19 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Potrebuji to k portovani jedne aplikace z oracle na mysql aby byla pouzitelna i na free hostinzich. Logika aplikace s tim pocita. U oracle tabulka bez transakce ani zamknout nejde a odemykaji se jen ukoncenim transakce nebo ulozenim save pointu. Opravdu by me zajimalo, proc to v mysql je takhle blbe udelano a vylucuje se to navzajem. Diky za radu.
    3.11.2008 18:20 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    tak ja bych rekl ze to bude tim, ze se to vzajemne vylucuje. ale v manualu pisou:

    The correct way to use LOCK TABLES and UNLOCK TABLES with transactional tables, such as InnoDB tables, is to begin a transaction with SET AUTOCOMMIT = 0 (not START TRANSACTION) followed by LOCK TABLES, and to not call UNLOCK TABLES until you commit the transaction explicitly.

    nepomuze to?
    In Ada the typical infinite loop would normally be terminated by detonation.
    4.11.2008 05:24 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Aha, to je zajimave, ze autocommit = 0 se chova jinak, nez start transaction. Jesli to nema dalsi posrtranni efekty, tak by to mohlo fungovat, dekuji.
    3.11.2008 17:22 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    I kdyz me ted napada, ze tohle asi nezabrani tomu, aby se do tabulky pridaly nove zaznamy, tudiz to neni ekvivalent lock table, ach jo. Existuje jeste nejake jine reseni, jak nahradit zamknuti tabulky v transakci?
    6.11.2008 16:24 razor | skóre: 33
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Ahoj, v dokumentaci píšou:
    The correct way to use LOCK TABLES and UNLOCK TABLES with transactional tables, such as InnoDB tables, is to begin a transaction with SET AUTOCOMMIT = 0 (not START TRANSACTION) followed by LOCK TABLES, and to not call UNLOCK TABLES until you commit the transaction explicitly.
    Takže správně by to mělo být:
    set autocommit = 0;
    lock table t write;
    
    dělám něco s tabulkou t
    
    commit;
    unlock tables;
    
    To nefunguje?
    6.11.2008 17:48 zoufalec
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Ahoj. Jo, tohle uz mi poradili o kousek vyse: http://www.abclinuxu.cz/poradna/databaze/show/244196#8 predevcirem a mohu potvrdit, ze to funguje, diky.
    6.11.2008 18:04 razor | skóre: 33
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    jé, tak to jsem slepej, sorry :-)
    8.11.2008 10:34 Ondra
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky
    Zajimava debata. Je tu nejaky alespon stredne pokrocili uzivatel MySQL, ktery by nam, neznalym, objasnil, jaky je rozdil mezi START TRANSACTION a SET AUTOCOMMIT=0, a kdy se ma co spravne pouzivat? Dodnes jsem si myslel, ze je to ekvivalentni, ale jak je videt, tak neni.
    12.11.2008 10:40 Tomas
    Rozbalit Rozbalit vše Re: mysql: transakce a uzamceni tabulky

    Tady lze najít popis chování s autocommit=0/1. IMHO v oficiálním manuálu MySQL je AUTOCOMMIT zadokumentován špatně.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.