Hi

Over the past months we've seen a number of problems reported on this list that 
seem to relate to changes in the way that UniVerse is interpreting 
numeric/non-numeric fields.

Clearly .20 is numerically the same as .2, but they shouldn't be indexed 
together.

If you do a LIST.INDEX, is it reporting the index as left or right justified?

Brian

Current problem.

when selecting for another item, i get 2, one of which is the 'unselected' 
record that we have been looking for.
BEEN USING
SELECT FILE WITH INVOICE EQ "509010016.2" and get zero when no using NO.INDEX
if I switch to another invoice number
>ED FILE.INDEX 509010016.20
3 lines long.
0001: 01*261318*IN.509010016.20
0002: 01*261318*IN.509010016.2
0003: 01*261318*RF.509010016.2
Bottom at line 3.
>SELECT AR.OPEN.B4 WITH INVOICE EQ "509010016.20"
2 record(s) selected to SELECT list #0.
the two selected, first is number 1, 16.20 and the second is the one i want, # 
2.
---

Back in Version 6.  I created several nifty indexes for the order file.   Which 
had been designed to contain all orders, open or closed.   by marrying the 
status flag to the custno, I created a unique enough key as to not bog down.  
Yeah, my first mistake was to create an index based on open or closed, which 
caused quite a performance hit.
But by creating
OPEN.ORDERS
001 = I
002 = IF STATUS = 'OPEN' THEN CUSTNO ELSE ""

and create.index ORDER.DET OPEN.ORDERS NO.NULLS.   I created a very useable 
index..  ditto when I swapped ORDNO for CUSTNO, so that the index was keyed by 
the ORDER NUMBER...

But I haven't 

----- Original Message -----
From: Charles Stevenson 
Date: Wednesday, March 4, 2009 4:45 pm
Subject: Re: [U2] Universe Index not working
To: u2-users@listserver.u2ug.org

> In a prior release 10.0 or earlier, I encountered a problem that could
> corrupt an index if a write was issued without an explicit readu 
> precedingit. I don't think IBM ever corrected that because 
> writing without explicitly locking is Bad Form.
> If I remember, when process A holds a lock on a record and then 
> process B issues a write (w/o explicitly locking),by default B sits and 
> waits for 20 minutes, then gives up with a write error. (In my opinion, the 
> defaultlock.wait should either be forever, or a uvconfig parameter, not 20
> minutes.)
> 
> If process B's write was to a file that had indexes, that 
> complicated things - I don't recall the details - and we ended up with 
> inconsistencies between the data files and the index files.
> 
> How to proceed: - Monotor uv/errlog to see if you have write errors.
> - Look for programs that write without locking.
> - 20 minute wait limit is configurable. I set ours to one month 
> (=2678400seconds), effectively forever, since we'd bring UV down 
> & up more frequently
> then that. To do so, execute a basic program from UV.LOGIN 
> (that all uv
> processes execute on startup) that does ASSIGN 2678400 TO 
> SYSTEM(1999).TCL command SET.SQL LOCK.WAIT 2678400 
> accomplishes the same.
> 
> All that is from memory, by that's the gist of it.
> 
> 
> Completely separate, but did you know you can create an F-
> pointer to the
> index file itself and then select, ed, basic open/read/write it 
> like any
> other file? The F-pointer would look something like this:
> F
> I_FILE/INDEX.00n
> D_your_debugging_index_dictionary_with trans()s to data file, etc.
> 
> Sometimes that can help you troubleshoot or even manually 
> correct a critical
> index on the fly. But be careful. You can easily introduce more
> corruption. Especially if you leave the F-pointer lying around 
> after you're
> done.
> 
> Chuck Stevenson
> -------
> u2-users mailing list
> u2-users@listserver.u2ug.org
> To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to