Tuesday, 2010-07-13

*** Mud has joined #ingres01:00
*** grantc has quit IRC01:55
*** grantc has joined #ingres01:56
*** grantc has joined #ingres01:59
*** grantc has quit IRC02:08
*** grantc has joined #ingres02:08
*** atrofast has joined #ingres04:16
*** toumi01 has joined #ingres04:23
atrofastMorning pboro, I'm back with another JDBC question... are there an peculiarities with how you handle DATE, TIME and TIMESTAMP datatypes when using prepared statements?04:27
*** rossand has joined #ingres04:28
*** ChanServ sets mode: +o rossand04:28
*** Dejan has joined #ingres04:45
Dejanhello everybody04:46
pboroatrofast, hmm, not really, why?04:49
atrofastJust that the DATE/TiME/TIMESTAMP tests that passed when not using the PreparedStatements stuff stopped passing when I switched to it04:49
atrofastCould be something else then, thanks04:50
pboroHmm...04:50
pboroare you using INGRESDATE or ANSI types in the db?04:50
atrofastWhatever is default04:50
pborofor DATE? the default for DATE is INGRESDATE... it doesn't work too well with JDBC, cause INGRESDATE is not standard...04:51
pboroI would expect it to work if you use the ANSI types, like DATE (when aliased to ANSIDATE), TIME and TIMESTAMP04:51
atrofastOkay I'll change it and see04:52
pborobut with DATE aliased to INGRESDATE... dunno :)04:52
pboroanyway, I wouldn't recommend using INGRESDATE anyway, 'cos it is proprietary and not portable :)04:53
atrofastYeah hmm where can I actually change the default? :)04:53
pborocbf04:54
pboroii.hostname.config.date_alias:    ingresdate04:55
pborochange it to... ansidate :) then try again04:55
pboro(requires dbms restart)04:55
atrofastAhh got it, thanks :)04:56
pboroI assume that the tests create tables on their own?04:57
pboroand if they use DATE and DATE is aliased to INGRESDATE, it might not work too well... there might be a connection time settings in JDBC driver too, if you don't want to play with cbf and system settings04:58
atrofastHmm no difference... It's weird because if I didn't use prepared statements they worked04:58
pborodoes it provide any debug information? like what's not working as expected?04:59
atrofastSometimes heh05:01
atrofastIt depends on where an exception is raised... Sometimes it's good at catching exceptions and uhh nto showing them05:01
pboro:D05:01
pborois it so that the tests create the tables on their own when needed or do you create the tables manually?05:02
atrofastWhen using dates i na prepared statement, should you use setString(col, "2009-06-28 15:12:41.0") or something else?05:02
pborosetTimestamp05:02
atrofastThe tables are created manually when the test is first run and those statements pass okay05:03
atrofastOkay, let's see if GeoTools is actually using setTimestamp05:03
pborodunno if it's possible to use setString at all... maybe, I have to check the api05:03
pborobtw you don't get to see the exception at all, just that the test failed?05:04
atrofastWell I'm a n00b when it comes to JDBC :)05:04
atrofastYeah it's got these assertTrue or assertEquals things... and it fails on a select count(*) from tab where timestampcol = ?05:05
pboroah :) did you recreate the test tables after changing the alias for DATE?05:05
pboroapparently it inserts some certain timestamp in the table and then tries to retrieve the row using the same timestamp and it fails05:06
pboroor... the row is there already and it doesn't, for some reason, get matched with the timestamp given using JDBC05:07
pboroassertTrue and assertEquals sound like JUnit :)05:08
atrofastYeah it is JUnit :)05:08
atrofastAlso yeah it drops and reacreates tables automatically with every test05:09
pborook, and you're using prepared statements for both inserts and updates and selects?05:09
pboromaybe there's some difference in your code when doing inserts/updates and selects with timestamps/dates/times?05:10
*** gerhard has joined #ingres05:10
*** javahorn has joined #ingres05:11
pborofor DATETIME columns it should be setTimestamp, for DATE it should be setDate and for TIME it should be setTime05:11
*** javahorn has left #ingres05:11
pborowhen using setString for any of those columns, it's up to the JDBC driver to figure out the necessary conversions... which is a bit unefficient too, and not "strongly typed" :)05:11
atrofastAhh I see, yeah I'll have to step through teh debugger to see what it actually does :)05:14
atrofastThanks05:14
atrofastHey pboro, does this look like it'd work with Ingres? http://ingres.pastebin.com/khHHq2SK05:22
pboroit does, although I do not know what convert method actually does05:24
atrofastYou can create custom converters for special cases (I did jdbcClob and jdbcBlob to String/byte[] respectively) but I never put any in for Date types so convert shouldn't do anything05:25
pborookay, I would expect that to work... but for timestamps (DATETIME) it's not working correctly, i.e. SELECT for a timestamp fails to return the expected rows?05:26
atrofastYeah Date works but Time and Timestamp does not... it filter on = on timestamp and >= on time and it returns the wrong number of rows05:28
pborohave you checked the values stored in the table, to make sure the values look ok there?05:29
pborobtw have you noticed that there's two Date classes in Java? java.util.Date and javax.sql.Date?05:30
pborowhich are different, java.util.Date can be used for any dates and times (like a timestamp), but javax.sql.Date is simply a date05:30
atrofastYeah if I run it in terminal monitor I get the right results: http://ingres.pastebin.com/XNZib8Cs05:31
pboroalso, there's no java.util.Time or java.util.Timestamp, those are only in javax.sql package05:31
pboroso when the user provides you a java.util.Date, it may be proper for any of ANSIDATE, TIME or TIMESTAMP depending how java.util.Date is used...05:32
atrofastThe datatypes that are used are java.sql.Time and java.sql.Timestamp05:32
pborookay, so they should be ok05:32
atrofastyeah date works, it's just those two that are not playing nice :(05:33
pborohm hm...05:34
pborowhich junit test is the failing test?05:35
pborotestCount?05:36
atrofasthttp://ingres.pastebin.com/7TCYF32h05:38
atrofastAnd a similar one for Time05:38
pborothanks05:38
pborodo you also have to code which inserts the data?05:39
pborothe one that is to be retrieved05:39
atrofastOh hm that one doesn't use prepared statements: http://ingres.pastebin.com/ydXqzmMu05:42
pborotestFilterByTimeStamp uses java.util.Date for querying the rows, the Date is created using SimpleDateFormat, but no timezone is assigned, so it prolly uses system timezone... I wonder how the insert is doing05:42
atrofastShould it make a difference when retrieving?05:42
pborojes :)05:42
pboroyes, I mean05:42
atrofastWhat if I create them all without Timezone? :)05:42
pboroI don't think you can create Date object which didn't have timezone05:43
pborosince timezone is a static part of any timestamp, you can leave it zero for sure05:43
pborothe problem prolly is this:05:43
atrofastWow this is more complicated than I expected date types to be :)05:43
pborotestFilterByTimeStamp uses java.util.Date for querying the rows, and the Date object is created using SimpleDateFormat, but no timezone is assigned, so it prolly uses system timezone from your computer... but when doing the inserts, you use ingres's TIMESTAMP cast, which prolly uses the timezone of the dbms server05:44
pboroso this could be the problem05:44
pboroI would modify createDateTable to use prepared statements too05:45
atrofastOkay let me test that05:45
pboroso that there would not be this difference in handling the dates on inserting them and in retrieving them05:45
pborothe test actually tests two things: a) retrieving the row using literal date and setString and b) retrieving the row using java.util.Date object and setTimestamp (java.util.Date is converted into javax.sql.Timestamp in between)05:46
*** cthibert has joined #ingres05:54
*** mull has joined #ingres06:00
atrofastThis is how I create the tables: http://ingres.pastebin.com/tcS7yUNM but still the same... Date works, the other two fails06:04
pborohmm try this:06:07
pborops.setTimestamp(2, new java.sql.Timestamp(new SimpleDateFormat("HH:mm:ss,dd-yyyy-MM").parse("15:12:41,28-2009-06").getTime()));06:08
pborothen it's 1:1 with the insert06:08
pborooops, with the retrieval06:09
pboroif it still doesn't work... I'm puzzled06:09
pborobtw does the test fail on the literal test or the timestamp one?06:10
*** toumi01 has quit IRC06:10
atrofastIt fails on the getCount line06:10
atrofastIt retrieves the wrong number of rows06:10
pboroyeah, but on which part of the test06:12
pborothere's actually to asserts in the same test, does the first one fail or the second one?06:12
*** rossand1 has joined #ingres06:13
*** rossand has quit IRC06:13
atrofastThe first one06:13
atrofastAnd no that new statement didn't make a difference :(06:13
pborook... damn, it has to be something with the timezones, does the dbms run on the same computer as where you're running the tests?06:14
atrofastYes it's all local06:14
pborookay, and what is the timezone for ingres, is it the same as your os?06:14
atrofastAlthough hmm the DBMS is set for PST06:14
atrofastAnd my OS is EST06:14
pborooops... well :)06:14
atrofastHow do I change that?06:15
pborowhich one is the correct one?06:15
atrofastWell the DBMS should be EST to match my OS06:15
pborotho' I would argue the tests are broken, since they test times without making any assumptions about timezones06:15
atrofastWell I can override the tests if I must06:16
pboroit should be enough to set dbms timezone correct, you can change that using cbf06:16
pboroyou need to recreate the test data then, and you can revert the changes to the createDateTable06:16
pborohmm actually... I'm not sure how to change the timezone of the dbms, can't find it in config.dat06:18
*** toumi01 has joined #ingres06:19
atrofastYeah me neither06:19
atrofastit's listed when I do ingprenv06:19
pboroingsetenv prolly06:20
pboroyes :)06:21
pboroingsetenv NAME value06:21
atrofastOkay let's see how this works :D06:21
pboroyup... "ingsetenv II_TIMEZONE_NAME EST" should do the trick, then restart06:22
atrofastHaha no :(06:23
atrofastselect date('now') shows the correct time but still same failures06:23
pborook, try:06:23
pboro(still browsing the manual...)06:25
atrofastHaha thanks for help me out :)06:25
pboroSELECT TIMESTAMP_WITH_TZ(dt) FROM yourtable;06:27
pboroand see what are the timezones06:27
pborothere has got to be some difference, the problem with the literal timestamp and time test is that it doesn't define the timezone and it is likely that for some reasons they don't match06:27
atrofasthttp://ingres.pastebin.com/6NfxBvqP06:29
pboroerm... how is it possible that one of the dates is using different timezone than the others?06:30
pboroit's using the SimpleDateFormat?06:30
atrofastHehe I dunno, all three rows are using SimpleDateFormat06:30
pborowtf :D06:30
pboroahh... there's prolly a boundary case06:31
pborohmmh, no... the timezone should not change from savings time on those dates06:31
atrofastCan't I just create them without any timezone data and be done with ti? :(06:32
pboroahh but one of the timestamps IS on not savings time and others are06:32
pborowell you could change the test so that in createDateTable the rows are inserted using A SPECIFIC timezone and the tests also use that specific timezone... as I said, the tests are currently flawed in the sense that they make no assumption of the timezone06:33
pborobut hmm, I wonder if that would actually fix it...06:33
atrofastWhat's the syntax for create? TIMESTAMP WITH TIME ZONE EST?06:34
pboroactually :) you can create a timestamp column WITHOUT timezone information06:34
Dejanwow06:35
pboroadd WITHOUT TIME ZONE to it06:35
Dejanthis channel is ACTIVE06:35
Dejanpeople TALK06:35
Dejan:)06:35
atrofastOkay let's see what happens if I do that06:35
atrofastStil lfails06:35
pboroyou recreated the table already?06:36
atrofastHaha Dejan, pboro is helping out a JDBC n00b here :)06:36
pboroyou need WITHOUT TIME ZONE in the table creation06:36
pborolike...06:36
pboroCREATE TABLE DATES (D ANSIDATE, DT TIMESTAMP WITHOUT TIME ZONE, T TIME WITHOUT TIME ZONE)06:36
atrofastYeah CREATE TABLE DATES (D ANSIDATE, DT TIMESTAMP without time zone, T TIME without time zone)06:36
pborobut that's not a good idea, because of savings times ;/06:36
DejanJDBC n00b? o.O    I did not ask any quesion!06:36
Dejan:D06:36
pboroI wonder if there's a problem in 10.0 or if the problem is in the test... are those tests available for postgresql or similar, I could check out how they do that stuff?06:37
DejanThe only JDBC n00b here is ME06:37
DejanI reserve that title for myself!06:37
pborofound it :)06:37
atrofastYeah these tests run on Postgres/Postgis Oracle, SQLServer and MySQL (I think) ... Although Oracle's dates use a special converter so they're not quite as comparable06:38
atrofastI've only been using JDBC for a month or two :P06:39
atrofastThe tests I wrote for Ingres in GeoTools are pretty much just copy/paste of the postgres ones with updates where needed06:42
pboroYeah, I guess PostgreSQL ones are pretty good starting point06:43
pboroI'm preparing a small test case for you in Java, it will shed some light to this problem :)06:43
pborosince shooting blind is a bit awful...06:43
atrofastThank you, I really appreciate the help06:44
pboro(good alternative doing for not writing my thesis...)06:44
atrofastYou won't hear me complaining :D06:45
pboro10 more minutes, I'll try it out on my Ingres 9.206:51
pborodamn I hate Oracle, Java API documentation was fast before and as soon as Oracle moved it on their servers, it became sluggerish...06:53
*** Mud has quit IRC06:54
atrofastHehe I didn't browse it often enough to have an opinion :)06:55
atrofastOkay I'll BRB, gotta grab some breakfast and stuff, havne't eaten yet... Dove right back into work heh06:56
pborosure :) I'll post the code on pastebin or similar and you can get it from there :)06:58
pborohmmh... doesn't Ingres expose the session timezone in dbmsinfo...07:08
pboroapparently not07:10
*** gerhard has quit IRC07:13
pborowtf... I may have already found a new bug in 9.2 while testing this stuff :D07:27
pboroIf I run INSERT INTO foo VALUES (DATE('NOW')) thru JDBC, I get... 2010-07-13 14:26:31.000000000+03:00... but through isql, I get 2010-07-13 17:26:31.000000000+03:0007:28
pborothe timezone is correct in both cases, but the value stored when using JDBC is incorrect07:28
pboroit should be "2010-07-13 14:26:31.000000000+00:00" or "2010-07-13 17:26:31.000000000+03:00", but not the one I got :o07:29
pborooh well, doesn't matter07:29
atrofastI wonder if this problem persist in 10.007:35
atrofastProbably does :P07:35
*** Alex| has quit IRC07:40
grantcpboro, what happens if you set the timeZone property at connection time?07:47
pborograntc, what was the parameter?07:48
grantcor use TZ07:48
grantcin the connection attribute07:48
pborolemme try07:48
grantctimeZone (property) TZ (attribute)07:48
grantcthe fine manual says the jdbc driver should use the II_TIMEZONE_NAME of the server, perhaps that's not happening07:49
grantcalso what do you get if you do "insert into foo values (CURRENT_TIMESTAMP)" where the column is a timestamp value not ingresdate07:50
pboroI'm not using INGRESDATE at all07:50
pboroah, I need to add timezone as a connection attribute, it's not supported on the db url...07:51
grantcin the url it's TZ not timezone07:53
grantctimeZone is the property07:53
pboroah okay, I'll try that07:54
pboro(btw kbdoc http://www.ingres.com/kb/article/400153 is outdated)07:54
pborograntc, it worked07:55
*** Alex| has joined #ingres07:55
*** ChanServ sets mode: +o Alex|07:55
pboroingprenv tells that the current Ingres timezone is EUROPE-EASTERN, if I add TZ=EUROPE-EASTERN to connection string, I get:07:56
pboroLocal time according to Java: 13 heinä 2010 17:55:19 +030007:56
pboroLocal time according to Ingres: 13 heinä 2010 17:55:19 +030007:56
grantcyeah - AFAIAC the docs.ingres.com is the goto for that07:56
pborowithout TZ, I get:07:56
pboroLocal time according to Java: 13 heinä 2010 17:56:27 +030007:56
pboroLocal time according to Ingres: 13 heinä 2010 14:56:27 +030007:56
grantcand the II_TIMEZONE_NAME on the server is EU-EAST?07:57
atrofastHaha that worked07:57
pborobut the funny thing is, that the timezone is correct in both cases :D07:57
atrofastTZ=NA-EASTERN07:57
atrofastAll tests pas07:57
pborograntc, it's EUROPE-EASTERN07:57
pboroatrofast, lol, there's definitely a bug :D07:57
grantcor an undocumented feature07:57
grantcas it's sending/assuming GMT07:57
atrofastYou'd think it'd work if DBMS server and OS has the same timezone07:57
pborowell, a nasty one at least...07:57
pboroatrofast, that was my assumption too07:57
grantcit all depends on what the JDBC spec says etc...07:58
pboroatrofast, but since it didn't work, I thought... I'll write a test program for you, but surprisingly I got the same prob07:58
atrofastThanks a lot for the help pboro, grantc07:58
grantcpboro, what's the col type?07:58
atrofastTIMESTAMP and TIME07:58
pborothe ones atrofast mentioned07:58
atrofastThey were both not behaving as we expected07:58
grantcwith/without timezone?07:58
atrofastTried with both07:59
pboromy test was without07:59
pborooops, with I meant :)07:59
grantcatrofast, send an email to teresa08:00
grantcunless pboro want's to log an SD issue08:00
pborohere's the test case: https://www10.uta.fi/opsidemo/test/IngresTests.java08:02
pboroI can't log an SD issue since I have to direct all cases through the finnish support (Tieto), so I would prefer you guys doing it08:03
pboroAnd I hate trying to convince the finnish support that there actually is a problem to make them submit an issue to service desk... :/08:04
pborobut if you leave me no option, I will do it :D08:07
grantcUnderstood :)08:09
pboroIt sucks that we have to pay the same amount for the support as everyone else, but we don't have a permission to create new issues on SD ;(08:10
*** KermitTheFragger has joined #ingres08:11
atrofastSO pboro your test case shows that local time according to Ingres is wrong unless you set TZ?08:11
pborobut that's the way it has to go, so... :)08:11
pboroatrofast, yup08:11
pboroatrofast, did you try it too?08:11
pboroah, I assume you're writing the bug report :)08:12
pboromy driver version is 3.4.808:12
pboroand 9.2.0 (a64.lnx/143)NPTL + p1373208:12
atrofastYeah trying it with Ingres 1008:13
pborojava -classpath iijdbc.jar:. IngresTests "jdbc:ingres://localhost:II7/testdb"08:15
pborothere's an example how to run it08:15
pborothen just add ;TZ=YOURTIMEZONE before the last "08:15
pboro(you might also need USER=y;PASSWORD=x)08:15
atrofastHeh I get this: Couldn't get connection!: java.sql.SQLException: No suitable driver found for jdcb:ingres://localhost:G17/geo08:16
atrofastOh duh08:16
atrofastjdbc08:16
atrofastI'm an idiot08:16
pborodo you have iijdbc.jar in the same dir?08:16
pborohee hee :D08:16
pborooh you, of course, need to compile it too (javac IngresTests.java)...08:17
pborooops, as you did (or used the .class I had shared too)08:17
atrofasthttp://ingres.pastebin.com/bPNbSEPb is what I get08:17
atrofastI compiled it myself :)08:17
pboroyou need "" around the connection url08:17
pborobecause ; is a special char for the shell08:17
pboroecho foo; echo bar :)08:18
atrofastHaha08:18
pboroso your TZ was not really used by the prog...08:18
atrofastI'm screwing up today :P08:18
atrofastOkay now it works08:18
pboro"works"... :----D08:18
atrofastHaha yeah "works"08:19
atrofastIt behaves as expected!08:19
pboroyup :D08:19
pborooh well, one more bug getting squashed :) thanks mate, I love to see JDBC stuff getting better since it's so vital for me08:19
pboroI'll delete the test case from my server, ok?08:20
pboroso copy it before it disappears :)08:20
atrofastYeah it's fine I got it, thanks08:20
pborook08:20
grantcit's not a bug08:22
grantcTIMESTAMP has no timezone08:22
grantcif you want timezone you need to define the column as "TIMESTAMP WITH TIME ZONE"08:22
pboroso the default for timestamp is no timezone? hmm...08:23
atrofastThen why doesn't it work? :P08:23
grantcatrofast, no idea08:23
atrofastI mean if default is no time zone, queries should ignore it08:23
pboroyeah, I would expect it to store the local time then08:23
atrofastYet it doesn't08:23
pboro"local"08:23
grantcpboro, that's what i got from reading the docs08:23
grantcif you want local time you need to use "timestamp with local time zone"08:24
grantcRTFM :P08:24
*** cthibert has quit IRC08:24
pboroif this is the case, then Ingres works differently compared to all other dbmses08:24
grantchttp://docs.ingres.com/Ingres/9.3/SQL%20Reference%20Guide/datetimedatatypes.htm#o209508:24
grantcpboro, that i don't know08:25
pboroif time_zone_spec is missing, which is the default? I guess that's in the standard, hmm...08:26
pboroaccording to the spec, TIMESTAMP is TIME + DATE without TIME ZONE... okay, but what time should be stored in the db then, I wonder if that is defined08:27
atrofastI say we should all just use UNIX Epoch time :P08:30
pborothat's GMT :)08:30
grantcatrofast, regarding your mail "TIMESTAMP=TIMESTAMP WITHOUT TIME ZONE"08:33
pborograntc, since the JDBC driver is expected to use the timezone of the dbms, I would expect it to work alike when the query is run using isql08:33
pborograntc, instead, I need to add TZ to make it work correctly through JDBC08:33
pborothe TZ attribute is simply stating the same fact that the driver should be getting from the server, no?08:34
grantcfrom what i can gather you need to use with local time zone08:34
pborohow come it is not necessary with isql?08:34
*** Mud has joined #ingres08:35
pboroI'm not argueing whether it should work this way or that way, but there's a conflict between how it works through JDBC and for example, through isql08:35
grantcthat i don't know08:36
pborohmm, actually, the description for TZ/timezone says...08:36
pboro"Specifies the Ingres timezone associated with the client's location. Corresponds to the Ingres environment variable II_TIMEZONE_NAME and is assigned the same values. This property is not used directly by the driver but is sent to the DBMS and affects the processing of dates."08:36
pboroit says nothing that driver would use the same setting as the server :o08:37
pboroso actually... if your timezone is not GMT, you will ALWAYS need TZ/timezone setting in JDBC driver08:37
atrofastI think it should be easier to use than that IMO08:38
pborothat doesn't make much sense :) at least it has to be mentioned in the JDBC driver instructions very clearly08:39
pborome too08:39
pborothe timezone of the server would be a good default for the driver to use if no TZ/timezone is set08:39
pboroit's pretty unusual that the server would be in different tz than the JDBC client, although cases do exist, but then... there's no other way than explicitly defining TZ/timezone on the client side08:40
atrofastOur JDBC guy is on vacation, got an out of off reply so we'll see waht he says when he gets back :)08:42
pborocool, thanks :) I have not run into this problem before since we don't use DATE('NOW') or literal times/timestamps at all... if I use java.sql.Timestamp or java.sql.Time, it works correctly regardless of TZ/timezone, since java.sql.Time/Timestamp contains timezone and the server correctly stores the times in this case08:44
atrofastI wonder if it's an obscure problem... In any event GeoTools is passing almost all tests now... Thanks for all the help pboro, it's been invaluable08:45
pborono prob, it was fun debugging :)08:46
pboroif you remember, let me know what the jdbc guy replied to the problem :)08:46
atrofastYup, I'll keep you up to date :008:48
*** KermitTheFragger has quit IRC09:25
*** cthibert has joined #ingres09:36
*** Alex| has quit IRC09:51
*** Alex| has joined #ingres09:51
*** ChanServ sets mode: +o Alex|09:51
*** Dejan has quit IRC10:02
*** grantc has quit IRC10:05
*** cthibert has left #ingres11:11
*** cthibert has joined #ingres11:14
*** toumi01 has quit IRC11:14
*** toumi01 has joined #ingres11:23
*** mull has quit IRC12:15
*** mull has joined #ingres12:17
*** toumi01 has quit IRC12:59
*** Mud has quit IRC13:08
*** Alex____ has joined #ingres13:15
*** Alex| has quit IRC13:15
*** Alex____ has quit IRC13:33
*** toumi01 has joined #ingres13:57
*** cthibert has left #ingres14:12
*** mull has quit IRC14:47
*** toumi01 has quit IRC16:13
*** atrofast has quit IRC18:00
*** mull has joined #ingres18:23
*** cytrinox has quit IRC19:23
*** cytrinox has joined #ingres19:25
*** rossand1 has quit IRC19:28
*** mull has quit IRC19:33
*** Alex| has joined #ingres22:37
*** ChanServ sets mode: +o Alex|22:37
*** Mud has joined #ingres23:04
*** Alex| has quit IRC23:24
*** grantc has joined #ingres23:54
*** Alex| has joined #ingres23:59
*** ChanServ sets mode: +o Alex|23:59

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!