Chystané vydání verze 2.0.11

Upozornění: Tohle vlákno je hodně staré.

před 7 lety

David Grudl
Nette Core | 7148
+
0
-

Rád bych vydal verzi 2.0.11, která obsahuje řadu fixů v Nette\Database, opravuje #700, #1026, #634, #900, #1057, přidává dopřednou kompatibilitu pro |noescape v Latte a třídu Nette\Configurator a v Sandboxu je Adminer přístupný jen z localhostu. Pokud se neobjeví nějaký bezpečnostní problém, zřejmě by šlo o poslední verzi v řadě 2.0.x.

Update by pochopitelně neměl způsobit žádné komplikace. Pokud byste narazili na nějakou chybu nebo pokud víte o issue, které by mělo být do této verze zařazeno, dejte vědět.

před 7 lety

enumag
Člen | 2129
+
0
-

Včera jsem něco dělal s 2.0.10 a všiml jsem si že rozkliknuté panely z debugBaru nepřekrývají laděnku. V masteru je to dávno opravené, tuším že to fixoval tento commit.

před 7 lety

llsm
Člen | 122
+
0
-

enumag +1

před 7 lety

David Grudl
Nette Core | 7148
+
0
-

fixed

před 7 lety

Majkl578
Moderator | 1376
+
0
-

Letmo jsem to prošel a zaujaly mě následující:

Jinak jsem zkusil na pár projektech a zdá se být OK.

Editoval Majkl578 (17. 6. 2013 19:47)

před 7 lety

Caine
Člen | 218
+
0
-

Nešlo by tam ještě zahrnout nejnovější laděnku resp alespoň nějakou verzi, která zobrazuje všechny panely mezi požadavkama…?

před 7 lety

enumag
Člen | 2129
+
0
-

@Caine: Osobně bych tuhle featuru nestrkal do stable dokud nebude totéž fungovat i pro ajaxové požadavky. Když je to jenom pro redirecty, připadá mi to neúplné…

před 7 lety

Caine
Člen | 218
+
0
-

@enumag mno nevím, ja jsem to pro ajax moc nepotřeboval a když už, tak je tu firelog…

Jinak aplikace většinou píšu tak, aby ajax šel vypnout v configu, a když je potřeba debugovat, tak se ajax prostě vypne:)

před 7 lety

saimons
Člen | 294
+
0
-

Dnes jsem udelal upgrade z verze 2.0.10 na release-2.0.x z Githubu a je tam BC break. Na tabulkach bez PK jsem pri insertu pres Nette\Database\Table dsotal chybu: Table … does not have any primary key.

před 7 lety

MartinitCZ
Člen | 587
+
0
-

@**saimons**: Tohle je chyba tvého návrhnu. ;) Primary key máš mít všude.

před 7 lety

enumag
Člen | 2129
+
0
-

@martinit: To je sice pravda, ale pokud to fungovalo doteď, nemá takový BC break v poslední 2.0 verzi co dělat. Související diskusi najdeš zde.

Editoval enumag (26. 6. 2013 21:43)

před 7 lety

saimons
Člen | 294
+
0
-

@martinit: S tim bych nesouhlasil, ze ma byt primarni klic vsude. Nechci se tu poustet do podrobnych popisu, protoze DB model navrchoval jiny clen tymu, ale v mem pripade ja umisteni PK navrhove spatne. Jedna se o tabulku s obrovskym objemem dat v rozsahu BIGINT a INDEX je nastaven na jiny atribut, pro ktery je potreba. Primarni klic se nevyuzije. Pokud si MySQL nekde stejne dela INDEX na skryty PK, tak to uz je vec MySQL (mozna docasna), ale v jinych DB se to da efektivne vyuzit.

před 7 lety

enumag
Člen | 2129
+
0
-

@saimons: A proč ten jiný sloupec na kterym je index neni primární klíč? Není unikátní? Není tam nějaká kombinace sloupců, která dohromady identifikuje řádek a mohla by sloužit jako PK?

před 7 lety

saimons
Člen | 294
+
0
-

@enumag: Atribut na kterem je INDEX neni unikanti a je tam proto, ze pouze pres tento atribut se dela vyber mnoziny. Vzajemna kombinace sloucu by sla pouzit, ale tzn., ze by na ne musel byt INDEX a to by zpomalilo zapis, protoze by se musel prepocitavat pro vsechny sloupce a pri vyberu by to v rychlosti nepomohlo, protoze se pres ne vyber nedela.

před 7 lety

paranoiq
Člen | 389
+
0
-

@saimons skrytý PK není dočasná záležitost a není to specialita MySQL. každá běžná databáze potřebuje jednoznačně identifikovat záznam. ad „Primarni klic se nevyuzije“ – PK je to co říká enginu, kde konkrétně jsou uložena data. v sekundárních indexech jsou pouze odkazy na PK

RTFM http://dev.mysql.com/…d-index.html 14.2.3.12.2

ale samozřejmě BCbreaky v setinkové verzi jsou EE

před 7 lety

saimons
Člen | 294
+
0
-

@paranoiq: No ale napr. v Teradate a v Oraclu to tak neni. Tam tuto funkci zastupuje row number na kterem nemas/nemusis mit INDEX. A pak je muj datovy model spravny. Ale stejne jak rikate, tak pokud budu mit jak kombinaci unikatnich atributu, nebo PK, tak stejne se zeslozituje pri kazdem insertu doba na jejich prepocteni. To jestli to MySQL stejne dela jako kdyby tam ten PK byl (ikdyz neni videt), to nevim.

