|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object mondrian.rolap.RolapUtil
public class RolapUtil
Utility methods for classes in the mondrian.rolap
package.
Nested Class Summary | |
---|---|
(package private) static interface |
RolapUtil.ExecuteQueryHook
|
(package private) static class |
RolapUtil.Semaphore
A Semaphore is a primitive for process synchronization. |
static class |
RolapUtil.TeeWriter
Writes to a string and also to an underlying writer. |
Field Summary | |
---|---|
(package private) static org.apache.log4j.Logger |
LOGGER
|
static org.apache.log4j.Logger |
MDX_LOGGER
|
static String |
mdxNullLiteral
Runtime NullMemberRepresentation property change not taken into consideration |
static org.apache.log4j.Logger |
SQL_LOGGER
|
static String |
sqlNullLiteral
|
static Comparable |
sqlNullValue
Special value represents a null key. |
(package private) static ThreadLocal<RolapUtil.ExecuteQueryHook> |
threadHooks
Hook to run when a query is executed. |
static Object |
valueNotReadyException
Special cell value indicates that the value is not in cache yet. |
Constructor Summary | |
---|---|
RolapUtil()
|
Method Summary | ||
---|---|---|
(package private) static
|
addElement(T[] a,
T o)
Adds an object to the end of an array. |
|
(package private) static
|
addElements(T[] a,
T[] b)
Adds an array to the end of an array. |
|
static void |
alertNonNative(String functionName,
String reason)
Raises an alert that native SQL evaluation could not be used in a case where it might have been beneficial, but some limitation in Mondrian's implementation prevented it. |
|
static MondrianDef.Relation |
convertInlineTableToRelation(MondrianDef.InlineTable inlineTable,
SqlQuery.Dialect dialect)
|
|
static ExpCompiler |
createDependencyTestingCompiler(ExpCompiler compiler)
Creates a compiler which will generate programs which will test whether the dependencies declared via Calc.dependsOn(mondrian.olap.Dimension) are
accurate. |
|
static Evaluator |
createEvaluator(Query query)
Creates a dummy evaluator. |
|
static SqlStatement |
executeQuery(DataSource dataSource,
String sql,
int maxRows,
String component,
String message,
int resultSetType,
int resultSetConcurrency)
Executes a query. |
|
static SqlStatement |
executeQuery(DataSource dataSource,
String sql,
String component,
String message)
Executes a query, printing to the trace log if tracing is enabled. |
|
static Member |
findBestMemberMatch(List<? extends Member> members,
RolapMember parent,
RolapLevel level,
Id.Segment searchName,
MatchType matchType,
boolean caseInsensitive)
Locates a member specified by its member name, from an array of members. |
|
(package private) static RolapUtil.Semaphore |
getQuerySemaphore()
Gets the semaphore which controls how many people can run queries simultaneously. |
|
static void |
loadDrivers(String jdbcDrivers)
Loads a set of JDBC drivers. |
|
(package private) static RolapMember |
lookupMember(MemberReader reader,
List<Id.Segment> uniqueNameParts,
boolean failIfNotFound)
|
|
(package private) static RolapMember[] |
toArray(List<RolapMember> v)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final org.apache.log4j.Logger MDX_LOGGER
public static final org.apache.log4j.Logger SQL_LOGGER
static final org.apache.log4j.Logger LOGGER
public static final Object valueNotReadyException
static final ThreadLocal<RolapUtil.ExecuteQueryHook> threadHooks
public static final Comparable sqlNullValue
public static final String mdxNullLiteral
public static final String sqlNullLiteral
Constructor Detail |
---|
public RolapUtil()
Method Detail |
---|
static RolapMember[] toArray(List<RolapMember> v)
static RolapMember lookupMember(MemberReader reader, List<Id.Segment> uniqueNameParts, boolean failIfNotFound)
static <T> T[] addElement(T[] a, T o)
String[]
) as the input array.
static <T> T[] addElements(T[] a, T[] b)
String[]
) as the input array.
public static SqlStatement executeQuery(DataSource dataSource, String sql, String component, String message)
If the query fails, it wraps the SQLException
in a runtime
exception with message
as description, and closes the result
set.
If it succeeds, the caller must call the SqlStatement.close()
method of the returned SqlStatement
.
dataSource
- DataSourcesql
- SQL stringcomponent
- Description of a the component executing the query,
generally a method name, e.g. "SqlTupleReader.readTuples"message
- Description of the purpose of this statement, to be
printed if there is an error
public static SqlStatement executeQuery(DataSource dataSource, String sql, int maxRows, String component, String message, int resultSetType, int resultSetConcurrency)
If the query fails, it wraps the SQLException
in a runtime
exception with message
as description, and closes the result
set.
If it succeeds, the caller must call the SqlStatement.close()
method of the returned SqlStatement
.
dataSource
- DataSourcesql
- SQL stringmaxRows
- Row limit, or -1 if no limitcomponent
- Description of a the component executing the query,
generally a method name, e.g. "SqlTupleReader.readTuples"message
- Description of the purpose of this statement, to be
printed if there is an errorresultSetType
- Result set type, or -1 to use defaultresultSetConcurrency
- Result set concurrency, or -1 to use default
public static void alertNonNative(String functionName, String reason) throws NativeEvaluationUnsupportedException
NativeEvaluationUnsupportedException
functionName
- name of function for which native evaluation
was skippedreason
- reason why native evaluation was skippedpublic static void loadDrivers(String jdbcDrivers)
jdbcDrivers
- A string consisting of the comma-separated names
of JDBC driver classes. For example
"sun.jdbc.odbc.JdbcOdbcDriver,com.mysql.jdbc.Driver"
.public static ExpCompiler createDependencyTestingCompiler(ExpCompiler compiler)
Calc.dependsOn(mondrian.olap.Dimension)
are
accurate.
public static Member findBestMemberMatch(List<? extends Member> members, RolapMember parent, RolapLevel level, Id.Segment searchName, MatchType matchType, boolean caseInsensitive)
members
- array of members to search fromparent
- parent member corresponding to the member being searched
forlevel
- level of the membersearchName
- member namematchType
- match typecaseInsensitive
- if true, use case insensitive search (if
applicable) when when doing exact searches
public static MondrianDef.Relation convertInlineTableToRelation(MondrianDef.InlineTable inlineTable, SqlQuery.Dialect dialect)
static RolapUtil.Semaphore getQuerySemaphore()
public static Evaluator createEvaluator(Query query)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |