RE: [U2] static/dynamic file(s) opinions wanted!

2008-07-23 Thread iggchamp
Hi Doug,

In addition to the great info from this group (like Dan provides), this site 
http://www.fitzlong.com/ provides great insight into U2 files.  You should take 
some time to read the papers that they've provided.  Also, they have an 
incredible product called "fast" that can really help you eliminate a lot of 
the maintenance headaches and increase your system performance.

HTH


-- Original message -- 
From: "Doug Chanco" <[EMAIL PROTECTED]> 

> Dan thanks a million this is incredibly helpful! 
> 
> Dougc 
> --- 
> 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/


RE: [U2] Basic SORT() Function not avail in UniVerse? results

2008-07-23 Thread Jeff Marcos
David, thanks for the little challenge.



I took your code you suggested to try and created the below program:

Please feel free to comment or improve the code. Unfortunately I don't
have all day to refine (wish I could though).



Due to company policy, I can't at this point in time release any code
produced at this company other than the test code below.



You'll see in the results that

Recordsc-Sort   uv-Sort

1,000<0:010:06

10,000  <0:010:22

20,000  <0:011:19

50,000  0:01  8:34

999,99920 (gave up after 25 minutes)



Plus you really start to see the speed improvement when you also have to
sort fields that have dependant attributes.



Ps. We run IBM P series with lots of memory and cpu



Final comment from Phil a colleague here:

"What this points to is the need for IBM to develop an inbuilt high
speed multivalue sort function call that uses faster methods then
'LOCATE' and 'INSERT'. Can we put this on the wishlist "





~~

 PROGRAM TST.SORT

*

$INCLUDE SYINCLUDE COMMON

*

 PROMPT " "

 scrPos = 3

 CRT @(-1):@(3,scrPos):"*** START ***"



 scrPos += 2

 CRT @(3,scrPos):"Number of ids ":

 INPUT NUM

 IF NOT(NUM) OR NUM < 1 THEN

STOP

 END

*

 scrPos += 2

 CRT @(3,scrPos):"Start Time for RND function : ":TIMEDATE()

 EVALNUM = NUM * 100

 VARIDS = ''

 FOR X = 1 TO NUM

VARIDS := @VM:RND(EVALNUM)

 NEXT X

 VARIDS = DELETE(VARIDS,1,1,0) ;* first MV entry is null

*

 scrPos += 2

 CRT @(3,scrPos):"Time taken so far after RND build :
":OCONV(((DATE()[EMAIL PROTECTED])*8400)+(TIME()[EMAIL PROTECTED]),"MTS")

*

 GOSUB RESORT.C

*

 scrPos += 2

 CRT @(3,scrPos):"Time taken so far after C version sort :
":OCONV(((DATE()[EMAIL PROTECTED])*8400)+(TIME()[EMAIL PROTECTED]),"MTS")

*

 SortBy = 'DR'

 InArray = VARIDS

 AllowDups = @TRUE

 OutArray = ''

 GOSUB RESORT.U2:

*

 scrPos += 2

 CRT @(3,scrPos):"Time taken so far after U2 version sort :
":OCONV(((DATE()[EMAIL PROTECTED])*8400)+(TIME()[EMAIL PROTECTED]),"MTS")

 CRT

 CRT "*** END ***"

*

 RETURN

*

*

RESORT.C:

*

 RECORD = VARIDS

 scrPos += 2

 CRT @(3,scrPos):"Start sort function (C) version -- # of VM's
":COUNT(RECORD<1>,@VM)

 PARAM = "DR,1"

 CALL REORDER

*

 RETURN

*

*

RESORT.U2:

*

 scrPos += 2

 CRT @(3,scrPos):"Start sort U2 version -- # of VM's
":COUNT(InArray,@VM)

 If SortBy = "" then SortBy = "AL"

*OutArray   = Remove(InArray, MoreItems)

*ArrayDelim = @RM:@AM:@VM:@SM:@TM[MoreItems, 1]

*

 LOOP

Item = Remove(InArray, MoreItems)

Locate Item in OutArray by SortBy setting Pos then

   If AllowDups then Ins Item before OutArray

End else

   Ins Item before OutArray

End

 While MoreItems Do

 Repeat

*

* SWAP @AM, ArrayDelim in OutArray

*

 RETURN

*



~

Test results:



1.

*** START ***

Number of ids  99

Start Time for RND function : 09:57:08 24 JUL 2008

Time taken so far after RND build : 00:00:10

Start sort function (C) version -- # of VM's 98

Time taken so far after C version sort : 00:00:30

Start sort U2 version -- # of VM's 98

Break: Option (A,C,L,Q,?) =A

DEV >TIME

10:22:11 24 JUL 2008

DEV >





2.

*** START ***

Number of ids  1000

Start Time for RND function : 10:29:36 24 JUL 2008

Time taken so far after RND build : 00:00:05

Start sort function (C) version -- # of VM's 999

Time taken so far after C version sort : 00:00:05

Start sort U2 version -- # of VM's 999

Time taken so far after U2 version sort : 00:00:06

*** END ***



3.

*** START ***

Number of ids  1

Start Time for RND function : 10:30:07 24 JUL 2008

Time taken so far after RND build : 00:00:04

Start sort function (C) version -- # of VM's 

Time taken so far after C version sort : 00:00:04

Start sort U2 version -- # of VM's 

Time taken so far after U2 version sort : 00:00:22

*** END ***



4.

*** START ***

Number of ids  2

Start Time for RND function : 10:53:51 24 JUL 2008

Time taken so far after RND build : 00:00:07

Start sort function (C) version -- # of VM's 1

Time taken so far after C version sort : 00:00:07

Start sort U2 version -- # of VM's 1

Time taken so far after U2 version sort : 00:01:26

*** END ***



5.

*** START ***

Number of ids  5

Start Time for RND function : 10:56:26 24 JUL 2008

Time taken so far after RND build : 00:00:03

Start sort function (C) version -- # of VM's 4

Time taken so far after C version sort : 00:00:04

Start sort U2 version -- # of VM's 4

Time taken so far after U2 version sort : 00:08:38

*** END ***




The information contained in this email and any attached files are strictly
private a

Re: [U2] Getting daily data from SAP from Universe {Unclassified}

2008-07-23 Thread John Kent

Mike,
   that was the gotha i was looking for

At least now i know what i am up against

jak
- Original Message - 
From: "HENDERSON MIKE, MR" <[EMAIL PROTECTED]>

To: 
Sent: Wednesday, July 23, 2008 9:57 AM
Subject: RE: [U2] Getting daily data from SAP from Universe {Unclassified}



John

"2nd problem is actually getting access to SAP table names, data
definitions etc."
As I understand it, the SAP Table names are in SAP (German) code, and
the column names are in SAP code. Then there is another set of tables -
also named in SAP code, of course - which provide translations between
the SAP column names and .

Oh, yes, it's as complicated as heck. That's how SAP consultants make
all their money, and why you need them. The data may be more easily
accessible in something like SAP BW, provided you bought that.


"The only known I have at the moment is that they can send me
spreadsheets"
Which are possibly produced by a point-and-click GUI, so the user will
have no idea of the underlying data structures.
Or by some customised ABAP reporting, see 'SAP Consultants' above.


The easiest and most cost effective mechanism may even be to read in,
parse and consume the spreadsheets.

Sorry


Regards


Mike

The information contained in this Internet Email message is intended
for the addressee only and may contain privileged information, but not
necessarily the official views or opinions of the New Zealand Defence 
Force.

