PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > comp.databases.mysql > The Big Sleep
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
The Big Sleep

Réponse
 
LinkBack Outils de la discussion
Vieux 20/10/2007, 15h39   #1
strawberry
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut The Big Sleep

Just curious, is this expected behaviour?:

mysql> SELECT GREATEST(SLEEP(3),SLEEP(4));
+-----------------------------+
| GREATEST(SLEEP(3),SLEEP(4)) |
+-----------------------------+
| 0 |
+-----------------------------+
1 row in set (8.71 sec)

  Réponse avec citation
Vieux 20/10/2007, 16h21   #2
Paul Lautman
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: The Big Sleep

strawberry wrote:
> Just curious, is this expected behaviour?:
>
> mysql> SELECT GREATEST(SLEEP(3),SLEEP(4));
> +-----------------------------+
>> GREATEST(SLEEP(3),SLEEP(4)) |

> +-----------------------------+
>> 0 |

> +-----------------------------+
> 1 row in set (8.71 sec)


I guess it depends on what can "interrupt" SLEEP?

I would expect
SELECT GREATEST(LOUD_SNORE(),SLEEP(4));
to return 1


  Réponse avec citation
Vieux 20/10/2007, 16h56   #3
J.O. Aho
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: The Big Sleep

Paul Lautman wrote:
> strawberry wrote:
>> Just curious, is this expected behaviour?:
>>
>> mysql> SELECT GREATEST(SLEEP(3),SLEEP(4));
>> +-----------------------------+
>>> GREATEST(SLEEP(3),SLEEP(4)) |

>> +-----------------------------+
>>> 0 |

>> +-----------------------------+
>> 1 row in set (8.71 sec)

>
> I guess it depends on what can "interrupt" SLEEP?
>
> I would expect
> SELECT GREATEST(LOUD_SNORE(),SLEEP(4));
> to return 1
>
>

From the online manual
http://dev.mysql.com/doc/refman/5.0/...function_sleep

SLEEP(duration)

Sleeps (pauses) for the number of seconds given by the duration argument, then
returns 0. If SLEEP() is interrupted, it returns 1. The duration may have a
fractional part given in microseconds. This function was added in MySQL 5.0.12.

So, the results seems to be right.

--

//Aho
  Réponse avec citation
Vieux 20/10/2007, 17h19   #4
J.O. Aho
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: The Big Sleep

strawberry wrote:
> Just curious, is this expected behaviour?:
>
> mysql> SELECT GREATEST(SLEEP(3),SLEEP(4));
> +-----------------------------+
> | GREATEST(SLEEP(3),SLEEP(4)) |
> +-----------------------------+
> | 0 |
> +-----------------------------+
> 1 row in set (8.71 sec)
>

Greatest can't guess the value that a function returns, it has to wait and see
what happens, so it first waits 3 seconds for the first sleep to finish, and
then 4 seconds for the second sleep to finish, none of the sleep functions
will be interrupted (without outer interference) and therefore you get 0.

I think you would see the pattern if you change the sleep values on a mysql
server that runs on a low load machine.

--

//Aho
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 01h07.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,10106 seconds with 12 queries