Browse Prior Art Database

Locale-Based Buffer Allocation in DFSORT

IP.com Disclosure Number: IPCOM000118073D
Original Publication Date: 1996-Sep-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 2 page(s) / 71K

Publishing Venue

IBM

Related People

Giulianelli, JJ: AUTHOR [+2]

Abstract

Disclosed is a method of determining the buffer requirements for culturally correct sorting in DFSORT where memory management and performance sensitivity are respected.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Locale-Based Buffer Allocation in DFSORT

      Disclosed is a method of determining the buffer requirements
for culturally correct sorting in DFSORT where memory management and
performance sensitivity are respected.

      In providing single source code capable of performing
culturally-correct sorting for any country, as opposed to writing
unique code for each country, DFSORT must allocate a buffer large
enough to contain the results of string transformation performed by
the CSFSTXF Application Program Interface (API).  In most cases, this
results in an  expansion of the internal size of the input string.
DFSORT must have the ability to allocate a buffer large enough to
contain any transformed  string having only knowledge of the length
of the input string and not  the string itself.  The proposed
solution defines a mechanism that ensures an adequately sized buffer
is allocated as required by DFSORT memory management and is sensitive
to DFSORT performance considerations.

      The proposal uses information from the locales, which indicate
the collation requirements for each country/language combination,
information from declarations in the programming language headers,
some information about the input string, and information about how
CSFSTXF works to arrive at the optimum buffer allocation for
processing.  The end result is a table that associates a locale with
either a small, medium or large buffer allocation.

      First, all of the currently available locales were examined to
determine the number of collation passes that each incorporated.
This information is vital in providing culturally-correct sorting.
The presence, or equally importantly the absence, of ligatures in
each locale  was also noted.

      Next, the CSFSTFX API was examined in detail.  CSFSTXF returns
a single result where each collation pass data element is separated
from its neighbor and, in addition, the whole result is ended by a
terminator.  A maximum of four collation passes in CSFSTFX are deemed
to adequately support the current...