All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.scalaquery.meta.MSchema.scala Maven / Gradle / Ivy

package org.scalaquery.meta

import java.sql._
import org.scalaquery.{ResultSetInvoker, UnitInvoker}

/**
 * A wrapper for a row in the ResultSet returned by DatabaseMetaData.getSchemas().
 */
case class MSchema(schema: String, catalog: Option[String]) {
  override def toString = "MSchema(" + catalog.map(_ + ".").getOrElse("") + schema + ")"
}

object MSchema {
  private[this] val m = try { classOf[DatabaseMetaData].getMethod("getSchemas", classOf[String], classOf[String]) }
    catch { case _:NoSuchMethodException => null }

  def getSchemas(catalog: Option[String], schemaPattern: Option[String]) = {
    /* Regular version, requires Java 1.6: 
    ResultSetInvoker[MSchema](_.metaData.getSchemas(catalog.orNull, schemaPattern.orNull)) { r => MSchema(r<<, r< 
      DatabaseMeta.invokeForRS(m, s.metaData, catalog.orNull, schemaPattern.orNull)) { r => MSchema(r<<, r< MSchema(r<<, r<




© 2015 - 2025 Weber Informatics LLC | Privacy Policy