Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(123) |
Dec
(21) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(62) |
Feb
(105) |
Mar
(85) |
Apr
(126) |
May
(142) |
Jun
(35) |
Jul
(140) |
Aug
(76) |
Sep
(163) |
Oct
(62) |
Nov
(90) |
Dec
(37) |
2003 |
Jan
(115) |
Feb
(99) |
Mar
(80) |
Apr
(55) |
May
(88) |
Jun
(12) |
Jul
(17) |
Aug
(28) |
Sep
(47) |
Oct
(37) |
Nov
(65) |
Dec
(30) |
2004 |
Jan
(31) |
Feb
(82) |
Mar
(59) |
Apr
(34) |
May
(34) |
Jun
(55) |
Jul
(25) |
Aug
(55) |
Sep
(36) |
Oct
(27) |
Nov
(59) |
Dec
(28) |
2005 |
Jan
(44) |
Feb
(46) |
Mar
(33) |
Apr
(63) |
May
(38) |
Jun
(63) |
Jul
(128) |
Aug
(115) |
Sep
(88) |
Oct
(51) |
Nov
(49) |
Dec
(63) |
2006 |
Jan
(51) |
Feb
(99) |
Mar
(68) |
Apr
(51) |
May
(86) |
Jun
(131) |
Jul
(91) |
Aug
(90) |
Sep
(83) |
Oct
(149) |
Nov
(131) |
Dec
(242) |
2007 |
Jan
(139) |
Feb
(78) |
Mar
(187) |
Apr
(117) |
May
(90) |
Jun
(88) |
Jul
(95) |
Aug
(73) |
Sep
(53) |
Oct
(63) |
Nov
(69) |
Dec
(34) |
2008 |
Jan
(31) |
Feb
(51) |
Mar
(48) |
Apr
(64) |
May
(57) |
Jun
(78) |
Jul
(106) |
Aug
(101) |
Sep
(255) |
Oct
(319) |
Nov
(420) |
Dec
(114) |
2009 |
Jan
(100) |
Feb
(93) |
Mar
(53) |
Apr
(92) |
May
(162) |
Jun
(90) |
Jul
(116) |
Aug
(35) |
Sep
(88) |
Oct
(47) |
Nov
(32) |
Dec
(18) |
2010 |
Jan
(23) |
Feb
(50) |
Mar
(9) |
Apr
(24) |
May
(21) |
Jun
(74) |
Jul
(48) |
Aug
(28) |
Sep
(48) |
Oct
(24) |
Nov
(17) |
Dec
(17) |
2011 |
Jan
(21) |
Feb
(8) |
Mar
(9) |
Apr
(15) |
May
(24) |
Jun
(20) |
Jul
(7) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2012 |
Jan
|
Feb
(27) |
Mar
|
Apr
(5) |
May
(6) |
Jun
(26) |
Jul
(22) |
Aug
(41) |
Sep
(2) |
Oct
(6) |
Nov
|
Dec
(3) |
2013 |
Jan
(25) |
Feb
(67) |
Mar
(101) |
Apr
(64) |
May
(57) |
Jun
(28) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(3) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
1
(4) |
2
|
3
|
4
|
5
(1) |
6
(8) |
7
(7) |
8
|
9
|
10
(5) |
11
|
12
(3) |
13
(1) |
14
(11) |
15
(2) |
16
|
17
|
18
|
19
|
20
(1) |
21
(7) |
22
(4) |
23
(2) |
24
(6) |
25
|
26
(1) |
27
(1) |
28
(19) |
29
|
30
|
From: Chris Kelly <ckdake@ck...> - 2006-09-28 23:52:08
|
Everyone definitely has their busy days/weeks/months/years. I know I'm certainly no exception (I think I can count the status emails I've sent on my toes). The new documentation proposals every time are certainly all useful but they are all different ways of doing things. None of them is perfect but none of them have seemed to be too wrong so far. I think someone just needs to take the ball and roll with it on one of them. If there's not time for you to give it all of your time that's just how it is. If Michael or anyone wants to throw a few hundred hours at it, that would be great. To clear one thing up for probably everyone, heres the deal with the tech-writers. In LV we "decided" (as if we hadn't decided before :) ): We don't have them, we want them, someone should do something about this, lets make chris do it! All I've done is ask around seeing if I could find a way to get some time from some people to do the actual writing of things and all I have is an e-mail commitment from some people to ask some students once we come up with something specific for them to do. So things are really almost the same as where they were last time. We need some structure to the docs so that we can figure out exactly what to get people to work on. Is coming up with a task list for people something you have time for or should I start stalking others? -Chris On Sep 28, 2006, at 3:21 PM, Christian Mohn wrote: > First of all, sorry for not sending status emails, nor really doing > any work > on docs. The last few months has been incredibly busy at work and I > really > don't have much energy left when I get home. That situation is > unlikely to > change over the next couple of months too. > After reading the meetup notes after LV, I was a bit bummed out by > reading > "Lack of documentation/organization-of-documentation negatively > differentiates Gallery from other projects". That really got to me, > but I do > know it's true and I have not been doing a great job with it. > The more I think about the more I realize that I'm really not (at > least not > currently) able to provide the documentation site the attention it > needs. > Every time we have discussed organization of the content I end up more > confused than before, and new angles/proposals are put forward > every time. > I do want to spend time on docs, and I do want to help in any way I > can, but > perhaps someone else should take charge and get a good organizational > structure and roadmap settled? As long as I know what I'm doing, I > would be > happy to help reorganize the contents. Perhaps we should use Michaels > "Documentation and support are two areas I'd be a good fit in" > skills and > let him have a go at trying to head out the docs team, if he's > interested. > If not, are there any other candidates or should we try to recruit > someone > who could do it instead of me? Perhaps someone in the mediawiki > organization > would bite, I don't know. > Also, I do feel kinda left out of the loop in the tech writers > stuff. I > would have thought that I would have been involved in that, besides > reading > about it in the LV meeting notes. Even if I'm doing a bad job of > being in > charge of docs, I think I should have been asked about it at least. > I would > have applauded it of course, so don't worry. Now, there, I said > it. ;-) > Don't worry, I'm not angry, irritated or otherwise annoyed, I'm just > realizing realities here as you all have done way ahead of me > anyway. I'm > not going anywhere either. -- Chris Kelly ckdake@... http://ckdake.com/ |
From: Wez Furlong <wez@ne...> - 2006-09-28 21:54:50
|
I guess we should cast to true if we don't succeed in getting the boolean version of that object. --Wez. On Sep 28, 2006, at 5:52 PM, Antony Dovgal wrote: > On 29.09.2006 01:47, Wez Furlong wrote: >> Tony, >> Any idea why this is now an error? >> Is something missing from the com extension? > > I guess this is because com_object_cast() handler returns FAILURE: > See ext/com_dotnet/com_handlers.c, line 527, this is the line where > it likely comes from. > And if the problem is in VariantChangeType() failing to convert the > object to VT_BOOL, then it doesn't look like PHP problem. > I can't test it on Linux though, so this is just what I see in the > sources. > >> If so, it needs to be fixed because one of the core features of >> the variant class is magically representing a variant bool, which >> can be interpreted as either true or false. > > -- > Wbr, Antony Dovgal |
From: Antony Dovgal <antony@ze...> - 2006-09-28 21:52:14
|
On 29.09.2006 01:47, Wez Furlong wrote: > Tony, > > Any idea why this is now an error? > Is something missing from the com extension? I guess this is because com_object_cast() handler returns FAILURE: See ext/com_dotnet/com_handlers.c, line 527, this is the line where it likely comes from. And if the problem is in VariantChangeType() failing to convert the object to VT_BOOL, then it doesn't look like PHP problem. I can't test it on Linux though, so this is just what I see in the sources. > If so, it needs to be fixed because one of the core features of the > variant class is magically representing a variant bool, which can be > interpreted as either true or false. -- Wbr, Antony Dovgal |
From: Wez Furlong <wez@ne...> - 2006-09-28 21:48:13
|
Yes :-) I just wanted to gauge whether it was a critical bug; it is (see my other mail regarding variants). --Wez. On Sep 28, 2006, at 5:46 PM, Hannes Magnusson wrote: > On 9/28/06, Wez Furlong <wez@...> wrote: >> that check is redundant in PHP 5; if the object couldn't be created, >> an exception will be thrown. > > Redundant or not, it's still a bug :) > > -Hannes > >> >> --Wez. >> >> On Sep 28, 2006, at 5:15 PM, Larry Menard wrote: >> >> > I originally found the problem like this: >> > >> > // Connect to database >> > $dbc = new COM(...); >> > >> > // Check that it was successful >> > if (! $dbc) { ...}; >> > >> > We then reduced it to that one single line just for >> simplification. >> > -------------------- >> > Larry Menard >> > "Defender of Geese and of All Things Natural" >> > E-mail and MSN Messenger: larry.menard@... >> > Web: http://ca.geocities.com/larry.menard@... >> > >> > >> > ----- Original Message ----- >> > From: "Wez Furlong" <wez@...> >> > To: "Larry Menard" <larry.menard@...> >> > Cc: <gallery-devel@...>; "Wez Furlong" >> > <wez@...>; "Antony Dovgal" <antony@...>; <php- >> > qa@...> >> > Sent: Thursday, September 28, 2006 4:49 PM >> > Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP >> > 5.2.0 RC5 >> > >> > > com, variant and dotnet objects are all the same really. >> > > >> > > The question is, why are you comparing them with bool in the >> first >> > > place? >> > > >> > > --Wez. >> > > >> > > On Sep 28, 2006, at 4:40 PM, Larry Menard wrote: >> > > >> > >> I also found that it's not only COM objects... I have >> another >> > >> occurrence: >> > >> >> > >> Catchable fatal error: Object of class variant could not be >> > >> converted to boolean >> > >> >> > >> -------------------- >> > >> Larry Menard >> > >> "Defender of Geese and of All Things Natural" >> > >> E-mail and MSN Messenger: larry.menard@... >> > >> Web: http://ca.geocities.com/larry.menard@... >> > >> >> > >> >> > >> ----- Original Message ----- >> > >> From: "Antony Dovgal" <antony@...> >> > >> To: "Antony Dovgal" <antony@...> >> > >> Cc: "Wez Furlong" <wez@...>; <gallery- >> > >> devel@...>; "Larry Menard" >> > >> <larry.menard@...>; <php-qa@...> >> > >> Sent: Thursday, September 28, 2006 4:10 PM >> > >> Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP >> > >> 5.2.0 RC5 >> > >> >> > >> > On 28.09.2006 23:57, Antony Dovgal wrote: >> > >> >> On 28.09.2006 23:24, Larry Menard wrote: >> > >> >>> Hi folks. >> > >> >>> >> > >> >>> I believe I've found a bug in PHP 5.2.0 RC5. When I >> try to >> > >> perform boolean operation against an object of type COM, I >> get an >> > >> error that it cannot be converted to boolean. >> > >> >>> >> > >> >>> Simplest repro script: >> > >> >>> >> > >> >>> <?php >> > >> >>> $dbc = new COM ("WinNT://Domain";); >> > >> >>> var_dump(bool($dbc)); >> > >> >>> ?> >> > >> >>> >> > >> >>> Error produced is: >> > >> >>> >> > >> >>> Catchable fatal error: Object of class com could not be >> > >> converted to boolean >> > >> >> >> > >> >> This is expected behaviour, which was (will be) introduced in >> > 5.2. >> > >> > >> > >> > Hm, I'm probably wrong. >> > >> > Objects cannot be converted to int, but they should be always >> > >> equal to (bool)true. >> > >> > >> > >> > -- >> > >> > Wbr, >> > >> > Antony Dovgal >> > >> > >> > >> > >> > >> >> > >> --------------------------------------------------------------------- >> - >> > >> --- >> > >> > Take Surveys. Earn Cash. Influence the Future of IT >> > >> > Join SourceForge.net's Techsay panel and you'll get the >> chance to >> > >> share your >> > >> > opinions on IT & business topics through brief surveys -- and >> > >> earn cash >> > >> > http://www.techsay.com/default.php? >> > >> page=join.php&p=sourceforge&CID=DEVDEV >> > >> > __[ g a l l e r y - d e v e l ]_________________________ >> > >> > >> > >> > [ list info/archive --> http://gallery.sf.net/lists.php ] >> > >> > [ gallery info/FAQ/download --> http://gallery.sf.net ] >> > >> > >> > > >> > > >> > > >> > >> --------------------------------------------------------------------- >> - >> > --- >> > > Take Surveys. Earn Cash. Influence the Future of IT >> > > Join SourceForge.net's Techsay panel and you'll get the chance to >> > share your >> > > opinions on IT & business topics through brief surveys -- and >> > earn cash >> > > http://www.techsay.com/default.php? >> > page=join.php&p=sourceforge&CID=DEVDEV >> > > __[ g a l l e r y - d e v e l ]_________________________ >> > > >> > > [ list info/archive --> http://gallery.sf.net/lists.php ] >> > > [ gallery info/FAQ/download --> http://gallery.sf.net ] >> > > >> >> -- >> PHP Quality Assurance Mailing List <http://www.php.net/> >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> |
From: Wez Furlong <wez@ne...> - 2006-09-28 21:47:15
|
Tony, Any idea why this is now an error? Is something missing from the com extension? If so, it needs to be fixed because one of the core features of the variant class is magically representing a variant bool, which can be interpreted as either true or false. --Wez. On Sep 28, 2006, at 5:21 PM, Wez Furlong wrote: > that check is redundant in PHP 5; if the object couldn't be > created, an exception will be thrown. > > --Wez. > > On Sep 28, 2006, at 5:15 PM, Larry Menard wrote: > >> I originally found the problem like this: >> >> // Connect to database >> $dbc = new COM(...); >> >> // Check that it was successful >> if (! $dbc) { ...}; >> >> We then reduced it to that one single line just for >> simplification. >> -------------------- >> Larry Menard >> "Defender of Geese and of All Things Natural" >> E-mail and MSN Messenger: larry.menard@... >> Web: http://ca.geocities.com/larry.menard@... >> >> >> ----- Original Message ----- >> From: "Wez Furlong" <wez@...> >> To: "Larry Menard" <larry.menard@...> >> Cc: <gallery-devel@...>; "Wez Furlong" >> <wez@...>; "Antony Dovgal" <antony@...>; <php- >> qa@...> >> Sent: Thursday, September 28, 2006 4:49 PM >> Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP >> 5.2.0 RC5 >> >> > com, variant and dotnet objects are all the same really. >> > >> > The question is, why are you comparing them with bool in the first >> > place? >> > >> > --Wez. >> > >> > On Sep 28, 2006, at 4:40 PM, Larry Menard wrote: >> > >> >> I also found that it's not only COM objects... I have another >> >> occurrence: >> >> >> >> Catchable fatal error: Object of class variant could not be >> >> converted to boolean >> >> >> >> -------------------- >> >> Larry Menard >> >> "Defender of Geese and of All Things Natural" >> >> E-mail and MSN Messenger: larry.menard@... >> >> Web: http://ca.geocities.com/larry.menard@... >> >> >> >> >> >> ----- Original Message ----- >> >> From: "Antony Dovgal" <antony@...> >> >> To: "Antony Dovgal" <antony@...> >> >> Cc: "Wez Furlong" <wez@...>; <gallery- >> >> devel@...>; "Larry Menard" >> >> <larry.menard@...>; <php-qa@...> >> >> Sent: Thursday, September 28, 2006 4:10 PM >> >> Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP >> >> 5.2.0 RC5 >> >> >> >> > On 28.09.2006 23:57, Antony Dovgal wrote: >> >> >> On 28.09.2006 23:24, Larry Menard wrote: >> >> >>> Hi folks. >> >> >>> >> >> >>> I believe I've found a bug in PHP 5.2.0 RC5. When I try to >> >> perform boolean operation against an object of type COM, I get an >> >> error that it cannot be converted to boolean. >> >> >>> >> >> >>> Simplest repro script: >> >> >>> >> >> >>> <?php >> >> >>> $dbc = new COM ("WinNT://Domain";); >> >> >>> var_dump(bool($dbc)); >> >> >>> ?> >> >> >>> >> >> >>> Error produced is: >> >> >>> >> >> >>> Catchable fatal error: Object of class com could not be >> >> converted to boolean >> >> >> >> >> >> This is expected behaviour, which was (will be) introduced >> in 5.2. >> >> > >> >> > Hm, I'm probably wrong. >> >> > Objects cannot be converted to int, but they should be always >> >> equal to (bool)true. >> >> > >> >> > -- >> >> > Wbr, >> >> > Antony Dovgal >> >> > >> >> > >> >> >> --------------------------------------------------------------------- >> - >> >> --- >> >> > Take Surveys. Earn Cash. Influence the Future of IT >> >> > Join SourceForge.net's Techsay panel and you'll get the >> chance to >> >> share your >> >> > opinions on IT & business topics through brief surveys -- and >> >> earn cash >> >> > http://www.techsay.com/default.php? >> >> page=join.php&p=sourceforge&CID=DEVDEV >> >> > __[ g a l l e r y - d e v e l ]_________________________ >> >> > >> >> > [ list info/archive --> http://gallery.sf.net/lists.php ] >> >> > [ gallery info/FAQ/download --> http://gallery.sf.net ] >> >> > >> > >> > >> > >> --------------------------------------------------------------------- >> ---- >> > Take Surveys. Earn Cash. Influence the Future of IT >> > Join SourceForge.net's Techsay panel and you'll get the chance >> to share your >> > opinions on IT & business topics through brief surveys -- and >> earn cash >> > http://www.techsay.com/default.php? >> page=join.php&p=sourceforge&CID=DEVDEV >> > __[ g a l l e r y - d e v e l ]_________________________ >> > >> > [ list info/archive --> http://gallery.sf.net/lists.php ] >> > [ gallery info/FAQ/download --> http://gallery.sf.net ] >> > > |
From: Wez Furlong <wez@ne...> - 2006-09-28 21:21:25
|
that check is redundant in PHP 5; if the object couldn't be created, an exception will be thrown. --Wez. On Sep 28, 2006, at 5:15 PM, Larry Menard wrote: > I originally found the problem like this: > > // Connect to database > $dbc = new COM(...); > > // Check that it was successful > if (! $dbc) { ...}; > > We then reduced it to that one single line just for simplification. > -------------------- > Larry Menard > "Defender of Geese and of All Things Natural" > E-mail and MSN Messenger: larry.menard@... > Web: http://ca.geocities.com/larry.menard@... > > > ----- Original Message ----- > From: "Wez Furlong" <wez@...> > To: "Larry Menard" <larry.menard@...> > Cc: <gallery-devel@...>; "Wez Furlong" > <wez@...>; "Antony Dovgal" <antony@...>; <php- > qa@...> > Sent: Thursday, September 28, 2006 4:49 PM > Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP > 5.2.0 RC5 > > > com, variant and dotnet objects are all the same really. > > > > The question is, why are you comparing them with bool in the first > > place? > > > > --Wez. > > > > On Sep 28, 2006, at 4:40 PM, Larry Menard wrote: > > > >> I also found that it's not only COM objects... I have another > >> occurrence: > >> > >> Catchable fatal error: Object of class variant could not be > >> converted to boolean > >> > >> -------------------- > >> Larry Menard > >> "Defender of Geese and of All Things Natural" > >> E-mail and MSN Messenger: larry.menard@... > >> Web: http://ca.geocities.com/larry.menard@... > >> > >> > >> ----- Original Message ----- > >> From: "Antony Dovgal" <antony@...> > >> To: "Antony Dovgal" <antony@...> > >> Cc: "Wez Furlong" <wez@...>; <gallery- > >> devel@...>; "Larry Menard" > >> <larry.menard@...>; <php-qa@...> > >> Sent: Thursday, September 28, 2006 4:10 PM > >> Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP > >> 5.2.0 RC5 > >> > >> > On 28.09.2006 23:57, Antony Dovgal wrote: > >> >> On 28.09.2006 23:24, Larry Menard wrote: > >> >>> Hi folks. > >> >>> > >> >>> I believe I've found a bug in PHP 5.2.0 RC5. When I try to > >> perform boolean operation against an object of type COM, I get an > >> error that it cannot be converted to boolean. > >> >>> > >> >>> Simplest repro script: > >> >>> > >> >>> <?php > >> >>> $dbc = new COM ("WinNT://Domain";); > >> >>> var_dump(bool($dbc)); > >> >>> ?> > >> >>> > >> >>> Error produced is: > >> >>> > >> >>> Catchable fatal error: Object of class com could not be > >> converted to boolean > >> >> > >> >> This is expected behaviour, which was (will be) introduced in > 5.2. > >> > > >> > Hm, I'm probably wrong. > >> > Objects cannot be converted to int, but they should be always > >> equal to (bool)true. > >> > > >> > -- > >> > Wbr, > >> > Antony Dovgal > >> > > >> > > >> > ---------------------------------------------------------------------- > >> --- > >> > Take Surveys. Earn Cash. Influence the Future of IT > >> > Join SourceForge.net's Techsay panel and you'll get the chance to > >> share your > >> > opinions on IT & business topics through brief surveys -- and > >> earn cash > >> > http://www.techsay.com/default.php? > >> page=join.php&p=sourceforge&CID=DEVDEV > >> > __[ g a l l e r y - d e v e l ]_________________________ > >> > > >> > [ list info/archive --> http://gallery.sf.net/lists.php ] > >> > [ gallery info/FAQ/download --> http://gallery.sf.net ] > >> > > > > > > > > ---------------------------------------------------------------------- > --- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > > opinions on IT & business topics through brief surveys -- and > earn cash > > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV > > __[ g a l l e r y - d e v e l ]_________________________ > > > > [ list info/archive --> http://gallery.sf.net/lists.php ] > > [ gallery info/FAQ/download --> http://gallery.sf.net ] > > |
From: Larry Menard <larry.menard@ro...> - 2006-09-28 21:15:15
|
I originally found the problem like this: // Connect to database $dbc =3D new COM(...); // Check that it was successful if (! $dbc) { ...}; We then reduced it to that one single line just for simplification. -------------------- Larry Menard "Defender of Geese and of All Things Natural" E-mail and MSN Messenger: larry.menard@... Web: http://ca.geocities.com/larry.menard@... ----- Original Message -----=20 From: "Wez Furlong" <wez@...> To: "Larry Menard" <larry.menard@...> Cc: <gallery-devel@...>; "Wez Furlong" = <wez@...>; "Antony Dovgal" <antony@...>; = <php-qa@...> Sent: Thursday, September 28, 2006 4:49 PM Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP 5.2.0 = RC5 > com, variant and dotnet objects are all the same really. >=20 > The question is, why are you comparing them with bool in the first =20 > place? >=20 > --Wez. >=20 > On Sep 28, 2006, at 4:40 PM, Larry Menard wrote: >=20 >> I also found that it's not only COM objects... I have another =20 >> occurrence: >> >> Catchable fatal error: Object of class variant could not be =20 >> converted to boolean >> >> -------------------- >> Larry Menard >> "Defender of Geese and of All Things Natural" >> E-mail and MSN Messenger: larry.menard@... >> Web: http://ca.geocities.com/larry.menard@... >> >> >> ----- Original Message ----- >> From: "Antony Dovgal" <antony@...> >> To: "Antony Dovgal" <antony@...> >> Cc: "Wez Furlong" <wez@...>; <gallery-=20 >> devel@...>; "Larry Menard" =20 >> <larry.menard@...>; <php-qa@...> >> Sent: Thursday, September 28, 2006 4:10 PM >> Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP =20 >> 5.2.0 RC5 >> >> > On 28.09.2006 23:57, Antony Dovgal wrote: >> >> On 28.09.2006 23:24, Larry Menard wrote: >> >>> Hi folks. >> >>> >> >>> I believe I've found a bug in PHP 5.2.0 RC5. When I try to =20 >> perform boolean operation against an object of type COM, I get an =20 >> error that it cannot be converted to boolean. >> >>> >> >>> Simplest repro script: >> >>> >> >>> <?php >> >>> $dbc =3D new COM ("WinNT://Domain";); >> >>> var_dump(bool($dbc)); >> >>> ?> >> >>> >> >>> Error produced is: >> >>> >> >>> Catchable fatal error: Object of class com could not be =20 >> converted to boolean >> >> >> >> This is expected behaviour, which was (will be) introduced in 5.2. >> > >> > Hm, I'm probably wrong. >> > Objects cannot be converted to int, but they should be always =20 >> equal to (bool)true. >> > >> > -- >> > Wbr, >> > Antony Dovgal >> > >> > =20 >> = ----------------------------------------------------------------------=20 >> --- >> > Take Surveys. Earn Cash. Influence the Future of IT >> > Join SourceForge.net's Techsay panel and you'll get the chance to =20 >> share your >> > opinions on IT & business topics through brief surveys -- and =20 >> earn cash >> > http://www.techsay.com/default.php?=20 >> page=3Djoin.php&p=3Dsourceforge&CID=3DDEVDEV >> > __[ g a l l e r y - d e v e l ]_________________________ >> > >> > [ list info/archive --> http://gallery.sf.net/lists.php ] >> > [ gallery info/FAQ/download --> http://gallery.sf.net ] >> > >=20 >=20 > = -------------------------------------------------------------------------= > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to = share your > opinions on IT & business topics through brief surveys -- and earn = cash > = http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDEV > __[ g a l l e r y - d e v e l ]_________________________ >=20 > [ list info/archive --> http://gallery.sf.net/lists.php ] > [ gallery info/FAQ/download --> http://gallery.sf.net ] > |
From: Wez Furlong <wez@ne...> - 2006-09-28 20:49:33
|
com, variant and dotnet objects are all the same really. The question is, why are you comparing them with bool in the first place? --Wez. On Sep 28, 2006, at 4:40 PM, Larry Menard wrote: > I also found that it's not only COM objects... I have another > occurrence: > > Catchable fatal error: Object of class variant could not be > converted to boolean > > -------------------- > Larry Menard > "Defender of Geese and of All Things Natural" > E-mail and MSN Messenger: larry.menard@... > Web: http://ca.geocities.com/larry.menard@... > > > ----- Original Message ----- > From: "Antony Dovgal" <antony@...> > To: "Antony Dovgal" <antony@...> > Cc: "Wez Furlong" <wez@...>; <gallery- > devel@...>; "Larry Menard" > <larry.menard@...>; <php-qa@...> > Sent: Thursday, September 28, 2006 4:10 PM > Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP > 5.2.0 RC5 > > > On 28.09.2006 23:57, Antony Dovgal wrote: > >> On 28.09.2006 23:24, Larry Menard wrote: > >>> Hi folks. > >>> > >>> I believe I've found a bug in PHP 5.2.0 RC5. When I try to > perform boolean operation against an object of type COM, I get an > error that it cannot be converted to boolean. > >>> > >>> Simplest repro script: > >>> > >>> <?php > >>> $dbc = new COM ("WinNT://Domain";); > >>> var_dump(bool($dbc)); > >>> ?> > >>> > >>> Error produced is: > >>> > >>> Catchable fatal error: Object of class com could not be > converted to boolean > >> > >> This is expected behaviour, which was (will be) introduced in 5.2. > > > > Hm, I'm probably wrong. > > Objects cannot be converted to int, but they should be always > equal to (bool)true. > > > > -- > > Wbr, > > Antony Dovgal > > > > > ---------------------------------------------------------------------- > --- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > > opinions on IT & business topics through brief surveys -- and > earn cash > > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV > > __[ g a l l e r y - d e v e l ]_________________________ > > > > [ list info/archive --> http://gallery.sf.net/lists.php ] > > [ gallery info/FAQ/download --> http://gallery.sf.net ] > > |
From: Larry Menard <larry.menard@ro...> - 2006-09-28 20:40:43
|
I also found that it's not only COM objects... I have another = occurrence: Catchable fatal error: Object of class variant could not be converted = to boolean=20 -------------------- Larry Menard "Defender of Geese and of All Things Natural" E-mail and MSN Messenger: larry.menard@... Web: http://ca.geocities.com/larry.menard@... ----- Original Message -----=20 From: "Antony Dovgal" <antony@...> To: "Antony Dovgal" <antony@...> Cc: "Wez Furlong" <wez@...>; = <gallery-devel@...>; "Larry Menard" = <larry.menard@...>; <php-qa@...> Sent: Thursday, September 28, 2006 4:10 PM Subject: Re: [Gallery-devel] [PHP-QA] Bug in COM support in PHP 5.2.0 = RC5 > On 28.09.2006 23:57, Antony Dovgal wrote: >> On 28.09.2006 23:24, Larry Menard wrote: >>> Hi folks. >>>=20 >>> I believe I've found a bug in PHP 5.2.0 RC5. When I try to = perform boolean operation against an object of type COM, I get an error = that it cannot be converted to boolean. >>>=20 >>> Simplest repro script: >>>=20 >>> <?php >>> $dbc =3D new COM ("WinNT://Domain";); >>> var_dump(bool($dbc)); >>> ?> >>>=20 >>> Error produced is: >>>=20 >>> Catchable fatal error: Object of class com could not be converted = to boolean >>=20 >> This is expected behaviour, which was (will be) introduced in 5.2. >=20 > Hm, I'm probably wrong. > Objects cannot be converted to int, but they should be always equal to = (bool)true. >=20 > --=20 > Wbr,=20 > Antony Dovgal >=20 > = -------------------------------------------------------------------------= > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to = share your > opinions on IT & business topics through brief surveys -- and earn = cash > = http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDEV > __[ g a l l e r y - d e v e l ]_________________________ >=20 > [ list info/archive --> http://gallery.sf.net/lists.php ] > [ gallery info/FAQ/download --> http://gallery.sf.net ] > |
From: Antony Dovgal <antony@ze...> - 2006-09-28 20:10:18
|
On 28.09.2006 23:57, Antony Dovgal wrote: > On 28.09.2006 23:24, Larry Menard wrote: >> Hi folks. >> >> I believe I've found a bug in PHP 5.2.0 RC5. When I try to perform boolean operation against an object of type COM, I get an error that it cannot be converted to boolean. >> >> Simplest repro script: >> >> <?php >> $dbc = new COM ("WinNT://Domain";); >> var_dump(bool($dbc)); >> ?> >> >> Error produced is: >> >> Catchable fatal error: Object of class com could not be converted to boolean > > This is expected behaviour, which was (will be) introduced in 5.2. Hm, I'm probably wrong. Objects cannot be converted to int, but they should be always equal to (bool)true. -- Wbr, Antony Dovgal |
From: Antony Dovgal <antony@ze...> - 2006-09-28 19:57:15
|
On 28.09.2006 23:24, Larry Menard wrote: > Hi folks. > > I believe I've found a bug in PHP 5.2.0 RC5. When I try to perform boolean operation against an object of type COM, I get an error that it cannot be converted to boolean. > > Simplest repro script: > > <?php > $dbc = new COM ("WinNT://Domain";); > var_dump(bool($dbc)); > ?> > > Error produced is: > > Catchable fatal error: Object of class com could not be converted to boolean This is expected behaviour, which was (will be) introduced in 5.2. -- Wbr, Antony Dovgal |
From: Larry Menard <larry.menard@ro...> - 2006-09-28 19:24:55
|
Hi folks. I believe I've found a bug in PHP 5.2.0 RC5. When I try to perform = boolean operation against an object of type COM, I get an error that it = cannot be converted to boolean. Simplest repro script: <?php $dbc =3D new COM ("WinNT://Domain";); var_dump(bool($dbc)); ?> Error produced is: Catchable fatal error: Object of class com could not be converted to = boolean On PHP 5.1.4 it returns: bool(true) My environment is Windows XP SP2. Running "php -v" returns: PHP 5.2.0RC5-dev (cli) (built: Sep 22 2006 04:22:26) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies As this is Windows, I'm running precompiled binaries ao I can't test = any source code changes, but I'd be happy to test new binaries if you = wish. Thanks. -------------------- Larry Menard "Defender of Geese and of All Things Natural" E-mail and MSN Messenger: larry.menard@... Web: http://ca.geocities.com/larry.menard@... |
From: Christian Mohn <h0bbel@p0...> - 2006-09-28 19:20:05
|
First of all, sorry for not sending status emails, nor really doing any work on docs. The last few months has been incredibly busy at work and I really don't have much energy left when I get home. That situation is unlikely to change over the next couple of months too. After reading the meetup notes after LV, I was a bit bummed out by reading "Lack of documentation/organization-of-documentation negatively differentiates Gallery from other projects". That really got to me, but I do know it's true and I have not been doing a great job with it. The more I think about the more I realize that I'm really not (at least not currently) able to provide the documentation site the attention it needs. Every time we have discussed organization of the content I end up more confused than before, and new angles/proposals are put forward every time. I do want to spend time on docs, and I do want to help in any way I can, but perhaps someone else should take charge and get a good organizational structure and roadmap settled? As long as I know what I'm doing, I would be happy to help reorganize the contents. Perhaps we should use Michaels "Documentation and support are two areas I'd be a good fit in" skills and let him have a go at trying to head out the docs team, if he's interested. If not, are there any other candidates or should we try to recruit someone who could do it instead of me? Perhaps someone in the mediawiki organization would bite, I don't know. Also, I do feel kinda left out of the loop in the tech writers stuff. I would have thought that I would have been involved in that, besides reading about it in the LV meeting notes. Even if I'm doing a bad job of being in charge of docs, I think I should have been asked about it at least. I would have applauded it of course, so don't worry. Now, there, I said it. ;-) Don't worry, I'm not angry, irritated or otherwise annoyed, I'm just realizing realities here as you all have done way ahead of me anyway. I'm not going anywhere either. Christian |
From: Bharat Mediratta <bharat@me...> - 2006-09-28 17:21:08
|
2.2: * Updated digibug admin page to use new content from Digibug folks * Added progress bar for Update Plugin List step * Mostly done with having DP support 3 different repositories (official, experimental and community). Will have that done by tomorrow. * Built 2.1.2 packages and pushed them to GMC. GMC has a complete set of official and experimental packages. Updated the gmc_repository.module to support them properly. * Identified performance problem with new data cache pruning code GMC: * Enabled greylisting to cut down spam. Seems to be working well so far. |
From: Michiel1981 <Gallery-list@4t...> - 2006-09-28 16:48:20
|
*committed comment author patch *worked on dataCacheMap speed up, not yet finished - Michiel1981 |
From: Alan Harder <alan.harder@su...> - 2006-09-28 16:08:56
|
* G2 - Integrated some patches from forums: + New block setting for imageblock to show multiple images/albums + New block setting for keyalbum to show keyword cloud + Option in exif/iptc module to set item title from iptc objectname - Refactor thumbnail module to use 'thumbnail' operation instead of 'convert-to-image/jpeg'. This avoids creation of a preferred derivative for mp3,doc,etc because G2 will try to use convert-to- image/jpeg to make a viewable version of the uploaded file - CSS fixes to make autocomplete visible again, could still use some update to display autoCompleteShadow - Omit system links, breadcrumb, logo link in progressbar views - Encode ecard email subject for UTF-8 when needed - Use markup:strip in rearrange module so title attr won't break xhtml - Refactor ErrorPage to avoid problems unserializing $ret after redirect (due to classes in $ret that aren't loaded in new request) - Fix read locking in ItemMove, fix in error handling - Updated language parser to support c-format hint with i18n() - Committed some language updates * GMC - Signe had unread PM from user that no longer exists; changed author so Signe could see/delete it. Cleaned up other such PMs. - Autofaq fix: don't encode - character, to match mediawiki anchors * Code reviews - Large quota (volksport) - prev/next links don't move (virshu) |
From: Chris Kelly <ckdake@ck...> - 2006-09-28 16:01:17
|
-created http://codex.gallery2.org/index.php/GMC:Website (want to add specs, performance data, tuning tips, input welcome) -added michiel1981 to the project but gave CVS instead of SVN permissions (thanks for fixing andy) -redid http://ckdake.com -emailed a few people in the Lit+Communicaiton+Culture department at Georgia Tech about technical writing student projects. emailed friends at other atlanta schools for info, emailed someone from http://www.stcatlanta.org/ -got a bite from one of the deans of LCC - we need a proposal one pager for a project and they'll send it out to people wanting internships. students can get course credit for working on documentation for Gallery -- Chris Kelly ckdake@... http://ckdake.com/ |
From: Andy Staudacher <andress@ee...> - 2006-09-28 15:55:38
|
* Promoted michiel1981 to have SVN commit permissions * Reviewed michiel1981's comment author patch * Guided mattdm through writing a jpegtran module * Reviewed the jpegtran module. Basically needs test, then it can go in. * Fixed some tests for Windows XP, ran all tests. * Fixed bug 1542080 "[G2] client-side caching" * Drafting an email for installation script authors. Proposd meeting agenda items: * Define G2.2 (not RC) blockers based on current tasks / bugs E.g. - [G2][DP] .htaccess files missing in DP rewrite http://sourceforge.net/tracker/index.php?func=detail&aid=1565094&group_id=71 30&atid=107130 - add comment doesn't redirect back to item for guests: http://sourceforge.net/tracker/index.php?func=detail&aid=1566073&group_id=71 30&atid=107130 - task 131369 [G2] Analyze tables on upgrade - getid3 for Windows - Andy |
From: Michael Schultheiss <schultmc@de...> - 2006-09-28 15:43:25
|
Foundation: * Updated donation page on GMC SoC: * Published SoC wrapup story on GMC * Coordinated w/ mentors to decide who's going to the SoC mentor summit at the Googleplex |
From: Alan Harder <alan.harder@su...> - 2006-09-27 20:20:22
|
Hi all- Came across an issue with Smarty, not sure what the right solution is. We include blocks with code like: {g->block type="module.BlockName" paramName="value"} or {g->block type=$block.0 params=$block.1} In both cases the tpl for the block is included, with the given parameters merged into all existing smarty variables. This means the block tpl can access both: {$paramName} and {$user.userName} Unfortunately it also means that theme tpl like this is interpreted as block parameters: {foreach from=$links item=link}..{/foreach} {assign var="blocks" value="randomAlbum"} {g->block type="imageblock.ImageBlock"} This is the same as blocks= and link= inside the g->block. Carbon theme happens to use a variable in album.tpl called "link", so imageblocks on the album page create invalid links. We can change this tpl to a different variable name, but it's unfortunate that themes have to be careful not to use any variable name that matches a parameter name for any block out there... We could include the block tpl with only the given parameters, but then the block can't access things like $user or $theme.item, so that won't really work. Perhaps we should cache the _tpl_vars at the start of fetch() (before theme.tpl starts) and merge that cached value with given params to use for block tpl. Then anything from theme.tpl, album.tpl, etc is not included. Not sure how to achieve this though. - Alan |
From: Bharat Mediratta <bharat@me...> - 2006-09-26 20:26:48
|
Felix, Should we update our YUI libs? -Bharat -------- Original Message -------- Subject: [SourceForge.net Release] yui : YUI Date: Tue, 26 Sep 2006 09:25:28 -0700 From: SourceForge.net <noreply@...> To: noreply@... Project: YUI Library (yui) Package: YUI Date : 2006-09-26 16:25 Project "YUI Library" ('yui') has released the new version of package 'YUI'. You can download it from SourceForge.net by following this link: <https://sourceforge.net/project/showfiles.php?group_id=165715&release_id=450705 > or browse Release Notes and ChangeLog by visiting this link: <https://sourceforge.net/project/shownotes.php?release_id=450705> You receive this email because you requested to be notified when new versions of this package were released. If you don't wish to be notified in the future, please login to SourceForge.net and click this link: <https://sourceforge.net/project/filemodule_unmonitor.php?filemodule_id=195387> If you lost your SourceForge.net login name or password, refer to this document: <https://sourceforge.net/docman/display_doc.php?docid=760&group_id=1> Note that you may receive this message indirectly via one of your mailing list subscriptions. Please review message headers before reporting unsolicited mailings. |
From: Michiel1981 <Gallery-list@4t...> - 2006-09-24 15:44:52
|
Maybe there is a third option; 3 extend a little so we can get a bit more performance without going into= the advance mysql or changing a lot. - Add COLUMN boolean isEmpty, default isEmpty to false - Set isEmpty to true and value to NULL on the UPDATE in the cleanup - Set isEmpty to false on putPageData calls - Add INDEX [isEmpty, timestamp] to speed-up the cleanup code We might want to include the userId in there as we need choice between gu= est and non-guest when cleaning. This will limit the rows a lot more then we are currently doing and is mu= ch faster and easier to implement. - Michiel On Sun, 24 Sep 2006 14:47:45 +0200, "Andy Staudacher" <andress@...= > wrote: > You're right, we might as well fix it the way we originally wanted. > > I looked into the "index of length 1 on TEXT column" option a little mo= re > closely. > - MySQL supports it out of the box > - PostgreSQL < 7.4 requires us to define a function first and then to u= se > that function in the CREATE INDEX command. > - PostgreSQL >=3D 7.4 needs a function call in the CREATE INDEX command= . > - DB2 supports it through a Index-Extension. We first need to create su= ch > an > extension and then use it in the index command. > - MS SQL does not support this. > - Oracle supports it through a function-based index. > (- SQLite does not support it) > > I don't like the fact that we use quite advanced SQL features in G2. It > complicates portability and maintainability. > In this case, we should look for simpler alternatives like > - Instead of indexing a substring of a TEXT column, rather add an > additional > column that signals whether the value is NULL (boolean) > INDEX over [this column, timestamp] (in that priority order) > > As to introducing a non-composite PK such that we can do a UPDATE limit= ed > to > e.g. 100 rows: > - The new PK column could be a hash over userid, timestamp + some rando= m > number (we shouldn't hash the value for performance). > - Then we can apply the non-mysql fallback solution of SELECT with limi= t > 100 > and then UPDATE with PK IN (...); for the other DBMS. > > Bottom line: > There are 2 alternatives: > 1. Just add an index such that the existing code works. > - INDEX over [timestamp, userId]. > > 2. A lot changes to make it more efficient. > - Add COLUMN boolean isEmpty, default isEmpty to false > - Add INDEX [isEmpty, timestamp] to speed-up the cleanup code > - Set isEmpty to true and value to NULL on the UPDATE in the cleanup > function. > - Add COLUMN id char(32) with UNIQUE INDEX > - ON INSERT, generate id based on md5(timestamp + userId + rand(..)) > - ON cleanup, use UPDATE + LIMIT for MySQL =C3=A0 la GallerySession. > - ON cleanup, use SELECT + LIMIT, UPDATE WHERE id IN (...,...) for othe= r > DBMS =C2=A3 la GallerySession. > > The second option would sure be more efficient, querying less rows etc. > Since the table has an ever-increasing cardinality, we should probably = opt > for option 2. > > Votes? > > Not sure if the second option is required, might as well go for option > one. > > - Andy > > Michiel Bijland wrote: >> >> Hi, >> >> If we are going to modify the table we might as well correct >> this problem in a even better way. >> >> add a id column and make it primary index. >> make the currenty primary index a regular Unique index. >> add a index to optimeze a select obsolete cachemap entries, >> this requires a combined index on value limited to 1 size and >> timestamp. Is this possible limiting index on value, it is >> with mysql but is it with the other db's gallery 2 supports? >> >> That way we can limite the update to ?100? rows per >> putPageData() like the session cleaner. >> >> Kind regards, >> Michiel > > > -----------------------------------------------------------------------= -- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDEV > __[ g a l l e r y - d e v e l ]_________________________ > > [ list info/archive --> http://gallery.sf.net/lists.php ] > [ gallery info/FAQ/download --> http://gallery.sf.net ] |
From: <joe7@si...> - 2006-09-24 14:43:07
|
+1 vote for scalability/more efficient code. Joe Id=C3=A9zet (Andy Staudacher <andress@...>): > You're right, we might as well fix it the way we originally wanted. > > I looked into the "index of length 1 on TEXT column" option a little more > closely. > - MySQL supports it out of the box > - PostgreSQL < 7.4 requires us to define a function first and then to use > that function in the CREATE INDEX command. > - PostgreSQL >=3D 7.4 needs a function call in the CREATE INDEX command. > - DB2 supports it through a Index-Extension. We first need to create such = an > extension and then use it in the index command. > - MS SQL does not support this. > - Oracle supports it through a function-based index. > (- SQLite does not support it) > > I don't like the fact that we use quite advanced SQL features in G2. It > complicates portability and maintainability. > In this case, we should look for simpler alternatives like > - Instead of indexing a substring of a TEXT column, rather add an addition= al > column that signals whether the value is NULL (boolean) > INDEX over [this column, timestamp] (in that priority order) > > As to introducing a non-composite PK such that we can do a UPDATE limited = to > e.g. 100 rows: > - The new PK column could be a hash over userid, timestamp + some random > number (we shouldn't hash the value for performance). > - Then we can apply the non-mysql fallback solution of SELECT with limit 1= 00 > and then UPDATE with PK IN (...); for the other DBMS. > > Bottom line: > There are 2 alternatives: > 1. Just add an index such that the existing code works. > - INDEX over [timestamp, userId]. > > 2. A lot changes to make it more efficient. > - Add COLUMN boolean isEmpty, default isEmpty to false > - Add INDEX [isEmpty, timestamp] to speed-up the cleanup code > - Set isEmpty to true and value to NULL on the UPDATE in the cleanup > function. > - Add COLUMN id char(32) with UNIQUE INDEX > - ON INSERT, generate id based on md5(timestamp + userId + rand(..)) > - ON cleanup, use UPDATE + LIMIT for MySQL =C3=A0 la GallerySession. > - ON cleanup, use SELECT + LIMIT, UPDATE WHERE id IN (...,...) for other > DBMS =C2=A3 la GallerySession. > > The second option would sure be more efficient, querying less rows etc. > Since the table has an ever-increasing cardinality, we should probably opt > for option 2. > > Votes? > > Not sure if the second option is required, might as well go for option one= . > > - Andy |
From: Andy Staudacher <andress@ee...> - 2006-09-24 12:47:51
|
You're right, we might as well fix it the way we originally wanted. I looked into the "index of length 1 on TEXT column" option a little = more closely. - MySQL supports it out of the box - PostgreSQL < 7.4 requires us to define a function first and then to = use that function in the CREATE INDEX command. - PostgreSQL >=3D 7.4 needs a function call in the CREATE INDEX command. - DB2 supports it through a Index-Extension. We first need to create = such an extension and then use it in the index command. - MS SQL does not support this. - Oracle supports it through a function-based index. (- SQLite does not support it) I don't like the fact that we use quite advanced SQL features in G2. It complicates portability and maintainability. In this case, we should look for simpler alternatives like - Instead of indexing a substring of a TEXT column, rather add an = additional column that signals whether the value is NULL (boolean) INDEX over [this column, timestamp] (in that priority order) As to introducing a non-composite PK such that we can do a UPDATE = limited to e.g. 100 rows: - The new PK column could be a hash over userid, timestamp + some random number (we shouldn't hash the value for performance). - Then we can apply the non-mysql fallback solution of SELECT with limit = 100 and then UPDATE with PK IN (...); for the other DBMS. Bottom line: There are 2 alternatives: 1. Just add an index such that the existing code works. - INDEX over [timestamp, userId]. 2. A lot changes to make it more efficient. - Add COLUMN boolean isEmpty, default isEmpty to false - Add INDEX [isEmpty, timestamp] to speed-up the cleanup code - Set isEmpty to true and value to NULL on the UPDATE in the cleanup function. - Add COLUMN id char(32) with UNIQUE INDEX - ON INSERT, generate id based on md5(timestamp + userId + rand(..)) - ON cleanup, use UPDATE + LIMIT for MySQL =E0 la GallerySession. - ON cleanup, use SELECT + LIMIT, UPDATE WHERE id IN (...,...) for other DBMS =A3 la GallerySession. The second option would sure be more efficient, querying less rows etc. Since the table has an ever-increasing cardinality, we should probably = opt for option 2. Votes? Not sure if the second option is required, might as well go for option = one. - Andy=20 Michiel Bijland wrote: > =20 > Hi, >=20 > If we are going to modify the table we might as well correct=20 > this problem in a even better way. >=20 > add a id column and make it primary index. > make the currenty primary index a regular Unique index. > add a index to optimeze a select obsolete cachemap entries,=20 > this requires a combined index on value limited to 1 size and=20 > timestamp. Is this possible limiting index on value, it is=20 > with mysql but is it with the other db's gallery 2 supports? >=20 > That way we can limite the update to ?100? rows per=20 > putPageData() like the session cleaner. >=20 > Kind regards, > Michiel |
From: Michiel Bijland <michiel@4t...> - 2006-09-24 08:25:48
|
On Sun, 24 Sep 2006 02:11:36 +0200, "Andy Staudacher" <andress@...= > wrote: > Bharat wrote: >> >> This is causing a fair amount of slowdown on my production gallery. >> >> The problem is twofold, I think. We're calling >> _cleanPageDataCache on pretty much every page load which is >> way too aggressive if the goal is to keep the cache size >> down. We could call it on 5% of our queries and probably get >> roughly the same effect. >=20 > The rationale is that putPageData() is called at the frequency where we > have > a cache miss and thus need to generate a page and put the resulting pag= e > into the cache. > That's by far not "on every page load". > But I agree that this is probably still too frequent for our cache > expiration. > We should do the same as what we do in our session cleanup code. >=20 > 5-10% of all putPageData() calls triggering a cleanup sounds fine to me= . >=20 >> The second problem is that we're >> doing a query for the userid and the timestamp, but we don't >> have an index specifically for this. This means that we're >> scanning more rows than we need to. My cache has 18K rows. >> Using only the timestamp index requires scanning 15833 rows. >> Using only the userid index requires scanning 7917 rows. I >> created an index which has both timestamp and userid and that >> drops the scan count to 4968 rows. If we're going to do this >> operation often (as it seems we will) then we should add an >> index specifically for this. >=20 > Good catch. A [userId, timestamp] index is required. >=20 > Michiel, I've currently some spare cycles. > I could fix this while you're finishing the comment patch. ;) >=20 > - Andy >=20 >> >> Michiel, can you look over the various queries that we make >> to the CacheMap and optimize our indices to make sure that >> we're not causing unnecessary latency? >> >> Thanks! >> -Bharat Hi, If we are going to modify the table we might as well correct this problem= in a even better way. add a id column and make it primary index. make the currenty primary index a regular Unique index. add a index to optimeze a select obsolete cachemap entries, this requires= a combined index on value limited to 1 size and timestamp. Is this possi= ble limiting index on value, it is with mysql but is it with the other db= 's gallery 2 supports? That way we can limite the update to ?100? rows per putPageData() like th= e session cleaner. Kind regards, Michiel |