Kom ihåg mig?
Home Menu

Menu


Har Loopia ändrat något idag?

Ämnesverktyg Visningsalternativ
Oläst 2007-11-22, 00:23 #1
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
Jag borde kanske maila deras support....

Flera av mina siter på loopia har idag delvis slutat fungera... Det är mysqlfrågor som jag får error på (som har körts klockrent i över ett år innan).

Ett exempel är t.ex:

Unknown column 'p.editUser' in 'on clause'

SELECT u.uname, u.id, u.sex, u.city, u.score, u.numWarnings, u.numPosts, u.createDate as regDate, u.signature, p.*, pt.text, ue.uName as editUname FROM (com_posts p, users u, com_post_texts pt LEFT JOIN users ue ON (ue.id = p.editUser AND p.editUser > 0)) WHERE p.threadId = 1033 AND u.id = p.createUser AND pt.postId = p.postId ORDER BY p.createDate ASC LIMIT 0, 20

Någon mer som fått problem eller vet vad det kan bero på? Är det något dumt i min syntax som inte är godkänt i någon ny mysql-version eller liknande?

Och ja - tabellen och fältet ifråga finns och det är rättstavat.
totoo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-22, 00:53 #2
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
STORT tack, det hjälpte!
totoo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-22, 01:20 #3
tjo1 tjo1 är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2007
Inlägg: 18
tjo1 tjo1 är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2007
Inlägg: 18
Loopia skulle väl uppdatera sina mysqlservrar till 5.någonting mellan 21 & 22 nov tror jag
tjo1 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-22, 09:48 #4
EmilIsbergs avatar
EmilIsberg EmilIsberg är inte uppkopplad
Medlem
 
Reg.datum: Mar 2007
Inlägg: 106
EmilIsberg EmilIsberg är inte uppkopplad
Medlem
EmilIsbergs avatar
 
Reg.datum: Mar 2007
Inlägg: 106
Citat:
Ursprungligen postat av totoo
Jag borde kanske maila deras support....
Ja tack, det får du väldigt gärna göra.

Citat:
Ursprungligen postat av totoo
Flera av mina siter på loopia har idag delvis slutat fungera... Det är mysqlfrågor som jag får error på (som har körts klockrent i över ett år innan).
Vi uppgraderade de två sista kundmysql-servrar till MySQL 5.0.45 igår vid 04:00.

MySQL har publicerat en lista på ändringar mellan 4.1 och 5.0 på:
http://dev.mysql.com/doc/refman/5.0/...-from-4-1.html

Du bör kontrollera vilka kontaktadresser du har angett för ditt konto hos oss då vi har skickat ut information gällande uppgraderingen till alla berörda konton.
EmilIsberg är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-22, 11:29 #5
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
Emil - ett tips är att ni skickar ut mail även till ÅF om detta, eftersom mina kunder kanske inte har något tekniskt intresse/förstånd själva.
Kan inte ni skicka en kopia på detta brev till info snabel-a deserveit.se? Det vore välkommet.

Men i övrigt... Problemet då som tråden handlar om - det är alltså en bugg eller handlar det om att mysql helt enkelt vill ha någon annan typ av logik i frågesyntaxen? Om det är en bugg (som jag uppfattar det som) så kan man ju tycka att mysql-versionen var rätt kass.
totoo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-22, 12:29 #6
najks avatar
najk najk är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Oct 2005
Inlägg: 1 224
najk najk är inte uppkopplad
Har WN som tidsfördriv
najks avatar
 
Reg.datum: Oct 2005
Inlägg: 1 224
Citat:
It is not a bug. Now MySQL 5 is in compliance with some rules of SQL that I'm not very
familiar with. By adding the parenthesis we are giving priority to the implicit join
expressed by the comma; after that JOIN, LEFT JOIN, RIGHT JOIN works the same way it used
to work in previous version.
Citerat från länken i post #2 i denna tråd.
najk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-22, 12:41 #7
EmilIsbergs avatar
EmilIsberg EmilIsberg är inte uppkopplad
Medlem
 
Reg.datum: Mar 2007
Inlägg: 106
EmilIsberg EmilIsberg är inte uppkopplad
Medlem
EmilIsbergs avatar
 