If you are not the intended recipient you must not use, disclose, copy or
distribute this message or the information in it.

If you have received this message in error, please Email or telephone
the sender immediately.
---
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/


Re: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Anthony W. Youngman
In message 
<[EMAIL PROTECTED]>, 
"Baakkonen, Rodney A (Rod)  46K" <[EMAIL PROTECTED]> writes

I guess my point was a little off topic, as I was really calling
attention to performance issues with dynamic arrays in general and not
about sorting keys. When dynamic arrays can out perform work files, we
will use them.

We have seen processes that used dynamic arrays run for a week. Even
with doing REMOVE and using concatenation to build the array. Changing
the logic to use a work file resulted in the same process finishing in
hours.


The important question is, is the dynamic array small relative to the 
server RAM. At my previous site, we sometimes manipulated dynamic arrays 
in the megabyte range. On a server with 16Mb RAM serving an 80-person 
company, that is a HUGE array. When I looked at the server, the 
hard-disk light was on pretty much constantly. No wonder the server ran 
slow - it was paging pretty much all the time.


Remember, Pick was originally designed to (approximately) use the hard 
disk as a form of "permanent RAM", and to do so efficiently. If you 
don't have the RAM then using work files is far more efficient than 
paging. But if your data fits conveniently in RAM then it's often more 
efficient to do that (unless the OS caches your disk in RAM and gets 
better performance that way :-)


Dimensioned arrays give the advantage of indexed access without the 
disadvantage of disk access. That said, I'd always use dynamic arrays 
for the convenience unless I was worried about performance - if the 
array is typically small or can be traversed with a REMOVE statement, 
the hassle of a dimensioned array is rarely worth it.


Cheers,
Wol
--
Anthony W. Youngman <[EMAIL PROTECTED]>
'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the
thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man
lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998
Visit the MaVerick web-site -  Open Source Pick
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Charlie Rubeor
Before we had the SORT function, I wrote out the variable to a directory and
used the *nix sort command.  I don't have the original program, but I
re-created it here as best I could.  I remember the program as being a lot
more complicated then this, but here it is anyway.

SUBROUTINE SORT.STUFF(BIG.ARRAY,SORTED.ARRAY)
*
* Must have a temporary dir-type file
*
OPEN 'TEMPDIR' TO F.TEMPDIR ELSE STOP 201,'TEMPDIR'
TEMP.KEY = @USERNO:'*':@LEVEL
TEMP.PATH = FILEINFO(F.TEMPDIR,2):'/':TEMP.KEY
*
WRITE BIG.ARRAY ON F.TEMPDIR,TEMP.KEY
*
CMD = '!sort -o ':TEMP.PATH:' ':TEMP.PATH
EXECUTE CMD CAPTURING OUTPUT RETURNING ERROR.MESSAGE
*
READ SORTED.ARRAY FROM F.TEMPDIR,TEMP.KEY THEN
   DELETE F.TEMPDIR,TEMP.KEY
END ELSE
   PRINT;PRINT "Didn't work!"
END
RETURN

I only tested this once, it sorted a 1,000,000 line array in a couple of
seconds.

hth

- Original Message -
From: "Baker Hughes" <[EMAIL PROTECTED]>
To: 
Sent: Tuesday, July 22, 2008 10:50 AM
Subject: [U2] Basic SORT() Function not avail in UniVerse?


> Hey,
>
> I'm needing to SORT a dynamic array and apparently UniVerse doesn't have
> this
> Function.
>
> Other MV implementations have this, such as D3 - "The sort() function
> sorts an
> attribute or value mark delimited str.exp in ascending order." [from
> ePick]
>
> There was also a user exit u1072 that did the same thing.
>
> Does anyone have a work around or fast path to same thing  maybe I'm
> missing something but can't see this in UV docs.
>
> -Baker
> ---
> u2-users mailing list
> u2-users@listserver.u2ug.org
> To unsubscribe please visit http://listserver.u2ug.org/

[demime 1.01d removed an attachment of type application/pgp-signature which had 
a name of PGP.sig]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Israel, John R.
Same here

John Israel
Sr. Programmer/Analyst
Dayton Superior Corporation
721 Richard St.
Dayton, OH  45342
937-866-0711 x44380

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Symeon Breen
Sent: Wednesday, July 23, 2008 4:09 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

I too would be interested in your c function


Thanks
Symeon.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David A. Green
Sent: 23 July 2008 19:58
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

Jeff,

Can you compare the speed of your C sorting program with this one?  It's
untested code...

FUNCTION SortArray(InArray, AllowDups, SortBy)
*
OutArray   = Remove(InArray, MoreItems)
ArrayDelim = @RM:@AM:@VM:@SM:@TM[MoreItems, 1]
If SortBy = "" then SortBy = "AL"
*
While MoreItems Do
  Item = Remove(InArray, MoreItems)
  Locate Item in OutArray<1> by SortBy setting Pos then
 If AllowDups then Ins Item before OutArray
  End else
 Ins Item before OutArray
  End
Repeat
*
Swap @AM with ArrayDelim in OutArray
Return OutArray

Can you share your 'C' program?  Maybe IBM can add it to U2 products as
SORT() Function.

Thanks,
David A. Green
www.dagconsulting.com
(480) 813-1725


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jeff Marcos
Sent: Tuesday, July 22, 2008 4:35 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

We had the same issue back in the 90's. So a clever guy (Ed) that worked
with us wrote a small C program (on Unix) to do the sort. This also
included controlling/dependants fields. Any universe program could call
it, passing in the variables and returned the items sorted.

Speed is incredible. To this day it's still used and blitzes any
universe program methods in sorting large arrays.

Regards,
Jeff Marcos

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E. Elwood
Sent: Wednesday, 23 July 2008 6:59 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

Hey, and don't forget to do a speed test.  You know, because LOCATE is
coded
as part of the OS it just *might* be faster than bubble or speed sort
options.

In fact, this was a topic on this list about 3 or 4 years ago and
someone
doing the speed test concluded LOCATE was in fact faster.

And no I don't remember who it was, or have a link to the thread (sorry)

:-)

Allen

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Israel, John R.
Sent: Tuesday, July 22, 2008 10:26
To: 'u2-users@listserver.u2ug.org'
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


Note that if the array is big, you would get much better performance by
loading it into a DIM array, so the sort of sort below, then put the
results
back into a dynamic array.

Dynamic arrays are much easier to use, but when used wisely, dimensioned
arrays can be MUCH faster.  This is true for any application, esp.
looping
through multi-values.

John Israel


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of DAVID WADEMAN
Sent: Tuesday, July 22, 2008 1:00 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

This is a UniData subroutine, but should work 

SUBROUTINE B42.SORT.ARRAY(SORTED,ARRAY)
* Bubble sort the elements of a dynamic array
* Created by: David Wademan
* Creation Date: 01/05/05
SORTED=""
VALUES = DCOUNT(ARRAY,@VM)
LOOP
   CHANGES = 0
   FOR X = 2 TO VALUES
  * For each adjacent pair
  ELEMENT1 = ARRAY<1,X-1>
  ELEMENT2 = ARRAY<1,X>

  IF ELEMENT2 < ELEMENT1 THEN
 * Swap if pair out of sequence
 ARRAY<1,X> = ELEMENT1
 ARRAY<1,X-1> = ELEMENT2
 CHANGES = 1
  END
   NEXT X
WHILE CHANGES DO REPEAT
SORTED=ARRAY
RETURN

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Tuesday, July 22, 2008 10:51 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] Basic SORT() Function not avail in UniVerse?

