home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / database / informix / 2445 < prev    next >
Encoding:
Internet Message Format  |  1992-11-17  |  3.2 KB

  1. Path: sparky!uunet!charon.amdahl.com!pacbell.com!ames!olivea!gossip.pyramid.com!pyramid!infmx!cortesi
  2. From: cortesi@informix.com (David Cortesi)
  3. Newsgroups: comp.databases.informix
  4. Subject: Re: error message numbers change (was various other topics)
  5. Message-ID: <1992Nov16.202113.16597@informix.com>
  6. Date: 16 Nov 92 20:21:13 GMT
  7. References: <OLIVER.92Nov10221419@snoopy.infix.de> <1992Nov11.203538.29976@informix.com> <OLIVER.92Nov13142149@snoopy.infix.de>
  8. Sender: news@informix.com (Usenet News)
  9. Organization: Informix Software, Inc.
  10. Lines: 76
  11.  
  12. I rashly asserted,
  13.  
  14. >> Purely a side issue, but this is in general not true. Error
  15. >> numbers are very stable. 
  16. >> [...]
  17. >> But as long as the error cause is the same, the number is the same.
  18. >
  19. Oliver Okrongli calls me to account:
  20.  
  21. >In I-SE 4.0 the error number for "statement not available" was -515.
  22. >This changed to -554 in I-SE 4.1 whithout any obvious reason.  Since
  23. >our code is designed to work with I-SE and I-OnLine whithout
  24. >recompilation one of the first things in database initialization is:
  25. >
  26. >   $set isolation to dirty read;
  27. >   if (!db_stmt_not_available())
  28. >      db_error("set isolation to dirty read");
  29. >
  30. >To work with both releases the definition of db_stmt_not_available had
  31. >to be changed:
  32. >
  33. >   #define db_stmt_not_available()  (db_code() == -515 || db_code() == -554)
  34.  
  35. You are right, I was wrong, it is even worse than you say, and I have
  36. no good explanation.
  37.  
  38. Previous to 4.0 there were three messages, -513 (statement not available
  39. with Informix-Turbo) and -515 (statement not available with non-Turbo).
  40.  
  41. Clearly both were not needed.  As of release 4.0 their texts were
  42. made the same: here are the actual entries from the .msg file:
  43.   .-513
  44.   Statement not available with this database engine.
  45.   ...
  46.   .-515
  47.   Statement not available with this database engine.
  48.   ...
  49.   .-554
  50.   Syntax disallowed in this database engine.
  51.  
  52. The distinction between them is not clear; however -513 and -515
  53. presumably refer to statement verbs such as CREATE AUDIT or SET
  54. ISOLATION, while -554 refers to a single clause such as LOCK MODE
  55. {PAGE|ROW} within a statement that both engines otherwise support.
  56.  
  57. In version 4.1, -515 was made redundant. From the 4.1 .msg file:
  58.  
  59.    #               The following message numbers are not being used
  60.    #               and are commented out:
  61.    ...
  62.    #                 515 - Statement not available with this database engine.
  63.    ...
  64.    .-513
  65.    Statement not available with this database engine.
  66.    #.-515
  67.    #Statement not available with this database engine.
  68.  
  69. In version 5.0, -513 apparently still exists and -515 has been reused
  70. for a constraint error (-554 is unchanged).  From that .msg file:
  71.  
  72.   .-513
  73.   Statement not available with this database server.
  74.   ...
  75.   .-515
  76.   Constraint %s has already been dropped.
  77.   ...
  78.   .-554
  79.   Syntax disallowed in this database server.
  80.  
  81. However, although -513 is still in the message file, the manual
  82. (Informix Error Messages, edition with "December 1991" on the cover)
  83. under error -513 says "this message is replaced by error -554 starting
  84. with software level 4.1."
  85.  
  86. The only rationale I can imagine for this change is to release yet
  87. another number for future use.  In your place I would also feel irked.
  88.