Quiq::PostgreSql::Catalog - PostgreSQL Catalog-Operationen
Quiq::Object
$cat = $class->new;
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.
@rows | $tab = $class->functions($db,@select);
Klauseln und Optionen. Siehe Quiq::Database::Connection->select().
Liste der Funktions-Datensätze. Im Skalarkontext ein ResultSet-Objekt.
Suche Datenbank-Funktionen und liefere die Ergebnismenge zurück.
@rows | $tab = $class->objects($db,@select);
Liste der Objekt-Datensätze. Im Skalarkontext ein ResultSet-Objekt.
Suche Objekte und liefere die Ergebnismenge zurück.
@rows | $tab = $class->views($db,@select);
Liste der View-Datensätze. Im Skalarkontext ein ResultSet-Objekt.
Suche Views und liefere die Ergebnismenge zurück.
$newSql = $class->correctFunctionDef($sql);
CREATE FUNCTION Statement, das von pg_get_functiondef(oid) geliefert wurde.
Umgeschriebenes CREATE FUNCTION Statement (String)
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.
$stmt = $class->functionSelect;
SQL-Statement (String)
Liefere ein SELECT-Statement, das Informationen über Funktionen abfragt. Folgende Information wird geliefert:
PostgreSQL-Objekt-Id der Funktion.
Name des Owners der Funktion.
Name des Schemas, in dem sich die Funktion befindet.
Name der Funktion.
Argumentliste der Funktion als kommaseparierte Liste der Typ-Namen.
Name plus Argumentliste der Funktion in der Form:
FUNCTION(TYPE,...)
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', );
$stmt = $class->objectSelect;
Liefere ein SELECT-Statement, das Informationen über Objekte abfragt. Folgende Information wird geliefert:
PostgreSQL-Objekt-Id des Objekts.
Typ des Objekts.
Name des Owners des Objekts.
Name des Schemas, in dem sich das Objekt befindet.
Name des Objekts.
Vollständiger Name des Objekts. Im Falle einer Funktion dessen Signatur. Bei allen anderen Objekten identisch zu obj_name.
Der Quelltext des Objekts im Falle von Funktionen und Views.
$tab = $db->select( -with => Quiq::PostgreSql::Catalog->objectSelect, ... );
$stmt = $class->viewSelect;
Liefere ein SELECT-Statement, das Informationen über Views abfragt. Folgende Information wird geliefert:
PostgreSQL-Objekt-Id der View.
Name des Owners der View.
Name des Schemas, in dem sich die View befindet.
Name der View.
Der Quelltext der View.
$tab = $db->select( -with => Quiq::PostgreSql::Catalog->viewSelect, -select => 'viw_source', -where, viw_name = 'dd_rh_invoice_add', );
1.192
Frank Seitz, http://fseitz.de/
Copyright (C) 2020 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.