Hey,

I'm needing to SORT a dynamic array and apparently UniVerse doesn't have
this
Function.

Other MV implementations have this, such as D3 - "The sort() function
sorts an
attribute or value mark delimited str.exp in ascending order." [from
ePick]

There was also a user exit u1072 that did the same thing.

Does anyone have a work around or fast path to same thing  maybe I'm
missing something but can't see this in UV docs.

-Baker
---
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.

RE: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Symeon Breen
I too would be interested in your c function


Thanks
Symeon.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David A. Green
Sent: 23 July 2008 19:58
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

Jeff,

Can you compare the speed of your C sorting program with this one?  It's
untested code...

FUNCTION SortArray(InArray, AllowDups, SortBy)
*
OutArray   = Remove(InArray, MoreItems)
ArrayDelim = @RM:@AM:@VM:@SM:@TM[MoreItems, 1]
If SortBy = "" then SortBy = "AL"
*
While MoreItems Do
  Item = Remove(InArray, MoreItems)
  Locate Item in OutArray<1> by SortBy setting Pos then
 If AllowDups then Ins Item before OutArray
  End else
 Ins Item before OutArray
  End
Repeat
*
Swap @AM with ArrayDelim in OutArray
Return OutArray

Can you share your 'C' program?  Maybe IBM can add it to U2 products as
SORT() Function.

Thanks,
David A. Green
www.dagconsulting.com
(480) 813-1725


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jeff Marcos
Sent: Tuesday, July 22, 2008 4:35 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

We had the same issue back in the 90's. So a clever guy (Ed) that worked
with us wrote a small C program (on Unix) to do the sort. This also
included controlling/dependants fields. Any universe program could call
it, passing in the variables and returned the items sorted.

Speed is incredible. To this day it's still used and blitzes any
universe program methods in sorting large arrays. 

Regards,
Jeff Marcos

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E. Elwood
Sent: Wednesday, 23 July 2008 6:59 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

Hey, and don't forget to do a speed test.  You know, because LOCATE is
coded
as part of the OS it just *might* be faster than bubble or speed sort
options.

In fact, this was a topic on this list about 3 or 4 years ago and
someone
doing the speed test concluded LOCATE was in fact faster.

And no I don't remember who it was, or have a link to the thread (sorry)

:-)

Allen

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Israel, John R.
Sent: Tuesday, July 22, 2008 10:26
To: 'u2-users@listserver.u2ug.org'
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


Note that if the array is big, you would get much better performance by
loading it into a DIM array, so the sort of sort below, then put the
results
back into a dynamic array.

Dynamic arrays are much easier to use, but when used wisely, dimensioned
arrays can be MUCH faster.  This is true for any application, esp.
looping
through multi-values.

John Israel


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of DAVID WADEMAN
Sent: Tuesday, July 22, 2008 1:00 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

This is a UniData subroutine, but should work 

SUBROUTINE B42.SORT.ARRAY(SORTED,ARRAY)
* Bubble sort the elements of a dynamic array
* Created by: David Wademan
* Creation Date: 01/05/05
SORTED=""
VALUES = DCOUNT(ARRAY,@VM)
LOOP
   CHANGES = 0
   FOR X = 2 TO VALUES
  * For each adjacent pair
  ELEMENT1 = ARRAY<1,X-1>
  ELEMENT2 = ARRAY<1,X>

  IF ELEMENT2 < ELEMENT1 THEN
 * Swap if pair out of sequence
 ARRAY<1,X> = ELEMENT1
 ARRAY<1,X-1> = ELEMENT2
 CHANGES = 1
  END
   NEXT X
WHILE CHANGES DO REPEAT
SORTED=ARRAY
RETURN

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Tuesday, July 22, 2008 10:51 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] Basic SORT() Function not avail in UniVerse?

Hey,

I'm needing to SORT a dynamic array and apparently UniVerse doesn't have
this
Function.

Other MV implementations have this, such as D3 - "The sort() function
sorts an
attribute or value mark delimited str.exp in ascending order." [from
ePick]

There was also a user exit u1072 that did the same thing.

Does anyone have a work around or fast path to same thing  maybe I'm
missing something but can't see this in UV docs.

-Baker
---
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/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

The information contained in this email and any attached files are strictly
private and confidential. This email should be read by the intended
addressee
only.  If the recipient of this messa

RE: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Baakkonen, Rodney A (Rod) 46K
 I guess my point was a little off topic, as I was really calling
attention to performance issues with dynamic arrays in general and not
about sorting keys. When dynamic arrays can out perform work files, we
will use them.

 We have seen processes that used dynamic arrays run for a week. Even
with doing REMOVE and using concatenation to build the array. Changing
the logic to use a work file resulted in the same process finishing in
hours.

The other aspect is that a lot dynamic arrays in programs do more that
just hold keys. Doing a locate on one array may result in multiple data
elements being inserted into corresponding arrays. With this type of
intermediate data, writing and sorting a work file will run circles
around internal arrays.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Rex Gozar
Sent: Wednesday, July 23, 2008 1:50 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Basic SORT() Function not avail in UniVerse?

I've done research on sorting in the past, working with 100,000 to 
1,000,000 element lists.

Allen: LOCATE's are faster, but only when you're dealing with less than 
100 elements.  Because LOCATE's must start at the beginning of a string 
and traverse the entire length, they get slower and slower.  Bubble 
sorts are also useless when dealing with a large number of elements.

Jeff: Yes, a C program is the fastest (at least it was at my last job 
where we used GCI to integrate it with the universe shell.)

As for writing out ids to work files just to sort them, it adds 
unnecessary overhead to the whole process.

I wish universe had an intrinsic sort() function.  Since they don't I 
wrote my own and posted it on PickWiki.  You could also use the 
QuickSort sample posted in this thread.  Once you standardize on a 
particular sorting program, you'll be amazed at the number of times it 
comes in handy.

http://www.pickwiki.com/cgi-bin/wiki.pl?Sorting
http://www.pickwiki.com/cgi-bin/wiki.pl?ShellSort
http://www.pickwiki.com/cgi-bin/wiki.pl?QuickSort

Another handy function is to be able to flip fields to values and vice 
versa.  See http://www.pickwiki.com/cgi-bin/wiki.pl?Row2Col and again 
it's optimized for a large number of elements.

rex
---
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/


RE: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Nick Gettino
For very large files we use alternate indexes on Unidata.
So we have one for date or some virtual of data that is used most of the
time.  Then we use a generic subroutine to read the index using either a
SETINDEX to go exactly where you want (or where the next record should
be) or SELECTINDEX it is extremely fast as we use it for our 911
dispatching application where every millisecond counts.


Nick Gettino
Director of Development
EnRoute Emergency Systems
401 E Jackson St
Suite 1500
Tampa FL 33602

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Rex Gozar
Sent: Wednesday, July 23, 2008 2:50 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Basic SORT() Function not avail in UniVerse?

I've done research on sorting in the past, working with 100,000 to 
1,000,000 element lists.

Allen: LOCATE's are faster, but only when you're dealing with less than 
100 elements.  Because LOCATE's must start at the beginning of a string 
and traverse the entire length, they get slower and slower.  Bubble 
sorts are also useless when dealing with a large number of elements.

Jeff: Yes, a C program is the fastest (at least it was at my last job 
where we used GCI to integrate it with the universe shell.)

As for writing out ids to work files just to sort them, it adds 
unnecessary overhead to the whole process.

