Uploaded image for project: 'Crucible'
  1. Crucible
  2. CRUC-5177

Audit entity fields / db columns to protect against empty strings or nulls where unexpected under Oracle

XMLWordPrintable

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      Oracle treats empty strings and nulls as equivalent. Insert an empty string, Oracle replaces it with a null.

      Our entities were not designed with this in mind. We need to audit their use to ensure:

      • empty strings are never inserted into not-null columns
      • null values returned from Oracle, through Hibernate, and then back to our code do not cause NPEs

      Columns to audit:

      CRU_COMMENT CRU_MESSAGE
      CRU_REVIEW CRU_NAME
      CRU_REVISION CRU_AUTHOR_NAME
      CRU_CHANGESET_COMMENT CRU_CSID
      CRU_CHANGESET_COMMENT CRU_MESSAGE
      CRU_CHANGESET_COMMENT CRU_REPOSITORY
      CRU_COMMITTER_USER_MAPPING CRU_COMMITTER_NAME
      CRU_COMMITTER_USER_MAPPING CRU_REPOSITORY_NAME
      CRU_CONTENT_ROOT CRU_CONTENT_ROOT_REP
      CRU_CONTENT_ROOT CRU_CONTENT_ROOT_PATH
      CRU_INLINE_COMMENT_TO_FRX_REV CRU_LINE_RANGE
      CRU_LOGITEM CRU_ACTION
      CRU_NOTIFICATION CRU_NOTE_TYPE
      CRU_PS_ALL_USER CRU_ACTION_NAME
      CRU_PS_ANON CRU_ACTION_NAME
      CRU_PS_GROUP CRU_ACTION_NAME
      CRU_PS_GROUP CRU_PID
      CRU_PS_REVIEW_ROLE CRU_ACTION_NAME
      CRU_PS_REVIEW_ROLE CRU_PID
      CRU_PS_USER CRU_ACTION_NAME
      CRU_PS_USER CRU_PID
      CRU_RECENTLY_VISITED CRU_ENTITY_ID
      CRU_RECENTLY_VISITED CRU_ITEM_TYPE
      CRU_RECENTLY_VISITED CRU_USER_NAME
      CRU_REVPERMAID CRU_PROJ_KEY
      CRU_STATE_CHANGE CRU_NEW_STATE
      CRU_USER CRU_USER_NAME
      CRU_BASE_STAR_MODEL CRU_ITEM_TYPE
      CRU_USER_APP_LINK CRU_APP_LINK_ID
      CRU_FR_DETAIL CRU_NAME
      CRU_REVIEW CRU_DESCRIPTION
      CRU_LOGITEM CRU_OLD_VALUE
      CRU_LOGITEM CRU_DESCRIPTION
      CRU_LOGITEM CRU_NEW_VALUE
      CRU_PATCH CRU_ANCHOR_PATH
      CRU_PROJECT CRU_DEFAULT_OBJECTIVES
      CRU_STORED_PATH CRU_PATH
      CRU_BASE_STAR_MODEL CRU_LABEL
      CRU_BASE_STAR_MODEL CRU_STRING_KEY1
      CRU_BASE_STAR_MODEL CRU_STRING_KEY2
      CRU_BASE_STAR_MODEL CRU_STRING_KEY3
      CRU_BASE_STAR_MODEL CRU_STRING_KEY4
      CRU_BASE_STAR_MODEL CRU_STRING_KEY5
      CRU_BASE_STAR_MODEL CRU_TEXT_KEY1
      CRU_BASE_STAR_MODEL CRU_TEXT_KEY2
      CRU_BASE_STAR_MODEL CRU_USER_NAME
      CRU_COMMENT CRU_COMMENT_ISSUE_KEY
      CRU_COMMITTER_USER_MAPPING CRU_USER_NAME
      CRU_FIELD CRU_FIELD_SCOPE
      CRU_FIELD CRU_NAME
      CRU_FIELD CRU_STRING_VAL
      CRU_FR_DETAIL CRU_VALUE
      CRU_INVITEES CRU_ADDRESS
      CRU_LOGITEM CRU_ENTITY_STRING
      CRU_METRIC_DEFINITION CRU_XML
      CRU_NOTIFICATION CRU_NOTE
      CRU_PATCH CRU_ANCHOR_SOURCE
      CRU_PERM_SCHEME CRU_NAME
      CRU_PROJECT CRU_DEFAULT_REPOSITORY_NAME
      CRU_PROJECT CRU_NAME
      CRU_PROJECT CRU_PROJ_KEY
      CRU_PROJ_ALLOWED_GRP CRU_GROUP_NAME
      CRU_PROJ_DEFAULT_GRP CRU_GROUP_NAME
      CRU_REVIEW CRU_DEFAULT_SOURCE
      CRU_REVIEW CRU_ISSUE_KEY
      CRU_REVIEW CRU_STATE
      CRU_REVIEW CRU_SUMMARY
      CRU_REVISION CRU_FILE_TYPE
      CRU_REVISION CRU_REVISION
      CRU_REVISION CRU_REVISION_DISPLAY_NAME
      CRU_REVISION CRU_SOURCE_NAME
      CRU_UPLOAD_ITEM CRU_CHARSET
      CRU_UPLOAD_ITEM CRU_ORIGINAL_CONTENT_TYPE
      CRU_UPLOAD_ITEM CRU_ORIGINAL_NAME
      CRU_UPLOAD_ITEM CRU_DESCRIPTION

              Unassigned Unassigned
              mstudman Michael Studman (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - 160h
                  160h
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 85.65h Time Not Required
                  85.65h