It's all about the answers!

Ask a question

Why do I get "No feature map for the path "mediumStringExtensions""


Markus Nosse (15112528) | asked May 07 '13, 10:52 a.m.
I have a custom attribute "Model" of type medium string that I want to query using "Children > Model". This query provokes an error, saying there is no feature map for the path "mediumStringExtension", see stack trace below.

What can I do to get the feature map in place?

Thanks,
Markus

RTC v 4.0.2

2013-05-07 16:41:08,404 [         http-bio-9443-exec-55] ERROR .team.repository.service.internal.ExecuteDataQuery  - Failing ast query
-----------
WorkItemQueryModel r = WorkItemQueryModel.ROOT;
AstQuery q = (AstQuery) IItemQuery.FACTORY.newInstance(r);
q.distinct();
q.filter(r.projectArea()._eq(q.newItemHandleArg())._and(r.workItemType()._eq(q.newStringArg())._and(r.internalSeverity()._eq(q.newStringArg())._or(r.internalSeverity()._eq(q.n
ewStringArg())))._and(._exists(<error occurred here>
-----------
IDynamicQueryModel d = ItemUtil.itemTypeFor("WorkItem", "com.ibm.team.workitem").getQueryModel();
IItemQuery q = IItemQuery.FACTORY.newInstance((IDynamicItemQueryModel) d);
q.distinct();
q.filter(((IUUIDField) d.getReference("projectArea"))._eq(q.newItemHandleArg())._and(((IStringField) d.getReference("workItemType"))._eq(q.newStringArg())._and(((IStringField)
 d.getReference("internalSeverity"))._eq(q.newStringArg())._or(((IStringField) d.getReference("internalSeverity"))._eq(q.newStringArg())))._and(ItemUtil.itemTypeFor("<error oc
curred here>
-----------
parm 1: [UUID _sxbMcLTxEeKTL4UhfFs9oA]parm 2: com.ibm.stg.workItemType.stgDefectparm 3: severity.literal.l4parm 4: severity.literal.l5parm 5: %SOMEVAL%failed to generate s
ql!
2013-05-07 16:41:08,407 [         http-bio-9443-exec-55] ERROR .team.repository.service.internal.ExecuteDataQuery  - InternalRepositoryException processing query
com.ibm.team.repository.common.InternalRepositoryException: No feature map for the path "mediumStringExtensions"
        at com.ibm.team.repository.service.internal.query.sqlgen.TableJoins.addTablesFromPath(TableJoins.java:191)
        at com.ibm.team.repository.service.internal.query.sqlgen.TableJoins.initialize(TableJoins.java:87)
        at com.ibm.team.repository.service.internal.query.sqlgen.TableJoins.<init>(TableJoins.java:63)
        at com.ibm.team.repository.service.internal.query.sqlgen.QueryGenerator.tableJoins(QueryGenerator.java:445)
        at com.ibm.team.repository.service.internal.query.sqlgen.SubqueryGenerator.setToInnerJoins(SubqueryGenerator.java:75)
        at com.ibm.team.repository.service.internal.query.sqlgen.SubqueryGenerator.toSqlOn(SubqueryGenerator.java:60)
        at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.addExists(PredicateGenerator.java:212)
        at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.addSimplePredicate(PredicateGenerator.java:126)
        at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.addPredicate(PredicateGenerator.java:97)
        at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.addBinaryConditional(PredicateGenerator.java:780)
        at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.addPredicate(PredicateGenerator.java:95)
        at com.ibm.team.repository.service.internal.query.sqlgen.PredicateGenerator.toSqlOn(PredicateGenerator.java:75)
        at com.ibm.team.repository.service.internal.query.sqlgen.WhereClauseGenerator.addFilter(WhereClauseGenerator.java:61)
        at com.ibm.team.repository.service.internal.query.sqlgen.WhereClauseGenerator.toSqlOn(WhereClauseGenerator.java:37)
        at com.ibm.team.repository.service.internal.query.sqlgen.QueryGenerator.toSqlOn(QueryGenerator.java:277)
        at com.ibm.team.repository.service.internal.query.sqlgen.QueryGenerator.toSqlQuery(QueryGenerator.java:57)
        at com.ibm.team.repository.service.internal.query.sqlgen.SqlQueryGenerator.generate(SqlQueryGenerator.java:71)
        at com.ibm.team.repository.service.internal.ExecuteDataQuery.doServerQueryData(ExecuteDataQuery.java:84)
        at com.ibm.team.repository.service.internal.ExecuteDataQuery.doQueryData(ExecuteDataQuery.java:122)
        at com.ibm.team.repository.service.internal.RdbRepositoryDataMediator.queryData(RdbRepositoryDataMediator.java:900)
        at com.ibm.team.repository.service.internal.AbstractQueryService.performQuery(AbstractQueryService.java:70)
        at com.ibm.team.repository.service.internal.QueryService.doExecuteItemQuery(QueryService.java:336)
        at com.ibm.team.repository.service.internal.QueryService.access$0(QueryService.java:331)
        at com.ibm.team.repository.service.internal.QueryService$1.run(QueryService.java:178)
        at com.ibm.team.repository.service.internal.QueryService$1.run(QueryService.java:1)
        at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:488)
        at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$1.run(RepositoryDatabase.java:312)
        at com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:381)
        at sun.reflect.GeneratedMethodAccessor135.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)


Comments
Markus Nosse commented May 07 '13, 4:13 p.m.

Since this has been working in previous versions of RTC, I have created a defect for this problem: https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=264186

Accepted answer


permanent link
Stephanie Bagot (2.1k512) | answered May 21 '13, 11:47 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
This is a known defect, filed under APAR PM89013.
The following defect will be updated once development has triaged the defect to be fixed in a release
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=264186
Stephanie Bagot selected this answer as the correct answer

Your answer


Register or to post your answer.