🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.database
Article #26

Re: Unify Database Problems

#26
From: Steven List
Date: Fri, 11 Oct 1985 15:12
70 lines
4729 bytes
    The  following  is  written  in  response  to  the  article  posted   by
    steve@tellab3.UUCP.    That  article,  <293@tellab3.UUCP>,  contained  a
    locally written memo by Michael Skowronski lambasting UNIFY.

    We have been using UNIFY here at Benetics for  over  three  years.   Our
    relationship  with  that  company goes back to when they were just a few
    people with a  relatively  new  product.   During  the  course  of  that
    relationship we too have had our complaints.  However, I feel that UNIFY
    provides the best performance and capability of any dbms on  the  market
    for our needs.

    I would like to respond to Michael's points in order  (although  perhaps
    not all of them).

    "The first major bug...record locking scheme...just does not work."   He
    alludes  to  colliding  when  READing records.  Who cares if you collide
    when reading?  The locking is for concurrent updates, right?  I guess it
    does  matter  if you are doing a read before update.  Our experience has
    been that we have never, to our knowledge, had such a collision.

    "...UNIFY does not check itself when attempting to access a  record...".
    There are two problems here: what does Michael mean by "access" and what
    does he mean by "check".  UNIFY  does  check  that  the  application  is
    accessing  a  real  record when the acckey(), seqacc(), and other random
    and sequential functions are used.  A return value indicates the success
    or  failure of the call.  If, however, the programmer ignores the return
    value and proceeds to attempt a gfield(), UNIFY will indeed exit because
    there is no current record when an access fails.

    I too complained about the manner in which UNIFY exits when encountering
    what  they  treat  as  an  unrecoverable  error.   However, upon further
    experience, I found that their exits were appropriate.  The major change
    we  made  (via  reading  their documentation) was to replace their error
    routines with our own that do a core dump (a process kills  itself  with
    an EMT signal).

    In Michael's section on "Implementation  drawbacks",  my  impression  is
    that  there  are  some valid gripes, but they are all minor and at worst
    irritating.  There is one error in his statement: he says that there  is
    one routine to read the first record in the database and another to read
    all of the others.  This is not so!  Both routines are seqacc(),  but  a
    different  argument  is  passed  to indicate FIRST, NEXT, PREV, or LAST.
    This is a very reasonable approach.  The only drawback that I can see is
    that it would be nice if NEXT meant first if the record type has not yet
    been accessed.  Hardly a major inconvenience.

    Finally, there is "Poor  Implementation  and  Support".   I  am  totally
    confused  by  the  statement  that  "Many  of  the routines supplied for
    sorting and searching just don't work as documented.".  I  have  written
    several   programs  that  use  the  sorted  sets  and  they  work  quite
    successfully.  I have not used unisel and several  other  facilities  so
    cannot comment on them.  I do suspect that Michael has some program bugs
    that he is attributing to UNIFY.  I will make an open offer here to help
    clarify the problems.  While I have no vested interest in UNIFY or their
    products, I do have believe that the product is  good,  getting  better,
    and worth defending.

    As for the support provided by UNIFY, I too have my complaints.  I  have
    found,  however, that the support personnel are always willing to listen
    and attempt to resolve a problem.  I have had problems  that  they  have
    been unable to reproduce.  I cannot fault them for not solving a problem
    that they cannot reproduce.  I do  not  solve  problems  that  I  cannot
    reproduce.
-- 
***
*  Steven List @ Benetics Corporation, Mt. View, CA
*  Just part of the stock at "Uncle Bene's Farm"
*  {cdp,greipa,idi,oliveb,sun,tolerant}!bene!luke!itkin
***
Technical Details
Message-ID: <341@luke.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!allegra!oliveb!bene!luke!itkin
References: <293@tellab3.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site luke.UUCP
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!allegra!oliveb!bene!luke!itkin
From: itkin@luke.UUCP (Steven List)
Newsgroups: net.database
Subject: Re: Unify Database Problems
Message-ID: <341@luke.UUCP>
Date: Fri, 11-Oct-85 11:12:19 EDT
Article-I.D.: luke.341
Posted: Fri Oct 11 11:12:19 1985
Date-Received: Mon, 14-Oct-85 03:25:08 EDT
References: <293@tellab3.UUCP>
Reply-To: itkin@luke.UUCP (Steven List)
Organization: Benetics Corp, Mt.View, CA
Lines: 70
Keywords: UNIFY dbms