I wish universe had an intrinsic sort() function.  Since they don't I 
wrote my own and posted it on PickWiki.  You could also use the 
QuickSort sample posted in this thread.  Once you standardize on a 
particular sorting program, you'll be amazed at the number of times it 
comes in handy.

http://www.pickwiki.com/cgi-bin/wiki.pl?Sorting
http://www.pickwiki.com/cgi-bin/wiki.pl?ShellSort
http://www.pickwiki.com/cgi-bin/wiki.pl?QuickSort

Another handy function is to be able to flip fields to values and vice 
versa.  See http://www.pickwiki.com/cgi-bin/wiki.pl?Row2Col and again 
it's optimized for a large number of elements.

rex
---
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/


Re: [U2] Unidata PE Question

2008-07-23 Thread BNeylon
Possibly convcode  and convdata
Have you looked at "Administering UniData on Windows Platforms"? 
Specifically tar2ftp?

Bruce M Neylon
Health Care Management Group 



"Kebbon Irwin" <[EMAIL PROTECTED]> 
Sent by: [EMAIL PROTECTED]
07/23/2008 02:10 PM
Please respond to
u2-users@listserver.u2ug.org


To
u2-users@listserver.u2ug.org
cc

Subject
[U2] Unidata PE Question






I have some Unidata accounts that I have ftp'd from a unix box and I would 

like to be able to log in to them on my XP laptop with Unidata PE 
installed. 
  I get a high-byte/low-byte error message indicating that, at the least, 
I 
must run some conversions.  I'm not sure what utilities to use to render 
the 
data accessible.  Any advice?
Thanks,
Kebbon
---
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/


RE: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread David A. Green
Jeff,

Can you compare the speed of your C sorting program with this one?  It's
untested code...

FUNCTION SortArray(InArray, AllowDups, SortBy)
*
OutArray   = Remove(InArray, MoreItems)
ArrayDelim = @RM:@AM:@VM:@SM:@TM[MoreItems, 1]
If SortBy = "" then SortBy = "AL"
*
While MoreItems Do
  Item = Remove(InArray, MoreItems)
  Locate Item in OutArray<1> by SortBy setting Pos then
 If AllowDups then Ins Item before OutArray
  End else
 Ins Item before OutArray
  End
Repeat
*
Swap @AM with ArrayDelim in OutArray
Return OutArray

Can you share your 'C' program?  Maybe IBM can add it to U2 products as
SORT() Function.

Thanks,
David A. Green
www.dagconsulting.com
(480) 813-1725


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jeff Marcos
Sent: Tuesday, July 22, 2008 4:35 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

We had the same issue back in the 90's. So a clever guy (Ed) that worked
with us wrote a small C program (on Unix) to do the sort. This also
included controlling/dependants fields. Any universe program could call
it, passing in the variables and returned the items sorted.

Speed is incredible. To this day it's still used and blitzes any
universe program methods in sorting large arrays. 

Regards,
Jeff Marcos

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E. Elwood
Sent: Wednesday, 23 July 2008 6:59 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

Hey, and don't forget to do a speed test.  You know, because LOCATE is
coded
as part of the OS it just *might* be faster than bubble or speed sort
options.

In fact, this was a topic on this list about 3 or 4 years ago and
someone
doing the speed test concluded LOCATE was in fact faster.

And no I don't remember who it was, or have a link to the thread (sorry)

:-)

Allen

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Israel, John R.
Sent: Tuesday, July 22, 2008 10:26
To: 'u2-users@listserver.u2ug.org'
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


Note that if the array is big, you would get much better performance by
loading it into a DIM array, so the sort of sort below, then put the
results
back into a dynamic array.

Dynamic arrays are much easier to use, but when used wisely, dimensioned
arrays can be MUCH faster.  This is true for any application, esp.
looping
through multi-values.

John Israel


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of DAVID WADEMAN
Sent: Tuesday, July 22, 2008 1:00 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

This is a UniData subroutine, but should work 

SUBROUTINE B42.SORT.ARRAY(SORTED,ARRAY)
* Bubble sort the elements of a dynamic array
* Created by: David Wademan
* Creation Date: 01/05/05
SORTED=""
VALUES = DCOUNT(ARRAY,@VM)
LOOP
   CHANGES = 0
   FOR X = 2 TO VALUES
  * For each adjacent pair
  ELEMENT1 = ARRAY<1,X-1>
  ELEMENT2 = ARRAY<1,X>

  IF ELEMENT2 < ELEMENT1 THEN
 * Swap if pair out of sequence
 ARRAY<1,X> = ELEMENT1
 ARRAY<1,X-1> = ELEMENT2
 CHANGES = 1
  END
   NEXT X
WHILE CHANGES DO REPEAT
SORTED=ARRAY
RETURN

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Tuesday, July 22, 2008 10:51 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] Basic SORT() Function not avail in UniVerse?

Hey,

I'm needing to SORT a dynamic array and apparently UniVerse doesn't have
this
Function.

Other MV implementations have this, such as D3 - "The sort() function
sorts an
attribute or value mark delimited str.exp in ascending order." [from
ePick]

There was also a user exit u1072 that did the same thing.

Does anyone have a work around or fast path to same thing  maybe I'm
missing something but can't see this in UV docs.

-Baker
---
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/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

The information contained in this email and any attached files are strictly
private and confidential. This email should be read by the intended
addressee
only.  If the recipient of this message is not the intended addressee,
please
call Corporate Express Australia Limited on +61 2 9335 0555 or Corporate
Express
New Zealand Limited on +64 9 279 2555 and promptly delete this email and any
attachments.  The intended recipient of this email may only use, reproduce,
disclose or dis

Re: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Rex Gozar
I've done research on sorting in the past, working with 100,000 to 
1,000,000 element lists.


Allen: LOCATE's are faster, but only when you're dealing with less than 
100 elements.  Because LOCATE's must start at the beginning of a string 
and traverse the entire length, they get slower and slower.  Bubble 
sorts are also useless when dealing with a large number of elements.


Jeff: Yes, a C program is the fastest (at least it was at my last job 
where we used GCI to integrate it with the universe shell.)


As for writing out ids to work files just to sort them, it adds 
unnecessary overhead to the whole process.


I wish universe had an intrinsic sort() function.  Since they don't I 
wrote my own and posted it on PickWiki.  You could also use the 
QuickSort sample posted in this thread.  Once you standardize on a 
particular sorting program, you'll be amazed at the number of times it 
comes in handy.


http://www.pickwiki.com/cgi-bin/wiki.pl?Sorting
http://www.pickwiki.com/cgi-bin/wiki.pl?ShellSort
http://www.pickwiki.com/cgi-bin/wiki.pl?QuickSort

Another handy function is to be able to flip fields to values and vice 
versa.  See http://www.pickwiki.com/cgi-bin/wiki.pl?Row2Col and again 
it's optimized for a large number of elements.


rex
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Unidata PE Question

2008-07-23 Thread Davis, Dawn
Kebbon,

Sorry, didn't specify "path to your unidata DATA files'

Dawn Janel Davis
Database Manager
[EMAIL PROTECTED]
410-386-8058
 
Carroll Community College
1601 Washington Road
Westminster, MD 21157


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kebbon Irwin
Sent: Wednesday, July 23, 2008 2:10 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Unidata PE Question

I have some Unidata accounts that I have ftp'd from a unix box and I would 
like to be able to log in to them on my XP laptop with Unidata PE installed. 
  I get a high-byte/low-byte error message indicating that, at the least, I 
must run some conversions.  I'm not sure what utilities to use to render the 
data accessible.  Any advice?
Thanks,
Kebbon
---
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/