Reg.datum: Mar 2007
Inlägg: 106
Citat:
Ursprungligen postat av totoo
Problemet då som tråden handlar om - det är alltså en bugg eller handlar det om att mysql helt enkelt vill ha någon annan typ av logik i frågesyntaxen?

Jag anser personligen att bakåtkompatibilitet är att föredra, särskilt när det gäller hur fråge-syntaxen tolkas.
Dock verkar det som om MySQL anser att den tidigare syntaxen var en bugg även om den ofta användes.

Buggen som Kjette länkade har rätt mycket matnyttig information och är rekommenderad läsning:
Citat:
Originally posted by http://bugs.mysql.com/bug.php?id=13832+--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (http://bugs.mysql.com/bug.php?id=13832)
With regards to William Finn's comment that changing the order of the joins helps, this is
true but is a misleading solution. Essentially William's query becomes the following:
Kod:
SELECT * FROM t2 join (t1 left join t3 on t1.a = t3.c)
This is different than what is intended by the original query:
Kod:
SELECT * FROM (t1 JOIN t2) LEFT JOIN t3 ON t1.a = t3.c
Which is still different than what the server is *actually* trying to do:
Kod:
SELECT * FROM t1 JOIN (t2 LEFT JOIN t3 ON t1.a = t3.c)
[/b]


Citat:
Originally posted by -http://bugs.mysql.com/bug.php?id=13832

If you read the comments in this bug report, your join clearly falls into the category of
statements that are affected by recent changed to the optimizer. Your query is expected
not to work as written, because of the order of tables in the FROM clause and the use of a
LEFT JOIN, which binds more tightly than the comma.
<!--QuoteBegin--http://bugs.mysql.com/bug.php?id=13832
@

It is not a bug. Now MySQL 5 is in compliance with some rules of SQL that I'm not very
familiar with. By adding the parenthesis we are giving priority to the implicit join
expressed by the comma; after that JOIN, LEFT JOIN, RIGHT JOIN works the same way it used
to work in previous version.
[/quote]

Sammanfattningsvis är orsaken att MySQL helt har skrivit om SQL-tolken (optimizer) för att mer strikt följa SQL-standarden samt bättre hantera mer komplicerade frågor (där det exempelvis finns flera nyckelfält på tabeller).

<!--QuoteBegin--http://dev.mysql.com/doc/refman/5.0/en/join.html[/i]
SELECT u.uname, u.id, u.sex, u.city, u.score, u.numWarnings, u.numPosts, u.createDate as regDate, u.signature, p.*, pt.text, ue.uName as editUname FROM (com_posts p, users u, com_post_texts pt LEFT JOIN users ue ON (ue.id = p.editUser AND p.editUser > 0)) WHERE p.threadId = 1033 AND u.id = p.createUser AND pt.postId = p.postId ORDER BY p.createDate ASC LIMIT 0, 20[/quote]

Tidigare (4.x) kördes ihopslagningen (JOIN) av com_posts, users (u), com_post_texts innan users (ue), men numera (5.x) slås com_post, users (ue) ihop innan users (u) och com_post_texts.

Om jag tolkar MySQL-manualen rätt borde följande återfå det beteende som var innan 5.0.1:
Kod:
SELECT u.uname, u.id, u.sex, u.city, u.score, u.numWarnings, u.numPosts, u.createDate as regDate, u.signature, p.*, pt.text, ue.uName as editUname FROM ((com_posts p, users u, com_post_texts pt) LEFT JOIN users ue ON (ue.id = p.editUser AND p.editUser > 0)) WHERE p.threadId = 1033 AND u.id = p.createUser AND pt.postId = p.postId ORDER BY p.createDate ASC LIMIT 0, 20
EmilIsberg är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-11-22, 13:08 #8
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
Det är lika bra att inse... Jag är helt enkelt inte tillräckligt bra på mysql om man gräver på djupet...

Jag ser inte riktigt logiken i varför det blir som det blir och varför det inte blev så förut, men det kommer väl med tiden...

Stort tack till er iaf!
totoo är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 01:15.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017