{"record":{"id":"469b295372840286","repo":"cube-js/cube","slug":"unexpected-member-type-type","errorCode":null,"errorMessage":"Unexpected member type: ${type}","messagePattern":"Unexpected member type: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/cubejs-schema-compiler/src/compiler/CubeSymbols.ts","lineNumber":1161,"sourceCode":"          ...(resolvedMember.mask !== undefined ? { mask: resolvedMember.mask } : {}),\n          ...(resolvedMember.links ? { links: resolvedMember.links } : {}),\n          ...(resolvedMember.synthetic ? { synthetic: true } : {}),\n        };\n      } else if (type === 'segments') {\n        memberDefinition = {\n          sql,\n          meta: memberRef.override?.meta || resolvedMember.meta,\n          description: memberRef.override?.description || resolvedMember.description,\n          title: memberRef.override?.title || resolvedMember.title,\n          aliases: resolvedMember.aliases,\n        };\n      } else if (type === 'hierarchies') {\n        memberDefinition = {\n          title: memberRef.override?.title || resolvedMember.title,\n          levels: resolvedMember.levels,\n        };\n      } else {\n        throw new Error(`Unexpected member type: ${type}`);\n      }\n      return [memberRef.name || path[path.length - 1], memberDefinition];\n    });\n  }\n\n  /**\n   * This method is mainly used for evaluating RLS conditions and filters.\n   * It allows referencing security_context (lowercase) in dynamic conditions or filter values.\n   *\n   * It currently does not support async calls because inner resolveSymbol and\n   * resolveSymbolsCall are sync. Async support may be added later with deeper\n   * refactoring.\n   */\n  public evaluateContextFunction(cube: any, contextFn: any, context: any = {}) {\n    return this.resolveSymbolsCall(contextFn, (name: string) => {\n      const resolvedSymbol = this.resolveSymbol(cube, name);\n      if (resolvedSymbol) {\n        return resolvedSymbol;","sourceCodeStart":1143,"sourceCodeEnd":1179,"githubUrl":"https://github.com/cube-js/cube/blob/7d981676b36392fec34088b9afab6bdcad40207c/packages/cubejs-schema-compiler/src/compiler/CubeSymbols.ts#L1143-L1179","documentation":"Reached the default arm of the member-type switch in generateIncludeMembers: the caller passed a type string other than 'measures', 'dimensions' or 'segments'. The input at fault is the type argument, not any schema member. In practice this signals an API misuse or a version mismatch between packages rather than a bad data model.","triggerScenarios":"Thrown at packages/cubejs-schema-compiler/src/compiler/CubeSymbols.ts:1161 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass one of the supported member types: measures, dimensions, or segments","If calling from custom code, align with the version of cubejs-schema-compiler in use"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7d981676b36392fec34088b9afab6bdcad40207c","analyzedAt":"2026-09-02T03:45:10.400Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}