Class SqlSampleSpec

java.lang.Object
org.apache.calcite.sql.SqlSampleSpec
Direct Known Subclasses:
SqlSampleSpec.SqlSubstitutionSampleSpec, SqlSampleSpec.SqlTableSampleSpec

public abstract class SqlSampleSpec extends Object
Specification of a SQL sample.

For example, the query

SELECT *
 FROM emp TABLESAMPLE SUBSTITUTE('medium')

declares a sample which is created using createNamed(java.lang.String).

A sample is not a SqlNode. To include it in a parse tree, wrap it as a literal, viz: SqlLiteral.createSample(SqlSampleSpec, org.apache.calcite.sql.parser.SqlParserPos).

  • Constructor Details

    • SqlSampleSpec

      protected SqlSampleSpec()
  • Method Details

    • createNamed

      public static SqlSampleSpec createNamed(String name)
      Creates a sample which substitutes one relation for another.
    • createTableSample

      public static SqlSampleSpec createTableSample(boolean isBernoulli, float samplePercentage)
      Creates a table sample without repeatability.
      Parameters:
      isBernoulli - true if Bernoulli style sampling is to be used; false for implementation specific sampling
      samplePercentage - likelihood of a row appearing in the sample
    • createTableSample

      public static SqlSampleSpec createTableSample(boolean isBernoulli, float samplePercentage, int repeatableSeed)
      Creates a table sample with repeatability.
      Parameters:
      isBernoulli - true if Bernoulli style sampling is to be used; false for implementation specific sampling
      samplePercentage - likelihood of a row appearing in the sample
      repeatableSeed - seed value used to reproduce the same sample