Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-61063

n1ql schema infer includes new "~meta" property on morpheus preflights

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • Major
    • Morpheus
    • Morpheus
    • analytics
    • 0

    Description

      Preflights of latest Morpheus manifest for Capella Analytics is yielding test failures re: schema inference, due to the addition of a ~meta property to each type inferred:

      e.g. for:

      WITH n1ql as (
           LET qOut=$result
           SELECT VALUE { 'flavor':inferSchema.Flavor,
                          'properties': (
                                    SELECT VALUE {'propertyName':property.name,
                                                  'propertyInfo': (
                                                                SELECT VALUE propertyInfo
                                                                FROM OBJECT_PAIRS(property.`value`) propertyInfo
                                                                WHERE propertyInfo.name = "type"
                                                                )
                                                 }
                                    FROM OBJECT_PAIRS(inferSchema.properties) AS property)
                        }
           FROM qOut AS inferSchema)
      SELECT VALUE n1ql;
      

      ..., I get:

      [
        {
          "properties": [
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "number"
                }
              ],
              "propertyName": "abv"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "brewery_id"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "category"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "description"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "number"
                }
              ],
              "propertyName": "ibu"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "name"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "number"
                }
              ],
              "propertyName": "srm"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "style"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "type"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "number"
                }
              ],
              "propertyName": "upc"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "updated"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "object"
                }
              ],
              "propertyName": "~meta"
            }
          ],
          "flavor": "`type` = \"beer\""
        },
        {
          "properties": [
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "array"
                }
              ],
              "propertyName": "address"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "city"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "code"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "country"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "description"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "object"
                }
              ],
              "propertyName": "geo"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "name"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "phone"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "state"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "type"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "updated"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "string"
                }
              ],
              "propertyName": "website"
            },
            {
              "propertyInfo": [
                {
                  "name": "type",
                  "value": "object"
                }
              ],
              "propertyName": "~meta"
            }
          ],
          "flavor": "`type` = \"brewery\""
        }
      ]
      

      e.g. https://analytics.jenkins.couchbase.com/job/cbas-cbcluster-test-jdk17/com.couchbase.analytics$cbas-cbserver-test/3997/testReport/junit/com.couchbase.analytics.test.cbserver/ClusterN1qlCbasCmpIT/test_ClusterN1qlCbasCmpIT_0__infer_schema__011_/

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              peeyush.gupta Peeyush Gupta
              michael.blow Michael Blow
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty