Feedback
Did this article resolve your question/issue?

   

Article

Schema update succeeds with user having inadequate permissions despite 14328 and 14322

« Go Back

Information

 
TitleSchema update succeeds with user having inadequate permissions despite 14328 and 14322
URL NameP144623
Article Number000148120
EnvironmentProduct: OpenEdge
Version: 10.1x, 10.2A, 10.2B01, 10.2B02, 10.2B03
OS: All supported platforms
Question/Problem Description
Updating database schema with user having inadequate permissions causes errors 14328 and 14322
Error 14328 or 14322 updating a database schema, but changes are committed
User should not be able to update the table according to their "CAN-*" security permissions
IDXCHECK reports index corruption on the new indexed field.
Steps to Reproduce
Clarifying Information
1 - Create a sports database
$   prodb sports sports

2 - Set the database options and define the runtime security.
DO  TRANS:
    FOR EACH _db-option WHERE _db-option-code = "_pvm.RuntimePermissions".
        _db-option-value = "YES".
    END.
END.

3 - Add two users (user1, user2) through data administration > Security > Users.

4 - Make user1 the privileged user with all rights to the customer table:
cUser = "user1".

SETUSERID(cUser,cUser).

/* set permissions on Customer table */
DO TRANS:                         
    
    FIND FIRST _File WHERE _File-name = "customer".
    
    ASSIGN _Can-read = cUser
           _Can-write = cUser
           _can-create = cUser
           _Can-delete = cUser
           _Can-dump = cUser
           _Can-Load = cUser.
END.

5 - Connect as the unprivileged user2, and enter in the data administration
$  prowin32 sports -U user2 -P user2 -p _admin.p

6 - Add a field and index to the customer table with a .df.
permissions error 14328 and 14322, but the schema change is added.
ADD FIELD "F1" OF "customer" as "character"
  DESCRIPTION "test"
  FORMAT "x(12)"
  INITIAL ""

ADD INDEX "f1" ON "customer" 
  AREA "Customer Index Area"
  INDEX-FIELD "F2" ASCENDING
Error MessageUpdate permission denied (14328)
Read permission denied (14322)
Defect/Enhancement NumberDefect OE00183978 / PSC00213323
Cause
The fact that errors 14322 and 14328 are shown and that the transaction is committed despite of these errors is logged as Defect OE00183978 / PSC00213323.

The errors result when:
  1. Trying to write the template record to the database, the client should have been disconnected but was not leaving the schema in an inconsistent state.
  2. Trying to read the records from the table to generate the key for the new active index
Resolution
Upgrade to OpenEdge 10.2B04 where the runtime permission check for a template record will raise the permission errors and prevent the schema update from ocurring.
 
Workaround
Restore the database from the backup taken prior to schema upgrade and
repeat the schema update with a userid that has adequate permissions.
Notes
Last Modified Date4/4/2019 2:14 PM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.