RE: [U2] Unidata PE Question

2008-07-23 Thread Davis, Dawn
>From your IBM \bin dir:  

You are going to want to run convidx.exe and convdata.exe...you will need some 
switches to get the subdirs.

convdata -r c:\path to where your unidata files live

convidx -r c:\path to where your unidata files live

I run them in DOS manually...

Dawn Janel Davis
Database Manager
[EMAIL PROTECTED]
410-386-8058
 
Carroll Community College
1601 Washington Road
Westminster, MD 21157


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kebbon Irwin
Sent: Wednesday, July 23, 2008 2:10 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Unidata PE Question

I have some Unidata accounts that I have ftp'd from a unix box and I would 
like to be able to log in to them on my XP laptop with Unidata PE installed. 
  I get a high-byte/low-byte error message indicating that, at the least, I 
must run some conversions.  I'm not sure what utilities to use to render the 
data accessible.  Any advice?
Thanks,
Kebbon
---
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] Unidata PE Question

2008-07-23 Thread Kebbon Irwin
I have some Unidata accounts that I have ftp'd from a unix box and I would 
like to be able to log in to them on my XP laptop with Unidata PE installed. 
 I get a high-byte/low-byte error message indicating that, at the least, I 
must run some conversions.  I'm not sure what utilities to use to render the 
data accessible.  Any advice?

Thanks,
Kebbon
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [uv] Secure Sockets / SSL

2008-07-23 Thread Glen Batchelor
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:owner-u2-
> [EMAIL PROTECTED] On Behalf Of Anthony Youngman
> Sent: Wednesday, July 23, 2008 11:28 AM
> To: 'u2-users@listserver.u2ug.org'
> Subject: RE: [U2] [uv] Secure Sockets / SSL
> 
> SSL direct from UV, or SSL direct from the UV server ...
> 
> If they're sending it to their internal mailserver, which is configured to
> require SSL, or they don't have an internal mailserver and must use SSL to
> talk out ...
> 
> I got the impression they wanted the CLIENT software to talk SSL, Postfix
> and Exim are server software.
> 
> But if they want everything to run on the UV server and leave that over an
> SSL connection, I think the blat email client talks SSL.
> 
> Cheers,
> Wol

Wol,

 I understand the general need of wanting to make a direct connection. The
OP didn't state any specific reason why it had to be direct, though. So, I
offered an easier and more robust solution. Blat is an option too if the
current mail server on the UV box does not have a way to route defined mail
to a specific SMTPS server without breaking the existing setup. 

 The only issue with using external clients is if the UV admin wants the
certificates and keys to be managed solely by UV. Though, I'm sure Blat or
Postfix can be told where to get the crypto files if UV doesn't hide them in
a back corner somewhere.

If direct is the need and want then I found this from Google:

http://publib.boulder.ibm.com/epubs/pdf/25129060.pdf

 If the entire session is being handled inside of UV then the developer will
need to read and understand the related SMTP and SMTPS RFCs in order to
implement a compliant mail client.

Regards,


Glen Batchelor
IT Director
All-Spec Industries
 phone: (910) 332-0424
   fax: (910) 763-5664
E-mail: [EMAIL PROTECTED]
   Web: http://www.all-spec.com
  Blog: http://blog.all-spec.com

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Baakkonen, Rodney A (Rod) 46K
 That is why we discourage developers from using dynamic arrays in
programs. Once they get to a certain size, performance goes out the
window. We have them store all intermediate program data in work files
that sort quickly when well sized. 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma
Sent: Wednesday, July 23, 2008 10:42 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

I've been experimenting and discovered something.  Instead of waiting
until you have all (say) 100,000 elements to sort at once, why not sort
them in blocks of (say) 5,000.  So I wrote this little subroutine that
takes two parameters, a relatively small un-sorted table and the larger
sorted table and sorts the un-sorted into the sorted table.

The calling program accumulates the unsorted ITAB and when it reaches a
certain watermark, say 5,000 elements, this subroutine is called and
those 5,000 get inserted into the master sorted OTAB, which initially is
.

My experimentation discovered this method to run extremely quickly
compared to waiting for the entire 100,000 element table to be built
before starting the sort.  Try it out!

  SUBROUTINE HUB.SORT.B (ITAB,OTAB)

  X2= DCOUNT(ITAB,@AM)

  FOR X = 1 TO X2
ELEM = ITAB
LOCATE ELEM IN OTAB BY "AL" SETTING PLACE ELSE NULL
OTAB = INSERT(OTAB,PLACE;ELEM)
  NEXT X



  RETURN

  END

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
"Delivering Products, Services, and Innovative Solutions"


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jeff Marcos
Sent: Tuesday, July 22, 2008 7:35 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

We had the same issue back in the 90's. So a clever guy (Ed) that worked
with us wrote a small C program (on Unix) to do the sort. This also
included controlling/dependants fields. Any universe program could call
it, passing in the variables and returned the items sorted.

Speed is incredible. To this day it's still used and blitzes any
universe program methods in sorting large arrays. 

Regards,
Jeff Marcos

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E. Elwood
Sent: Wednesday, 23 July 2008 6:59 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

Hey, and don't forget to do a speed test.  You know, because LOCATE is
coded
as part of the OS it just *might* be faster than bubble or speed sort
options.

In fact, this was a topic on this list about 3 or 4 years ago and
someone
doing the speed test concluded LOCATE was in fact faster.

And no I don't remember who it was, or have a link to the thread (sorry)

:-)

Allen

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Israel, John R.
Sent: Tuesday, July 22, 2008 10:26
To: 'u2-users@listserver.u2ug.org'
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


Note that if the array is big, you would get much better performance by
loading it into a DIM array, so the sort of sort below, then put the
results
back into a dynamic array.

Dynamic arrays are much easier to use, but when used wisely, dimensioned
arrays can be MUCH faster.  This is true for any application, esp.
looping
through multi-values.

John Israel


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of DAVID WADEMAN
Sent: Tuesday, July 22, 2008 1:00 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

This is a UniData subroutine, but should work 

SUBROUTINE B42.SORT.ARRAY(SORTED,ARRAY)
* Bubble sort the elements of a dynamic array
* Created by: David Wademan
* Creation Date: 01/05/05
SORTED=""
VALUES = DCOUNT(ARRAY,@VM)
LOOP
   CHANGES = 0
   FOR X = 2 TO VALUES
  * For each adjacent pair
  ELEMENT1 = ARRAY<1,X-1>
  ELEMENT2 = ARRAY<1,X>

  IF ELEMENT2 < ELEMENT1 THEN
 * Swap if pair out of sequence
 ARRAY<1,X> = ELEMENT1
 ARRAY<1,X-1> = ELEMENT2
 CHANGES = 1
  END
   NEXT X
WHILE CHANGES DO REPEAT
SORTED=ARRAY
RETURN

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Tuesday, July 22, 2008 10:51 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] Basic SORT() Function not avail in UniVerse?

Hey,

I'm needing to SORT a dynamic array and apparently UniVerse doesn't have
this
Function.

Other MV implementations have this, such as D3 - "The sort() function
sorts an
attribute or value mark delimited str.exp in ascending order." [from
ePick]

There was also a user exit u1072 that did the same thing.

Does anyone have a work around or fast path to same thing  maybe I'm
missing something but can't see this in UV docs.

-Baker
--

RE: [U2] static/dynamic file(s) opinions wanted!

2008-07-23 Thread Doug Chanco
Dan thanks a million this is incredibly helpful!

