diff options
-rw-r--r-- | bin/dumpschema.php | 22 | ||||
-rw-r--r-- | program/include/rcube_mdb2.php | 6 |
2 files changed, 19 insertions, 9 deletions
diff --git a/bin/dumpschema.php b/bin/dumpschema.php index da82f7392..cbadb00f6 100644 --- a/bin/dumpschema.php +++ b/bin/dumpschema.php @@ -1,5 +1,6 @@ <?php /* + #!/usr/bin/php +-----------------------------------------------------------------------+ | bin/dumpschema.php | @@ -45,14 +46,21 @@ $options = array( 'quote_identifier' => true, 'force_defaults' => false, 'portability' => false, - 'disable_smart_seqname' => true, - 'seqname_format' => '%s' ); -$schema =& MDB2_Schema::factory($config->get('db_dsnw'), $options); +$dsnw = $config->get('db_dsnw'); +$dsn_array = MDB2::parseDSN($dsnw); + +// set options for postgres databases +if ($dsn_array['phptype'] == 'pgsql') { + $options['disable_smart_seqname'] = true; + $options['seqname_format'] = '%s'; +} + +$schema =& MDB2_Schema::factory($dsnw, $options); $schema->db->supported['transactions'] = false; - + // send as text/xml when opened in browser if ($_SERVER['REMOTE_ADDR']) header('Content-Type: text/xml'); @@ -68,6 +76,8 @@ else { ); $definition = $schema->getDefinitionFromDatabase(); + $definition['charset'] = 'utf8'; + if (PEAR::isError($definition)) { $error = $definition->getMessage() . ' ' . $definition->getUserInfo(); } @@ -81,7 +91,7 @@ else { $schema->disconnect(); -//if ($error) -// fputs(STDERR, $error); +if ($error && !$_SERVER['REMOTE_ADDR']) + fputs(STDERR, $error); ?> diff --git a/program/include/rcube_mdb2.php b/program/include/rcube_mdb2.php index eb6cec9c8..b5767e363 100644 --- a/program/include/rcube_mdb2.php +++ b/program/include/rcube_mdb2.php @@ -86,9 +86,9 @@ class rcube_mdb2 'portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL); if ($this->db_provider == 'pgsql') { - $db_options['disable_smart_seqname'] = true; - $db_options['seqname_format'] = '%s'; - } + $db_options['disable_smart_seqname'] = true; + $db_options['seqname_format'] = '%s'; + } $dbh = MDB2::connect($dsn, $db_options); |