NAME

Quiq::PostgreSql::Catalog - PostgreSQL Catalog-Operationen

BASE CLASS

Quiq::Object

METHODS

Konstruktor

new() - Konstruktor

Synopsis

  $cat = $class->new;

Description

Instantiiere ein Objekt der Klasse und liefere eine Referenz auf dieses Objekt zurück. Da die Klasse ausschließlich Klassenmethoden enthält, hat das Objekt lediglich die Funktion, eine abkürzende Aufrufschreibweise zu ermöglichen.

Datenbank-Anfragen

functions() - Selektiere Informationen über Funktionen

Synopsis

  @rows | $tab = $class->functions($db,@select);

Arguments

@select

Klauseln und Optionen. Siehe Quiq::Database::Connection->select().

Returns

Liste der Funktions-Datensätze. Im Skalarkontext ein ResultSet-Objekt.

Description

Suche Datenbank-Funktionen und liefere die Ergebnismenge zurück.

objects() - Selektiere Informationen über Objekte

Synopsis

  @rows | $tab = $class->objects($db,@select);

Arguments

@select

Klauseln und Optionen. Siehe Quiq::Database::Connection->select().

Returns

Liste der Objekt-Datensätze. Im Skalarkontext ein ResultSet-Objekt.

Description

Suche Objekte und liefere die Ergebnismenge zurück.

views() - Selektiere Informationen über Views

Synopsis

  @rows | $tab = $class->views($db,@select);

Arguments

@select

Klauseln und Optionen. Siehe Quiq::Database::Connection->select().

Returns

Liste der View-Datensätze. Im Skalarkontext ein ResultSet-Objekt.

Description

Suche Views und liefere die Ergebnismenge zurück.

Hilfsmethoden

correctFunctionDef() - Korrigiere Quelltext einer Funktionsdefinition

Synopsis

  $newSql = $class->correctFunctionDef($sql);

Arguments

$sql

CREATE FUNCTION Statement, das von pg_get_functiondef(oid) geliefert wurde.

Returns

Umgeschriebenes CREATE FUNCTION Statement (String)

Description

PostgreSQL stellt die Funktion pg_get_functiondef(oid) zur Verfügung, die den Quelltext einer Datenbankfunktion liefert. Leider ist der Quelltext manchmal fehlerbehaftet, zumindest in der Version 8.3. Diese Methode korrigiert diese Fehler.

SQL-Statements

functionSelect() - Statement: Selektiere Funktionen

Synopsis

  $stmt = $class->functionSelect;

Returns

SQL-Statement (String)

Description

Liefere ein SELECT-Statement, das Informationen über Funktionen abfragt. Folgende Information wird geliefert:

fnc_oid

PostgreSQL-Objekt-Id der Funktion.

fnc_owner

Name des Owners der Funktion.

fnc_schema

Name des Schemas, in dem sich die Funktion befindet.

fnc_name

Name der Funktion.

fnc_arguments

Argumentliste der Funktion als kommaseparierte Liste der Typ-Namen.

fnc_signature

Name plus Argumentliste der Funktion in der Form:

  FUNCTION(TYPE,...)
fnc_source

Der vollständige Quelltext der Funktion. ACHTUNG: Der Quelltext kann (zumindest bei PostgreSQL 8.3) Fehler enthalten, siehe Methode correctFunctionDef(), die ggf. auf die Werte der Kolumne angewendet werden sollte.

Wird das Statement in eine WITH- oder FROM-Klausel Klausel eingebettet, können auch die Suchkriterien über obige Kolumnennamen formuliert werden:

  $tab = $db->select(
      -with => Quiq::PostgreSql::Catalog->functionSelect,
      -select => 'fnc_source',
      -where, fnc_name = 'rv_copy_to',
          fnc_arguments = 'text, text, text',
  );

objectSelect() - Statement: Selektiere Objekte

Synopsis

  $stmt = $class->objectSelect;

Returns

SQL-Statement (String)

Description

Liefere ein SELECT-Statement, das Informationen über Objekte abfragt. Folgende Information wird geliefert:

obj_oid

PostgreSQL-Objekt-Id des Objekts.

obj_type

Typ des Objekts.

obj_owner

Name des Owners des Objekts.

obj_schema

Name des Schemas, in dem sich das Objekt befindet.

obj_name

Name des Objekts.

obj_longname

Vollständiger Name des Objekts. Im Falle einer Funktion dessen Signatur. Bei allen anderen Objekten identisch zu obj_name.

obj_source

Der Quelltext des Objekts im Falle von Funktionen und Views.

Wird das Statement in eine WITH- oder FROM-Klausel Klausel eingebettet, können auch die Suchkriterien über obige Kolumnennamen formuliert werden:

  $tab = $db->select(
      -with => Quiq::PostgreSql::Catalog->objectSelect,
      ...
  );

viewSelect() - Statement: Selektiere Views

Synopsis

  $stmt = $class->viewSelect;

Returns

SQL-Statement (String)

Description

Liefere ein SELECT-Statement, das Informationen über Views abfragt. Folgende Information wird geliefert:

viw_oid

PostgreSQL-Objekt-Id der View.

viw_owner

Name des Owners der View.

viw_schema

Name des Schemas, in dem sich die View befindet.

viw_name

Name der View.

viw_source

Der Quelltext der View.

Wird das Statement in eine WITH- oder FROM-Klausel Klausel eingebettet, können auch die Suchkriterien über obige Kolumnennamen formuliert werden:

  $tab = $db->select(
      -with => Quiq::PostgreSql::Catalog->viewSelect,
      -select => 'viw_source',
      -where, viw_name = 'dd_rh_invoice_add',
  );

VERSION

1.185

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2020 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.