Dougc
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Dave Laansma
I've been experimenting and discovered something.  Instead of waiting
until you have all (say) 100,000 elements to sort at once, why not sort
them in blocks of (say) 5,000.  So I wrote this little subroutine that
takes two parameters, a relatively small un-sorted table and the larger
sorted table and sorts the un-sorted into the sorted table.

The calling program accumulates the unsorted ITAB and when it reaches a
certain watermark, say 5,000 elements, this subroutine is called and
those 5,000 get inserted into the master sorted OTAB, which initially is
.

My experimentation discovered this method to run extremely quickly
compared to waiting for the entire 100,000 element table to be built
before starting the sort.  Try it out!

  SUBROUTINE HUB.SORT.B (ITAB,OTAB)

  X2= DCOUNT(ITAB,@AM)

  FOR X = 1 TO X2
ELEM = ITAB
LOCATE ELEM IN OTAB BY "AL" SETTING PLACE ELSE NULL
OTAB = INSERT(OTAB,PLACE;ELEM)
  NEXT X



  RETURN

  END

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
"Delivering Products, Services, and Innovative Solutions"


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jeff Marcos
Sent: Tuesday, July 22, 2008 7:35 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

We had the same issue back in the 90's. So a clever guy (Ed) that worked
with us wrote a small C program (on Unix) to do the sort. This also
included controlling/dependants fields. Any universe program could call
it, passing in the variables and returned the items sorted.

Speed is incredible. To this day it's still used and blitzes any
universe program methods in sorting large arrays. 

Regards,
Jeff Marcos

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E. Elwood
Sent: Wednesday, 23 July 2008 6:59 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

Hey, and don't forget to do a speed test.  You know, because LOCATE is
coded
as part of the OS it just *might* be faster than bubble or speed sort
options.

In fact, this was a topic on this list about 3 or 4 years ago and
someone
doing the speed test concluded LOCATE was in fact faster.

And no I don't remember who it was, or have a link to the thread (sorry)

:-)

Allen

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Israel, John R.
Sent: Tuesday, July 22, 2008 10:26
To: 'u2-users@listserver.u2ug.org'
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


Note that if the array is big, you would get much better performance by
loading it into a DIM array, so the sort of sort below, then put the
results
back into a dynamic array.

Dynamic arrays are much easier to use, but when used wisely, dimensioned
arrays can be MUCH faster.  This is true for any application, esp.
looping
through multi-values.

John Israel


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of DAVID WADEMAN
Sent: Tuesday, July 22, 2008 1:00 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

This is a UniData subroutine, but should work 

SUBROUTINE B42.SORT.ARRAY(SORTED,ARRAY)
* Bubble sort the elements of a dynamic array
* Created by: David Wademan
* Creation Date: 01/05/05
SORTED=""
VALUES = DCOUNT(ARRAY,@VM)
LOOP
   CHANGES = 0
   FOR X = 2 TO VALUES
  * For each adjacent pair
  ELEMENT1 = ARRAY<1,X-1>
  ELEMENT2 = ARRAY<1,X>

  IF ELEMENT2 < ELEMENT1 THEN
 * Swap if pair out of sequence
 ARRAY<1,X> = ELEMENT1
 ARRAY<1,X-1> = ELEMENT2
 CHANGES = 1
  END
   NEXT X
WHILE CHANGES DO REPEAT
SORTED=ARRAY
RETURN

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Tuesday, July 22, 2008 10:51 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] Basic SORT() Function not avail in UniVerse?

Hey,

I'm needing to SORT a dynamic array and apparently UniVerse doesn't have
this
Function.

Other MV implementations have this, such as D3 - "The sort() function
sorts an
attribute or value mark delimited str.exp in ascending order." [from
ePick]

There was also a user exit u1072 that did the same thing.

Does anyone have a work around or fast path to same thing  maybe I'm
missing something but can't see this in UV docs.

-Baker
---
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/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

The information containe

RE: [U2] [uv] Secure Sockets / SSL

2008-07-23 Thread Anthony Youngman
SSL direct from UV, or SSL direct from the UV server ...

If they're sending it to their internal mailserver, which is configured to 
require SSL, or they don't have an internal mailserver and must use SSL to talk 
out ...

I got the impression they wanted the CLIENT software to talk SSL, Postfix and 
Exim are server software.

But if they want everything to run on the UV server and leave that over an SSL 
connection, I think the blat email client talks SSL.

Cheers,
Wol

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Glen Batchelor
Sent: 23 July 2008 15:12
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [uv] Secure Sockets / SSL

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:owner-u2-
> [EMAIL PROTECTED] On Behalf Of Mike Pflugfelder
> Sent: Wednesday, July 23, 2008 7:17 AM
> To: u2-users@listserver.u2ug.org
> Subject: RE: [U2] [uv] Secure Sockets / SSL
>
> Well, I'd like this to run from a Universe server, running on either
> Windows or Unix, not the client side.  From what I understand, current
> releases of Universe include secure sockets and therefore can make the
> call directly.
>
>

  Is there a specific reason why it has to be SSL directly from the UV
software? Postfix (and I'm sure Exim too - I'm a postfix guru) can be
configured to do SASL and TLS (with/without SSL) for incoming and outgoing
SMTP. Once you set up the TLS/SSL, all you'd have to do is configure a
simple transport by destination domain and it would do the rest for you
through the normal sendmail/mail command. People do this regularly when they
want to forward mail to a gmail account, which requires TLS/SSL and a SMTPS
port connection.

  I can understand the want to keep the code inside the center of the mass,
but such universal functionality would gain much better support and features
if it wasn't custom written in a UV app.

Regards,


Glen Batchelor
IT Director
All-Spec Industries
 phone: (910) 332-0424
   fax: (910) 763-5664
E-mail: [EMAIL PROTECTED]
   Web: http://www.all-spec.com
  Blog: http://blog.all-spec.com

---
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/


RE: [U2] static/dynamic file(s) opinions wanted!

2008-07-23 Thread Dan Fitzgerald
See the minimum modulus of 1 & the current mod of 240052? your file has split
240051 times, and a lot of your writes are probably going to involve a split
operation. Check this again in a couple of days to see what the current mod is
to see how many split operations you've done. An interesting thing to see
would be the sizes of the DATA.30 & OVER.30 files; with a mod of 240052 & a
group size of 2048, the file is sized for 469Mb, yet the actual data size is
860Gb. My first guess would be that you are storing a lot of oversized items
(>1600b, the Large Record Size) - nearly 400Mb. IIRC, UV puts a pointer in the
primary group to the overflow, so each I/O will be at least 2 disk accesses
for an oversized item (this is efficient: if it tried to store the first 1600
bytes here in primary space, you'd have to read all of the oversized items to
get to the most recently accessed items at the end of the group). If a large
fraction of your oversized items are under, say 3200b, doubling the group size
might help significantly, bearing in mind that you don't want to exceed the
page size for your OS (typically 4K)(think about it a moment: if data is
stored on disk in 4k pages, and you have a group size above that, every read
is two physical disk reads, cutting your throughput capacity in half).

To look at this, I use a small program that opens the file, loops through a
basic select while readnext, reads each record, does a len(rec), & then
increments a counter in an attribute where <1> is a count of records from
0-500b in size, <2> is 501-1000, <3> is 1001-1500, etc. I've often found it
useful to also make from attribute 20 (30? 40? your choice) on up multivalued,
with the 1st mv being the counter & then a subvalue list of item ids in the
2nd mv. This way, you can see a histogram of your record sizes, and make more
informed file sizing/typing decisions.

