relation.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 56 行

SCALA
56
字号
/*                     __                                               *\**     ________ ___   / /  ___     Scala API                            ****    / __/ __// _ | / /  / _ |    (c) 2003-2006, LAMP/EPFL             ****  __\ \/ /__/ __ |/ /__/ __ |                                         **** /____/\___/_/ |_/____/_/ | |                                         ****                          |/                                          **\*                                                                      */// $Id:Relation.scala 6853 2006-03-20 16:58:47 +0100 (Mon, 20 Mar 2006) dubochet $package scala.dbc.statement;/** A statement that returns a relation. */abstract class Relation extends Statement {    def isCompatibleType: (DataType,DataType)=>Boolean =    ((dt,wdt)=>dt.isSubtypeOf(wdt));  def typeCheck (relation: result.Relation): Unit = {      val sameType: Boolean = (        relation.metadata.length == fieldTypes.length &&        (relation.metadata.zip(fieldTypes).forall({case Pair(field,expectedType) =>          isCompatibleType(field.datatype, expectedType)}))      );      if (!sameType)        throw new exception.IncompatibleSchema(fieldTypes,relation.metadata.map(field=>field.datatype));  }  def fieldTypes: List[DataType];    def sqlTypeString: String =    if (fieldTypes.isEmpty)      "UNTYPED"    else      fieldTypes.map(dt=>dt.sqlString).mkString("RELATION (",", ",")");    /** A SQL-99 compliant string representation of the statement. */  def sqlString: String;    /** A SQL-99 compliant string representation of the relation sub-   * statement. This only has a meaning inside another statement. */  def sqlInnerString: String;    /** Executes the statement on the given database. */  def execute (database: scala.dbc.Database): scala.dbc.result.Relation = {    database.executeStatement(this);  }    def execute (database:scala.dbc.Database, debug:Boolean): scala.dbc.result.Relation = {    database.executeStatement(this,debug);  }  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?