NAME
Quiq::PostgreSql::Catalog - PostgreSQL Catalog-Operationen
BASE CLASS
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
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
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
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
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.206
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2022 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.