Package org.apache.calcite.example.maze
Class MazeTable
- java.lang.Object
-
- org.apache.calcite.schema.impl.AbstractTable
-
- org.apache.calcite.example.maze.MazeTable
-
- All Implemented Interfaces:
ScannableTable
,Table
,Wrapper
public class MazeTable extends AbstractTable implements ScannableTable
User-defined table function that generates a Maze and prints it in text form.
-
-
Constructor Summary
Constructors Modifier Constructor Description private
MazeTable(int width, int height, int seed, boolean solution)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ScannableTable
generate(int width, int height, int seed)
Table function that generates a maze.RelDataType
getRowType(RelDataTypeFactory typeFactory)
Returns this table's row type.Enumerable<java.lang.Object[]>
scan(DataContext root)
Returns an enumerator over the rows in this Table.static ScannableTable
solve(int width, int height, int seed)
Table function that generates a maze with a solution.-
Methods inherited from class org.apache.calcite.schema.impl.AbstractTable
getJdbcTableType, getStatistic, isRolledUp, rolledUpColumnValidInsideAgg, unwrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.calcite.schema.Table
getJdbcTableType, getStatistic, isRolledUp, rolledUpColumnValidInsideAgg
-
-
-
-
Method Detail
-
generate
public static ScannableTable generate(int width, int height, int seed)
Table function that generates a maze.Called by reflection based on the definition of the user-defined function in the schema.
- Parameters:
width
- Width of mazeheight
- Height of mazeseed
- Random number seed, or -1 to create an unseeded random- Returns:
- Table that prints the maze in text form
-
solve
public static ScannableTable solve(int width, int height, int seed)
Table function that generates a maze with a solution.Called by reflection based on the definition of the user-defined function in the schema.
- Parameters:
width
- Width of mazeheight
- Height of mazeseed
- Random number seed, or -1 to create an unseeded random- Returns:
- Table that prints the maze in text form, with solution shown
-
getRowType
public RelDataType getRowType(RelDataTypeFactory typeFactory)
Description copied from interface:Table
Returns this table's row type.This is a struct type whose fields describe the names and types of the columns in this table.
The implementer must use the type factory provided. This ensures that the type is converted into a canonical form; other equal types in the same query will use the same object.
- Specified by:
getRowType
in interfaceTable
- Parameters:
typeFactory
- Type factory with which to create the type- Returns:
- Row type
-
scan
public Enumerable<java.lang.Object[]> scan(DataContext root)
Description copied from interface:ScannableTable
Returns an enumerator over the rows in this Table. Each row is represented as an array of its column values.- Specified by:
scan
in interfaceScannableTable
-
-