[net.database] Ingres text fields

michaelm@bcsaic.UUCP (07/03/86)

In article <235@hdsvx1.UUCP> hoffman@hdsvx1.UUCP (Richard Hoffman) writes:
>Ingres does offer primitive data compression for text strings (the supress 
>trailing blanks and nulls using run-length compaction) in the base tables
>themselves, not just the indexes.  This can be of great utility in a long
>text field (such as an abstract) that you do not intend to query directly.

Long text strings?  I've wanted that... Our documentation (dated Dec. 1977!)
says that a tuple can only be 498 bytes (512 byte pages - overhead), so a text
field could only be 498 bytes long (and then only if you were willing to limit
yourself to one text field in the tuple, clearly not a practical situation).
The version of Ingres we (are going to) use is quite a bit more recent than
that (I don't have the date right here); it is a "public domain" version, not
the commercially available version.  Has the 498 byte limit been overcome 
in more recent versions of Ingres?
-- 
Mike Maxwell
Boeing Artificial Intelligence Center
	...uw-beaver!uw-june!bcsaic!michaelm

hoffman@hdsvx1.UUCP (Richard Hoffman) (07/16/86)

In article <235@hdsvx1.UUCP> I wrote:
>>Ingres does offer primitive data compression for text strings (the supress 
>>trailing blanks and nulls using run-length compaction) in the base tables
>>themselves, not just the indexes.  This can be of great utility in a long
>>text field (such as an abstract) that you do not intend to query directly.
 
In article <590@bcsaic.UUCP> Mike Maxwell responded with:
>Long text strings?  I've wanted that... Our documentation (dated Dec. 1977!)
>says that a tuple can only be 498 bytes (512 byte pages - overhead), so a text
>field could only be 498 bytes long (and then only if you were willing to limit
>yourself to one text field in the tuple, clearly not a practical situation).
>The version of Ingres we (are going to) use is quite a bit more recent than
>that (I don't have the date right here); it is a "public domain" version, not
>the commercially available version.  Has the 498 byte limit been overcome 
>in more recent versions of Ingres?

Ingres allows tuples to contain up to 2008 bytes.  An individual attribute
(column) of type text() may contain up to 2000 bytes.  This information is
from the V3.0 documentation (10/1/84), but I know that it is still true for
V4.0, and that it was true for V2.0.  Prior to that, there was no text()
type, and the longest available attribute type was c255.

Even the republican party has changed since December of 1977, and Ingres is
no exception.  But remember that there are two DBMS's that go by the name
of Ingres: the RTI version (of which I have been speaking) and the old
Berkeley version, which still comes with BSD UNIX and ULTRIX systems.  This
may be the system you have, in which case you will probably have to put
sown serious money to get "updated." (i.e., buy the new DBMS).  The old
system, trendsetter though it was in many ways, had a lot of serious problems,
some of which you can read about in Stonebraker's article "Requiem for a
Data Base."  The commercial version (RTI's) is a different beast altogether,
and provides *many* excellent features for both naive and sophisticated
users.
-- 
 Richard Hoffman                | "If you take a starving dog from the street
 Schlumberger Well Services     | and make him prosperous, the dog will not
 hoffman%hdsvx1@slb-doll.csnet  | bite you.  This is the principle difference
 PO Box 2175, Houston, TX 77252 | between a dog and a man." -- M. TWAIN

bradbury@oracle.UUCP (Robert Bradbury) (07/21/86)

In article <590@bcsaic.UUCP>, michaelm@bcsaic.UUCP (michael maxwell) writes:
> 
> Long text strings?  I've wanted that... Our documentation (dated Dec. 1977!)
> says that a tuple can only be 498 bytes (512 byte pages - overhead), so a text
> field could only be 498 bytes long (and then only if you were willing to limit
> yourself to one text field in the tuple, clearly not a practical situation).
> The version of Ingres we (are going to) use is quite a bit more recent than
> that (I don't have the date right here); it is a "public domain" version, not
> the commercially available version.  Has the 498 byte limit been overcome 
> in more recent versions of Ingres?

In the commercial version of Ingres I'm pretty sure they use 2K data blocks
and allow longer strings.  (Or you could use the RAW datatype in Oracle
and get up to 65K bytes in a row).

-- 
Robert Bradbury
Oracle Corporation
(206) 364-1442                            {ihnp4!muuxl,hplabs}!oracle!bradbury