I'm running Mondrian on top of Sybase IQ and use Rex as an OLAP client. I connect with no problems, but when I attempt to explore/discover dimensions I get the error below. Sybase correctly says that the select statement is invalid, I tried to run the statement on an SQL client IDE and get the following error: illegal character "]". Is there a way to disable/change these brackets?
This is my Time dimension definition:
<Dimension name="Time" type="TimeDimension">
<Hierarchy hasAll="false" primaryKey="sk">
<Table name="dim_dates" />
<Level name="Year" column="year" type="Integer" uniqueMembers="true"
levelType="TimeYears" />
<Level name="Quarter" column="quarter" uniqueMembers="false"
levelType="TimeQuarters" />
<Level name="Month" column="month" uniqueMembers="false" type="Integer"
levelType="TimeMonths" />
<Level name="Day" column="day" uniqueMembers="false" type="Integer"
levelType="TimeDays" />
</Hierarchy>
</Dimension>
Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: while counting members of level '[Time].[Day]; sql=[select "dim_dates"."day" as "c0", convert(varchar, ["dim_dates"."day"]) as "c1", convert(varchar, ["dim_dates"."day", convert(varchar, ["dim_dates"."day"])]) as "c2", convert(varchar, ["dim_dates"."day", convert(varchar, ["dim_dates"."day"]), convert(varchar, ["dim_dates"."day", convert(varchar, ["dim_dates"."day"])])]) as "c3" from "dim_dates" "dim_dates" order by CASE WHEN "dim_dates"."day" IS NULL THEN 1 ELSE 0 END, "dim_dates"."day" ASC, CASE WHEN convert(varchar, ["dim_dates"."day"]) IS NULL THEN 1 ELSE 0 END, convert(varchar, ["dim_dates"."day"]) ASC, CASE WHEN convert(varchar, ["dim_dates"."day", convert(varchar, ["dim_dates"."day"])]) IS NULL THEN 1 ELSE 0 END, convert(varchar, ["dim_dates"."day", convert(varchar, ["dim_dates"."day"])]) ASC, CASE WHEN convert(varchar, ["dim_dates"."day", convert(varchar, ["dim_dates"."day"]), convert(varchar, ["dim_dates"."day", convert(varchar, ["dim_dates"."day"])])]) IS NULL THEN 1 ELSE 0 END, convert(varchar, ["dim_dates"."day", convert(varchar, ["dim_dates"."day"]), convert(varchar, ["dim_dates"."day", convert(varchar, ["dim_dates"."day"])])]) ASC]
at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:977) [mondrian-3.9.0.0-213.jar:]
at mondrian.olap.Util.newInternal(Util.java:2404) [mondrian-3.9.0.0-213.jar:3.9.0.0-213]
at mondrian.olap.Util.newError(Util.java:2420) [mondrian-3.9.0.0-213.jar:3.9.0.0-213]
at mondrian.rolap.SqlStatement.handle(SqlStatement.java:352) [mondrian-3.9.0.0-213.jar:]
at mondrian.rolap.SqlStatement.execute(SqlStatement.java:252) [mondrian-3.9.0.0-213.jar:]
at mondrian.rolap.RolapUtil.executeQuery(RolapUtil.java:350) [mondrian-3.9.0.0-213.jar:]
at mondrian.rolap.RolapUtil.executeQuery(RolapUtil.java:303) [mondrian-3.9.0.0-213.jar:]
at mondrian.rolap.SqlMemberSource.getMemberCount(SqlMemberSource.java:143) [mondrian-3.9.0.0-213.jar:]
at mondrian.rolap.SqlMemberSource.getLevelMemberCount(SqlMemberSource.java:137) [mondrian-3.9.0.0-213.jar:]
at mondrian.rolap.SmartMemberReader.getLevelMemberCount(SmartMemberReader.java:158) [mondrian-3.9.0.0-213.jar:]
at mondrian.rolap.RolapSchemaReader.getLevelCardinality(RolapSchemaReader.java:319) [mondrian-3.9.0.0-213.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
at mondrian.rolap.RolapUtil$2.invoke(RolapUtil.java:111) [mondrian-3.9.0.0-213.jar:]
at com.sun.proxy.$Proxy12.getLevelCardinality(Unknown Source)
at mondrian.olap4j.MondrianOlap4jExtra.getLevelCardinality(MondrianOlap4jExtra.java:74) [mondrian-3.9.0.0-213.jar:]
at mondrian.xmla.RowsetDefinition$MdschemaDimensionsRowset.populateDimension(RowsetDefinition.java:3970) [mondrian-3.9.0.0-213.jar:]
at mondrian.xmla.RowsetDefinition$MdschemaDimensionsRowset.populateCube(RowsetDefinition.java:3915) [mondrian-3.9.0.0-213.jar:]
at mondrian.xmla.RowsetDefinition$MdschemaDimensionsRowset.populateCatalog(RowsetDefinition.java:3897) [mondrian-3.9.0.0-213.jar:]
at mondrian.xmla.RowsetDefinition$MdschemaDimensionsRowset.populateImpl(RowsetDefinition.java:3885) [mondrian-3.9.0.0-213.jar:]
at mondrian.xmla.Rowset.populate(Rowset.java:222) [mondrian-3.9.0.0-213.jar:]
at mondrian.xmla.Rowset.unparse(Rowset.java:194) [mondrian-3.9.0.0-213.jar:]
at mondrian.xmla.XmlaHandler.discover(XmlaHandler.java:2867) [mondrian-3.9.0.0-213.jar:]
... 19 more
Caused by: java.sql.SQLException: SQL Anywhere Error -131: Syntax error near '"dim_dates"."day"' on line 1
at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(Unknown Source) [jconn4.jar:]
at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(Unknown Source) [jconn4.jar:]
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source) [jconn4.jar:]
at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source) [jconn4.jar:]
at com.sybase.jdbc4.jdbc.SybStatement.queryLoop(Unknown Source) [jconn4.jar:]
at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source) [jconn4.jar:]
at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source) [jconn4.jar:]
at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205) [commons-dbcp-1.2.1.jar:1.2.1]
at mondrian.rolap.SqlStatement.execute(SqlStatement.java:199) [mondrian-3.9.0.0-213.jar:]
... 39 more