Time  Nick    Message
17:00 cfouts  Can anyone point out to me where the "REPLACE INTO sessions..." statement occurs? I'm not having much success finding it.
17:25 ryan    cfouts: must be done by CGI::Session?
17:29 cfouts  I looked there, too, and didn't see anything in the CGI/Sessions tree. It may be in one of its dependencies.
17:32 cfouts  I'm trying to figure out why it uses REPLACE instead of UPDATE. I'm guessing a lot of the table fragmentation (and slowness) that I see regarding the sessions table is the result of using replace.
17:33 acmoore cfouts: in previous projects using the same sessions module, we've put a timestamp on the sessions table and deleted rows not touched for some time.
17:34 acmoore otherwise, it seems to grow without bounds. Does Koha's grow like that?
17:35 atz     acmoore: using replace would keep it from growing *in data* because it would only be 1/user.
17:35 atz     but it could still grow *in disk*
17:35 atz     (assuming the session is keyed on user)
17:36 cfouts  yup, it grows without bounds.
17:36 acmoore perhaps it depends on what a "user" is. Do opac users get a session?
17:36 atz     yes
17:36 cfouts  yes, anon opac connections store session data.
17:36 cfouts  which is how it gets so unruly.
17:36 acmoore that's the limitation we were hitting, too. One row per person hitting a website gets pretty big.
17:37 cfouts  and the fragmentation slows things down quite a bit.
17:37 cfouts  I've filed a feature-request bug for a timestamp.
17:37 atz     yeah, i don't think there is any point to it... logically, we only need one anonymous user session
17:38 atz     is there anything that an anonymous user can do that specializes their session?
17:38 cfouts  but REPLACE INTO is slower than UPDATE, so I'm wondering what the rationale is behind using it.
17:39 atz     cfouts: i think because it reliably destroys the data in the row, even if the update only writes a subset of fields
17:40 cfouts  oh, interesting.
17:40 cfouts  of course, there's only two columns in koha's use of it...
17:41 atz     and a proposed third... but that's the idea anyway.  CGI::Session had to decide before knowing what our data looks like
17:42 acmoore cfouts: /usr/local/share/perl/5.8.8/CGI/Session/Driver/DBI.pm  appears to use "UPDATE", are you seeing "REPLACE" statements in the database?
17:42 atz     acmoore: from CGI::Session code, we suppose
17:42 acmoore ah, /usr/local/share/perl/5.8.8/CGI/Session/Driver/mysql.pm
17:42 atz     performance difference is likely dependent on storage implementation
17:43 atz     innoDB vs. myISAM vs. dbd or whatever
17:43 cfouts  oh, good find.
17:43 acmoore the mysql driver overrides the store() method from the generic DBI for some reason.
17:48 cfouts  and the two columns are hard coded into the module, though cursory glance shows that one could transparently add a timestamp column.
17:50 acmoore I've done it (actually, with Apache:Session, but it's similar) with no problems. We let mysql auto-populate the timestamp and then a cronjob removed old ones periodically.
17:50 acmoore in fact, it's documented somewhere that you're supposed to be able to add columns, from what I recall.
19:19 owen    atz around?
19:19 atz     ?
19:20 owen    Hi atz. I finally found the receipt printer we used to use at NPL
19:20 owen    It's a Star SP2000
19:20 atz     oh, cool.
19:20 atz     i'll add that to our doc....
19:22 owen    It doesn't bode well that the link to their driver download page is broken
19:22 atz     classic.  usually google has a better record of support docs/downloads for that old stuff...
19:25 atz     thx for the info
21:00 owen    logbot and newlogbot, together again!
21:26 acmoore I never realized that there was actually a "logbot". I thought newlogbot was the only one.
21:26 acmoore does he log to the same place?
21:27 chris   nope logbot is the original
21:27 chris   logs to a database at katipo
21:27 chris   newlogbot is a copy of it, i got running when i was at liblime, which logs to a db there
21:28 chris   and thats the one that the webinterface searches
21:31 acmoore ah.
21:32 acmoore so, I started using firebug a little more since I have some javascript that I'm writing now. I notice that many pages seem to have js bugs in them. Am I the only one seeing that, or is that kind of known?
21:32 chris   its known
21:33 acmoore hmm. that's a drag. I wasn't sure if I was the one that caused the "addLoadEvent is not defined" error on this page or not. I guess I'm not.
21:42 atz     acmoore: that's a bogus value in a syspref that snuck in (some custom dev's value)
21:43 acmoore ah. that's coming from my intranetuserjs syspref or something like that?
21:43 acmoore I think I recall now
21:43 atz     right
21:44 acmoore geez. I thought I was going crazy after not being able to find that with ack, or grep, or even by opening about 4 dozen files in my editor.
21:44 acmoore thanks
21:45 atz     we need an updatedatabase (or Datafix) to go purge it if it equals the crappy value
21:46 acmoore or something.
22:57 liz     can you pull a report based on withdrawn status?
22:57 liz     it doesn't seem to be in the report builder
09:05 chris   hmmm