Wednesday, 2011-08-17

*** stliu has joined #ingres03:16
*** Alex| has joined #ingres04:39
*** ChanServ sets mode: +o Alex|04:39
*** Alex| has quit IRC05:21
*** stliu has quit IRC05:25
*** stliu has joined #ingres05:37
*** stliu has quit IRC06:27
*** Mud has joined #ingres07:07
*** Mud is now known as Guest3076007:08
*** Guest30760 has quit IRC07:20
*** Guest30760 has joined #ingres07:26
pborowtf... does Ingres enforce NOT NULL on UNIQUE columns?07:27
pboroapparently... "E_PS0480 ... All columns in a UNIQUE constraint MUST be created as NOT NULL."07:29
Vroomfondleaye07:35
Vroomfondledoes anyone here know of any circumstances under which ingstop will fail to stop iidbms processes? It looks like they got orphaned somehow, or something like that.07:36
Vroomfondlewhen we did an ingstart afterwards the whole Ingres system collapsed ten minutes later - we've just had to do a DR07:36
pboroVroomfondle, I have read that when forcibly shutting down Ingres for example using kill or similar it is then necessary to run ingstop to clean up some semaphores and ipcs07:59
pboro...before trying to start it again I meant08:00
Vroomfondleso ingstop -force, then a normal ingstop?08:01
pboroyup08:01
pboroI have seen cases where ingstop -force have not been enough to stop ingres... but there's a -kill switch too! ;)08:01
Vroomfondlewe usually use -kill, but in this case we used -force08:02
Vroomfondleso maybe that was a mistake08:02
pboroiirc -force tries first to shut down ingres "normally" and if it fails, it kills it08:03
pboroand -kill kills ingres immediately, without first trying the normal way08:03
pborohmm, no...08:05
pboro"-force Forces the shut down of active servers in the installation without waiting for users to disconnect."08:05
Vroomfondleyeah, I think -force kills the sessions "cleanly" first, then shuts down the server08:06
pboronormal shutdown fails if there's active connections, -force closes the connections and then does a normal shutdown08:06
pboroyeah, that's right08:06
pboroyou should not need to run ingstop again after successful ingstop -force08:06
pboroand afaik -force should not cause any problems for the dbms itself (clients may be unhappy...)08:07
Vroomfondlewhat happened for us, as far as we can tell, is that -force seemed to complete successfully but that there were still two iidbms processes running afterwards08:45
Vroomfondlewhich we didn't notice, and neither did ingstart. It spun up two more and then we ended up with two RCPs trying to cover the same databases, which lead to a double-open and the databases got marked as inconsistent08:46
pborook, sounds pretty nasty...12:52
VroomfondleAye. We cut our losses and spun up our 'warm backup' server pretty-much immediately. Now we're trying to do a post-mortem.12:58
Vroomfondlenaturally it happened during the most important week of the year for this particular system12:58
Vroomfondlesomehow I think it knew...12:59
pboro:D12:59
pborois the particular system called... Skynet?12:59
pboro"Columns that you specify as Unique or that you use as part of a table-level Unique constraint cannot be nullable." -- http://docs.ingres.com/ingres/10.0/database-administrator-guide/1907-unique-constraints?hilite=UNIQUE13:34
pborodamn...13:34
VroomfondleI suppose from a compsci point of view that makes sense. Something has to have a value in order to be unique, and nulls have no value. Still a little bit crap from a practical point of view though ;)13:45
pboroSQL 92 allows nulls for unique columns13:46
pboroand so do: Oracle, MS SQL, PostgreSQL, MySQL, ...13:46
pboroit's a pain in the arse to port applications onto Ingres :D13:46
DarylMSQL is so fragmented it is a pain to port anything to anything else.14:40
pborotrue, true...14:40
pboroall the vendor extensions, nnngh :)14:40
DarylMAHA.  This must be from Roy's forum post15:01
pboro?15:03
DarylMnull unique keys15:03
pborooh, there's a forum post about it? lemme search it :)15:03
DarylMLOL15:04
pborowow, just the same time as I was having problems with it :o15:06
pboromiracle...15:06
DarylMInteresting definition of a miracle :D15:06
pboroI started to wonder the topic over 7 hours ago, Roy posted about it 4 hours ago... HMMM :)15:07
pborohehe15:12
pborothe example of different kind of IDs (like passport no, driver licence no, etc) is exactly the case in the program I'm porting15:13
pborothe other way around would be to have another table which would contain those, but if there's billions of rows, it's a bit pitty to repeat the id of the entity for the sake of non-nullable uniques15:14
DarylMWe need to draw the distinction between what is the right was to architect a system and the needs of someone porting existing software.15:15
DarylMright *way*15:15
DarylMWhen porting things, you are pretty stuck.15:15
pboroyeah15:16
DarylMI had that experience porting Bugzilla to Ingres a number of years ago.15:16
pborohaha15:16
DarylM(Actually I had that experience porting C code 30 years ago, but that is another story from a galaxy far, far away)15:16
*** Guest30760 has quit IRC15:19
*** Mud has joined #ingres15:26
*** Mud is now known as Guest5732115:26
pborooops, not a good idea to load a 43 MB SQL file in isql...15:27
DarylM43MB file >>containing<< sql statements?   !!!!  yikes15:29
pboroyup15:29
pboroI did not want to add \p\g to the SQL file...15:29
DarylMsed works wonders.....15:29
pboroor just echo '\p\g' >> file15:30
DarylMI'm wondering if the terminal monitor can eat a file that big with one \g15:30
DarylMSounds like a MySQL export with a crapton of insert statements terminated by semicolon15:31
pboroval1;val2 type rows from SAP15:31
DarylMugh15:32
pboroit worked fine \o/15:32
DarylM**cheer** Ingres15:32
pboroby the way do you know a way to do COPY from a table in ingres so that the resulting ascii copy does not have it's fields padded to the length of the db table?15:34
pborofor example:15:34
pboroSTR1      ;STR2;STR3                         ;15:34
DarylMfieldname=text(0)tab or its variations15:34
pboroand I would like to have:15:34
pboroah, text(0), have to check that from manual, thanks15:35
DarylMThat is the syntax I have used for a long time.  There are other bits of syntax that do the same thing so you might see other examples that look different but do the same thing15:35
* Vroomfondle is looking at ingstop, and is confused15:36
pborohmm... from which version is it supported? page http://docs.ingres.com/ingres/9.2/sql-reference-guide/2099-storage-format-for-copy does not mention it15:36
DarylMyou should be.  ingstop is an abomination15:36
Vroomfondleit looks like it's doing a "set server shut" in iimonitor even if you give it -force15:36
Vroomfondlebut "set server shut" does not seem to actually force anything15:37
pboromaybe iimonitor doesn't know about forcing at all...15:37
Vroomfondle"server stop" seems to be the way to force the server to shut down15:37
DarylMstop server15:37
Vroomfondleyeah, that15:37
Vroomfondleso... does this mean -force doesn't actually force the DBMS servers to shut down?15:37
Vroomfondlethat would seem like too big a bug to have been missed all these years15:38
Vroomfondle(unless it's been fixed in 10.0 or something I guess)15:38
DarylMIt does, but there are so many scenarios where it fails to do so that it turns out not to be a particularly useful option.15:38
DarylMAnd yes, the ingstop issue has been a problem forever.15:38
Vroomfondlethis really is the devil's own shell-script. I'm impressed.15:38
VroomfondleI bet the guy who wrote this had a *huge* beard15:39
DarylMLOL15:41
pboro:D15:41
DarylMThe biggest problem with ingstop, architecturally, is that its timeout handling is poor or non-existent.15:42
DarylMSo it will block on just about anything.15:42
DarylMThis is a particular problem for new dbas if the system is actually hung from a bug or similar.15:43
pboroWhy not make a C program which would run as the master of all child processes? Shell script is utterly helpless...15:43
DarylMIngres is more of a federation of processes.15:44
VroomfondleI note that if I were to alter config.dat and change the name of the server in various config lines, it'd entirely fail to work because it relies grep-ing config.dat15:48
Vroomfondleand it figures out what it's meant to be shutting down by using various combinations of ps, csreport, awk, cut, tr and sed. What fun!15:49
pboroYou are expected to know the configuration for the years to come in one run ;)15:49
*** atrofast has joined #ingres15:49
Vroomfondleso does "stop server" in iimonitor shut it down cleanly (but forcibly)?15:55
Vroomfondleor could it leave the database inconsistent like -kill can?15:56
DarylMStop server is clean shutdown16:17
Vroomfondlethat does seem to be a bit more reliable16:22
Vroomfondleas in it does actually stop the server...16:22
*** KermitTheFragger has joined #ingres16:27
*** KermitTheFragger has quit IRC18:31
*** Guest57321 has quit IRC19:21
*** Mud has joined #ingres19:26
*** Mud is now known as Guest8488419:26
*** bonsaikitten has quit IRC19:53
*** bonsaikitten has joined #ingres19:53
*** Guest84884 is now known as Mud21:38
*** DerMeister has joined #ingres21:58
*** Mud has quit IRC22:09
*** DerMeister has quit IRC23:08

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