> Subject: RE: [U2] static/dynamic file(s) opinions wanted!> Date: Wed, 23 Jul
2008 07:55:32 -0400> From: [EMAIL PROTECTED]> To:
u2-users@listserver.u2ug.org> > Wow,> Super detailed explanation. I want to
avoid the Katrina effect but> > 1. I am not sure what to check for, I can run
ANALYZE.FILE and get the> below results (i his the right way to inspect my
"levees" or should I be> using something else? I am just used to using jRF -R
jASE report only)> and HASH.HELP and I am not sure what to use for dynamic
files to> "inspect" them.> > >ANALYZE.FILE PARTS> File name ..
PARTS> Pathname ... PARTS> File type ..
DYNAMIC> Hashing Algorithm .. GENERAL> No. of groups (modulus) 
240052 current ( minimum 1 )> Large record size .. 1600 bytes> Group
size . 2048 bytes> Load factors ... 80% (split),
50% (merge) and 35% (actual)> Total size . 907905024 bytes> >
Thanks for the great explanation > > Dougc> > Ps> > On a semi related subject,
I sure do miss fry's, there is not one here> in NC .> > >
-Original Message-> From: [EMAIL PROTECTED]>
[mailto:[EMAIL PROTECTED] On Behalf Of Dan Fitzgerald> Sent:
Tuesday, July 22, 2008 7:28 PM> To: u2-users@listserver.u2ug.org> Subject: RE:
[U2] static/dynamic file(s) opinions wanted!> > And once a dynamic file starts
splitting, writes become very> inefficient. I'd> say that the most efficient
file is a well-sized static one. You want it> "wide> & shallow". I'm not
against having a mod larger than the number of items> anymore, especially if
the file is going to grow. If I know that the> file is> going to grow to
1.5Gb, I'll create it that large. With today's storage> technologies, having
empty groups isn't all that bad a thing. The old> "empty> groups impact SELECT
statements" isn't as true as it once was, and if> you do> so many selects that
it's an issue, you might want to look into indices.> I saw> a 1Tb drive at
Fry's for $170 the other day, so space isn't an issue> anymore,> either.
Dynamic files used to be sold as "you don't have to maintain> them".> You do,
though. If your current mod is GT your minimum mod, you should> resize> up
with a different min mod. That's maintenance. The reason is that your> file>
has reached a point where you're adding data to a file with an> increasing>
chance that the group is already near the split %. When that happens,> your>
write turns into a beast. It has to go to whatever mechanism your OS has> for>
finding free space, attaching that, updating that table, dividing the> data
in> RAM between the two groups (old & new), read in the header (& there's>
only one> per file, no matter how many users want it), lock it, update it with
the> new> structure, write it, unlock it, write out the old group, write out
the> new> group. Undersized static files can be as bad, but dynamic files have
the> "Katrina effect". Everybody expects that the levees will hold, and FEMA>
will> rescue them, and dynamic files don't need maintenance, so they don't>
check to> be sure...> > > From: [EMAIL PROTECTED]> To

RE: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-23 Thread Dave Laansma
I'd suggest this subroutine.  Brief and to the point:

  SUBROUTINE HUB.SORT.B (ITAB)

  OTAB = ""

  FOR X = 1 TO DCOUNT(ITAB,@AM)
ELEM = ITAB
LOCATE ELEM IN OTAB BY "AL" SETTING PLACE ELSE NULL
OTAB = INSERT(OTAB,PLACE;ELEM)
  NEXT X

  ITAB = OTAB



  RETURN

  END

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
"Delivering Products, Services, and Innovative Solutions"

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jeff Marcos
Sent: Tuesday, July 22, 2008 7:35 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

We had the same issue back in the 90's. So a clever guy (Ed) that worked
with us wrote a small C program (on Unix) to do the sort. This also
included controlling/dependants fields. Any universe program could call
it, passing in the variables and returned the items sorted.

Speed is incredible. To this day it's still used and blitzes any
universe program methods in sorting large arrays. 

Regards,
Jeff Marcos

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E. Elwood
Sent: Wednesday, 23 July 2008 6:59 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

Hey, and don't forget to do a speed test.  You know, because LOCATE is
coded
as part of the OS it just *might* be faster than bubble or speed sort
options.

In fact, this was a topic on this list about 3 or 4 years ago and
someone
doing the speed test concluded LOCATE was in fact faster.

And no I don't remember who it was, or have a link to the thread (sorry)

:-)

Allen

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Israel, John R.
Sent: Tuesday, July 22, 2008 10:26
To: 'u2-users@listserver.u2ug.org'
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


Note that if the array is big, you would get much better performance by
loading it into a DIM array, so the sort of sort below, then put the
results
back into a dynamic array.

Dynamic arrays are much easier to use, but when used wisely, dimensioned
arrays can be MUCH faster.  This is true for any application, esp.
looping
through multi-values.

John Israel


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of DAVID WADEMAN
Sent: Tuesday, July 22, 2008 1:00 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

This is a UniData subroutine, but should work 

SUBROUTINE B42.SORT.ARRAY(SORTED,ARRAY)
* Bubble sort the elements of a dynamic array
* Created by: David Wademan
* Creation Date: 01/05/05
SORTED=""
VALUES = DCOUNT(ARRAY,@VM)
LOOP
   CHANGES = 0
   FOR X = 2 TO VALUES
  * For each adjacent pair
  ELEMENT1 = ARRAY<1,X-1>
  ELEMENT2 = ARRAY<1,X>

  IF ELEMENT2 < ELEMENT1 THEN
 * Swap if pair out of sequence
 ARRAY<1,X> = ELEMENT1
 ARRAY<1,X-1> = ELEMENT2
 CHANGES = 1
  END
   NEXT X
WHILE CHANGES DO REPEAT
SORTED=ARRAY
RETURN

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Tuesday, July 22, 2008 10:51 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] Basic SORT() Function not avail in UniVerse?

Hey,

I'm needing to SORT a dynamic array and apparently UniVerse doesn't have
this
Function.

Other MV implementations have this, such as D3 - "The sort() function
sorts an
attribute or value mark delimited str.exp in ascending order." [from
ePick]

There was also a user exit u1072 that did the same thing.

Does anyone have a work around or fast path to same thing  maybe I'm
missing something but can't see this in UV docs.

-Baker
---
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/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

The information contained in this email and any attached files are
strictly
private and confidential. This email should be read by the intended
addressee
only.  If the recipient of this message is not the intended addressee,
please
call Corporate Express Australia Limited on +61 2 9335 0555 or Corporate
Express
New Zealand Limited on +64 9 279 2555 and promptly delete this email and
any
attachments.  The intended recipient of this email may only use,
reproduce,
disclose or distribute the information contained in this email and any
attached
files with Corporate Express' permission. If you are not the intended
addressee,
you are strictly prohibited from using, reproducing, disclosing or
distri

RE: [U2] [uv] Secure Sockets / SSL

2008-07-23 Thread Glen Batchelor
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:owner-u2-
> [EMAIL PROTECTED] On Behalf Of Mike Pflugfelder
> Sent: Wednesday, July 23, 2008 7:17 AM
> To: u2-users@listserver.u2ug.org
> Subject: RE: [U2] [uv] Secure Sockets / SSL
> 
> Well, I'd like this to run from a Universe server, running on either
> Windows or Unix, not the client side.  From what I understand, current
> releases of Universe include secure sockets and therefore can make the
> call directly.
> 
> 

  Is there a specific reason why it has to be SSL directly from the UV
