Uploaded image for project: 'RAML Module Builder'
  1. RAML Module Builder
  2. RMB-830

foreign key non-alias sub-field query causes "missing FROM-clause" error

    XMLWordPrintable

Details

    • CP: sprint 112
    • 1
    • Core: Platform
    • R1 2021 Bug Fix

    Description

      When this foreign key entry in schema.json is used:

      {
        "fieldName": "copyrightTracking.copyrightStatusId",
        "tableAlias": "copyrightStatus",
        "targetTable": "coursereserves_copyrightstates",
        "targetTableAlias": "copyrightStatus",
        "tOps": "ADD"
      }
      

      And you run this CQL query:
      copyrightTracking.copyrightStatusId=="79bb8b8b-94a4-4acd-9243-7ef65e9fecfe"
      Then you get this error:

      { "message": "missing FROM-clause entry for table \"copyrighttracking\"", "severity": "ERROR", "code": "42P01", "internalPosition": "70", "internalQuery": "EXPLAIN SELECT * FROM diku_mod_courses.coursereserves_reserves WHERE copyrightTracking.copyrightStatusId='79bb8b8b-94a4-4acd-9243-7ef65e9fecfe'", "where": "PL/pgSQL function count_estimate_smart2(bigint,bigint,text) line 7 at FOR over EXECUTE statement\nPL/pgSQL function count_estimate(text) line 7 at assignment", "file": "parse_relation.c", "line": "3239", "routine": "errorMissingRTE" }
      

      copyrightTracking.copyrightStatusId should be
      copyrightTracking_copyrightStatusId

      RMB needs to replace . by _ in the fieldName when generating SQL.

      See UICR-114 for bug report.

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                julianladisch Julian Ladisch
                julianladisch Julian Ladisch
                Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases