*/ class implementation_postgresql implements interface_database { /** * @var struct_subject_postgresql * @author Christian Fraß */ private $subject; /** * @author Christian Fraß */ private function __construct(struct_subject_postgresql $subject) {$this->subject = $subject;} /** * @author Christian Fraß */ public static function make( string $host, int $port, string $schema, string $username, string $password ) : implementation_postgresql { $subject = postgresql_make($host, $port, $schema, $username, $password); return (new implementation_postgresql($subject)); } /** * implementations * * @author Christian Fraß */ public function terminal_autoincrement() : string {return postgresql_terminal_autoincrement();} public function boilerplate_field_definition_for_integer_primary_key_with_auto_increment() : string {return postgresql_boilerplate_field_definition_for_integer_primary_key_with_auto_increment();} public function query(string $template, array $arguments = []) : array {return postgresql_query($this->subject, $template, $arguments);} } ?>