před 7 lety

paranoiq
Člen | 389
+
0
-

dělá

ad Oracle: samozřejmě to tak jde dělat, ale pak předpokládám buď to, že řádky jsou fyzicky setříděné podle row number, nebo se dělá full-table-scan (tak je to třeba u MEMORY tabulek). ani jedno z toho není žádná výhra

btw. jak je Nette\DB odladěné s Oraclem?

před 7 lety

hrach
Člen | 1818
+
0
-

Dnes jsem udelal upgrade z verze 2.0.10 na release-2.0.x z Githubu a je tam BC break. Na tabulkach bez PK jsem pri insertu pres Nette\Database\Table dsotal chybu: Table … does not have any primary key.

Abych to celé uzavřel: tabulky, co nemají PK není důvod využívat Nette\Database\Table, protože to bez PK nefunguje.

před 7 lety

MartinitCZ
Člen | 587
+
0
-

Přesně to, co napsal hrach jsem myslel. :)

@**enumag**: Sám víš, že jsem měl úplně stejný problém. Jen asi o dvě-tři setinkové verze zpět a řešili jsme to spolu dokonce přes email.

před 7 lety

enumag
Člen | 2129
+
0
-

@hrach, @martinit: Tak jak mu to mohlo fungovat až do 2.0.10?

před 7 lety

Milo
Nette Core | 1153
+
0
-

@saimons: Pokud tento BC break ve 2.0.11 zůstane, můžeš insert přepsat na:

$connection->insert('tabulka', $data);

před 7 lety

David Grudl
Nette Core | 7148
+
0
-

Hrachu, zkus prosím mrknout, které commity přidat nebo zrušit v 2.0.11 RC.

před 7 lety

hrach
Člen | 1818
+
0
-

DG: Boze, toto uplne nesnasim :D
Prosel jsem zmeny a nenasel jsem nic, co by pro insert melo toto zpusovobat. Prosim o ladenku.

před 7 lety

Milo
Nette Core | 1153
+
0
-

Dělá to tento commit. getPrimary() vyhazuje vyjímku.

Testováno na 2.0.10 a 2.0.11RC:

# CREATE TABLE nopk (name TEXT);
$db = $this->context->getService('database');
$db->table('nopk')->insert(array('name' => 'test'));

EDIT: Pokud se vyjímka zakomentuje, insert se provede.

EDIT2: A probublá to tam přes insert() > getPrimarySequence() > getPrimary()

Editoval Milo (28. 6. 2013 7:55)

před 7 lety

hrach
Člen | 1818
+
0
-

Shit, ten commit sam o sobe neni problem, ale prehlidl jsem jedno volani, ktere bylo az za obzorem se scrollbarem :)

Editoval hrach (28. 6. 2013 10:32)

před 7 lety

hrach
Člen | 1818
+
0
-

masteru je to v poradku. Udelam opravny fix, ktery by daval smysl.

před 7 lety

hrach
Člen | 1818
+
0
-

Asi me sali zrak. Nemuzu to najit. Neradi se mi to zreplikovat. V metode insert neni zadne volani, ktere by vynucovalo primarni klic, jedine snad tu, kde to je ovšem s FALSE…

před 7 lety

enumag
Člen | 2129
+
0
-

@hrach: Tohle (volání vpravo za scrollbarem) + tohle ho nevynucuje? (Myslím, že přesně tyhle řádky měl na mysli @Milo.)

EDIT: To volání cos našel ty ale taky způsobí volání Selection::getPrimary(). $need na to nemá vliv.

Editoval enumag (28. 6. 2013 11:30)

před 7 lety

hrach
Člen | 1818
+
0
-

Diky, mel jsem spatne reflection… :| :D

před 7 lety

hrach
Člen | 1818
+
0
-

Jojo, to uz jsem si vsiml. To bude oprava i do masteru.

před 7 lety

hrach
Člen | 1818
+
0
-

Vypada to, ze opravny commit pro master opravil i BC break. Tak snad. Feel free to test it.

před 7 lety

Milo
Nette Core | 1153
+
0
-

@hrach: Ano, BC break zmizel a INSERT se provede.

před 7 lety

David Grudl
Nette Core | 7148
+
0
-

Dal jsem na web 2.0.11 RC2 a prosím o otestování v reálném provozu. Díky!

před 7 lety

Majkl578
Moderator | 1376
+
0
-

Nebylo by možné BETA/RC releasy i tagovat na GitHubu? Takhle se to hrozně krkolomně testuje. :/

před 7 lety

Jan Tvrdík
Nette guru | 2563
+
0
-

@David Grudl: Při zkoušení 2.0.11 RC2 jsem narazil na https://github.com/…te/pull/1162. Chyba je tam zřejmě odjakživa, byl bych rád, kdyby se oprava dostala do 2.0.11. Můžeš přihodit i ostatní opravy, ale ty nepotřebuji.

před 7 lety

David Grudl
Nette Core | 7148
+
0
-

Honzo máš to tam.

před 7 lety

Jan Jakeš
Člen | 178
+
0
-

Btw. zaregistrovali jste nové releases na Githubu? https://github.com/…our-software

před 7 lety

Filip Procházka
Moderator | 4693
+
0
-

<ot> David to tam nasázel hned první den co to vyšlo, vypadá to super! :) </ot>

Editoval Filip Procházka (9. 7. 2013 14:49)

před 7 lety

Jan Jakeš
Člen | 178
+
0
-

Aha, super :)