software? Postfix (and I'm sure Exim too - I'm a postfix guru) can be
configured to do SASL and TLS (with/without SSL) for incoming and outgoing
SMTP. Once you set up the TLS/SSL, all you'd have to do is configure a
simple transport by destination domain and it would do the rest for you
through the normal sendmail/mail command. People do this regularly when they
want to forward mail to a gmail account, which requires TLS/SSL and a SMTPS
port connection.

  I can understand the want to keep the code inside the center of the mass,
but such universal functionality would gain much better support and features
if it wasn't custom written in a UV app.

Regards,


Glen Batchelor
IT Director
All-Spec Industries
 phone: (910) 332-0424
   fax: (910) 763-5664
E-mail: [EMAIL PROTECTED]
   Web: http://www.all-spec.com
  Blog: http://blog.all-spec.com

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] static/dynamic file(s) opinions wanted!

2008-07-23 Thread Doug Chanco
Wow,
  Super detailed explanation.  I want to avoid the Katrina effect but

1. I am not sure what to check for, I can run ANALYZE.FILE and get the
below results (i his the right way to inspect my "levees" or should I be
using something else?  I am just used to using jRF -R jASE report only)
and HASH.HELP and I am not sure what to use for dynamic files to
"inspect" them.

>ANALYZE.FILE PARTS
File name ..   PARTS
Pathname ...   PARTS
File type ..   DYNAMIC
Hashing Algorithm ..   GENERAL
No. of groups (modulus)    240052 current ( minimum 1 )
Large record size ..   1600 bytes
Group size .   2048 bytes
Load factors ...   80% (split), 50% (merge) and 35% (actual)
Total size .   907905024 bytes

Thanks for the great explanation 

Dougc

Ps

On a semi related subject, I sure do miss fry's, there is not one here
in NC .


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dan Fitzgerald
Sent: Tuesday, July 22, 2008 7:28 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] static/dynamic file(s) opinions wanted!

And once a dynamic file starts splitting, writes become very
inefficient.  I'd
say that the most efficient file is a well-sized static one. You want it
"wide
& shallow". I'm not against having a mod larger than the number of items
anymore, especially if the file is going to grow. If I know that the
file is
going to grow to 1.5Gb, I'll create it that large. With today's storage
technologies, having empty groups isn't all that bad a thing. The old
"empty
groups impact SELECT statements" isn't as true as it once was, and if
you do
so many selects that it's an issue, you might want to look into indices.
I saw
a 1Tb drive at Fry's for $170 the other day, so space isn't an issue
anymore,
either.  Dynamic files used to be sold as "you don't have to maintain
them".
You do, though. If your current mod is GT your minimum mod, you should
resize
up with a different min mod. That's maintenance. The reason is that your
file
has reached a point where you're adding data to a file with an
increasing
chance that the group is already near the split %. When that happens,
your
write turns into a beast. It has to go to whatever mechanism your OS has
for
finding free space, attaching that, updating that table, dividing the
data in
RAM between the two groups (old & new), read in the header (& there's
only one
per file, no matter how many users want it), lock it, update it with the
new
structure, write it, unlock it, write out the old group, write out the
new
group. Undersized static files can be as bad, but dynamic files have the
"Katrina effect". Everybody expects that the levees will hold, and FEMA
will
rescue them, and dynamic files don't need maintenance, so they don't
check to
be sure...

> From: [EMAIL PROTECTED]> To: u2-users@listserver.u2ug.org>
Subject: RE:
[U2] static/dynamic file(s) opinions wanted!> Date: Tue, 22 Jul 2008
18:25:50
-0400> > Thanks Kevin but I am still missing something, if dynamic files
are
well> "dynamic" why would one need to resize them and how would one know
what
to> resize them to? I am sorry if this is basic stuff but I come from a
jBASE>
world and have never really used dynamic files. > > you cannot run
HASH.HELP
on a dynamic file and ANALYZE.FILE does not seem to> return anything
useful in
resizing, so how would one determaine (without> using a rool like the
ones
previously mentioned). I LOVE to use tools like> these BUT I also like
to know
how to do it manually in case I cannot use> these tool(s) (for whatever
reason).> > I guess the gist of my question(s) would be > > 1. how to
tell if
a dynamic file needs to be resized> 2. my other question about which is
better
seems to be that dynamic files> are if you have LOTS of files and they
grow a
lot and you cannot maintain> them> > thanks everyone!> > dougc> > >
-Original Message-> From: [EMAIL PROTECTED]>
[mailto:[EMAIL PROTECTED] On Behalf Of Kevin King>
Sent:
Tuesday, July 22, 2008 4:36 PM> To: u2-users@listserver.u2ug.org>
Subject: Re:
[U2] static/dynamic file(s) opinions wanted!> > Files that grow at a
controlled rate and especially files that could exceed> 2G are good
candidates
for dynamic files. Files that are cleared, or files> that have masses of
data
loaded or removed from them, are not. Work files,> for example, can be a
horrible use of dynamic files. As was stated earlier,> it's crucial that
the
original block size of the dynamic file be set> properly, otherwise the
file
could split way too often.> > On Tue, Jul 22, 2008 at 1:02 PM, Symeon
Breen
<[EMAIL PROTECTED]> wrote:> > > We use dynamic files no problem - yes I
suppose in certain circumstances> > there is an overhead, but it would
still
be faster than a badly sized> > static> > file. The conclusion we have
is if
you are really on top of your file> sizes> > and administrating things
daily
there is probably less need 

RE: [U2] [uv] Secure Sockets / SSL

2008-07-23 Thread Mike Pflugfelder
Well, I'd like this to run from a Universe server, running on either
Windows or Unix, not the client side.  From what I understand, current
releases of Universe include secure sockets and therefore can make the
call directly.


-Original Message-
From: Hona, David S [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, July 22, 2008 11:50 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [uv] Secure Sockets / SSL

Why re-invent the wheel when there are plenty of commerical SSL/TLS
packages out there already?
Such as SecureBlackBox suite (there are plenty more out there)...they
have downloadable trialware & code examples, etc.
http://www.eldos.com/sbb/net-ssl.php

Regards
David

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mike
Pflugfelder
Sent: Wednesday, 23 July 2008 12:53 PM
To: u2-users
Subject: [U2] [uv] Secure Sockets / SSL

I'm trying to write some software to send e-mail to a mail server.  I
would like to encrypt the connection using SSL or TLS.



Could someone point me in the direction of documentation or example code
that I could look at to get started with this.  It's all very new to me,
and I'm not getting anywhere with the Universe documentation.



For example, where do I start?  I know that my Exchange server supports
TLS encryption, and that when I connect, the traffic is unencrypted
until I issue the STARTTLS command.  Can I switch from an unencrypted
connection to an encrypted connection on the fly?



TIA



C. Michael Pflugfelder | Systems Manager | Keystone Information Systems,
Inc. | 856-722-0700 | [EMAIL PROTECTED] 
---
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/


RE: [U2] static/dynamic file(s) opinions wanted!

2008-07-23 Thread Symeon Breen
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dan Fitzgerald
Sent: 23 July 2008 00:28
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] static/dynamic file(s) opinions wanted!


I saw a 1Tb drive at Fry's for $170 the other day, so space isn't an issue
anymore,
either.  



Actually space can be an issue, most 'servers' will be raid and 1 or 2 u and
probably have all disks in placem and be in a hosting center - to increase
the disk space is a matter of a san, or changing all the disks in the box,
or extending partitions and rebuilding - certainly quite a chunk of
downtime




Symeon.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/