housecleaning: remove all useless hasXXX() functions since we drop support for pg...
authorJehan-Guillaume (ioguix) de Rorthais <ioguix@digix.(none)>
Sat, 6 Feb 2010 12:23:55 +0000 (13:23 +0100)
committerJehan-Guillaume (ioguix) de Rorthais <ioguix@digix.(none)>
Sat, 6 Feb 2010 12:23:55 +0000 (13:23 +0100)
25 files changed:
aggregates.php
classes/Misc.php
classes/database/Postgres.php
colproperties.php
constraints.php
database.php
display.php
domains.php
fulltext.php
functions.php
indexes.php
info.php
operators.php
rules.php
schemas.php
sequences.php
sqledit.php
tables.php
tblproperties.php
tests/selenium/src/10-table.php
triggers.php
types.php
users.php
viewproperties.php
views.php

index e571915cbffa165cc6eff99e73bb527a83da41f1..3f55f29525cdd451c9f002febf0854a074accd1f 100644 (file)
                        echo "<p>", sprintf($lang['strconfdropaggregate'], htmlspecialchars($_REQUEST['aggrname'])), "</p>\n";
 
                        echo "<form action=\"aggregates.php\" method=\"post\">\n";
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<p><input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
                        echo "<input type=\"hidden\" name=\"aggrname\" value=\"", htmlspecialchars($_REQUEST['aggrname']), "\" />\n";
                        echo "<input type=\"hidden\" name=\"aggrtype\" value=\"", htmlspecialchars($_REQUEST['aggrtype']), "\" />\n";
index a037db6c381b192e882c75ca9c06e6c58a4eeaf9..59f9e4a16a2935eeee250cb39334d96522fc3144 100644 (file)
                                                        'title' => $lang['strvariables'],
                                                        'url'   => 'database.php',
                                                        'urlvars' => array('subject' => 'database', 'action' => 'variables'),
-                                                       'hide'  => (!$data->hasVariables()),
                                                        'help'  => 'pg.variable',
                                                        'tree'  => false,
                                                        'icon'  => 'Variables',
                                                        'title' => $lang['strprocesses'],
                                                        'url'   => 'database.php',
                                                        'urlvars' => array('subject' => 'database', 'action' => 'processes'),
-                                                       'hide'  => (!$data->hasProcesses()),
                                                        'help'  => 'pg.process',
                                                        'tree'  => false,
                                                        'icon'  => 'Processes',
                                                        'title' => $lang['strlocks'],
                                                        'url'   => 'database.php',
                                                        'urlvars' => array('subject' => 'database', 'action' => 'locks'),
-                                                       'hide'  => (!$data->hasLocksView()),
                                                        'help'  => 'pg.locks',
                                                        'tree'  => false,
                                                        'icon'  => 'Key',
                                                        'title' => $lang['strcasts'],
                                                        'url'   => 'casts.php',
                                                        'urlvars' => array('subject' => 'database'),
-                                                       'hide'  => ($hide_advanced || !$data->hasCasts()),
+                                                       'hide'  => ($hide_advanced),
                                                        'help'  => 'pg.cast',
                                                        'icon'  => 'Casts',
                                                ),
                                                        'title' => $lang['strdomains'],
                                                        'url'   => 'domains.php',
                                                        'urlvars' => array('subject' => 'schema'),
-                                                       'hide'  => (!$data->hasDomains()),
                                                        'help'  => 'pg.domain',
                                                        'icon'  => 'Domains',
                                                ),
                                                        'title' => $lang['strconversions'],
                                                        'url'   => 'conversions.php',
                                                        'urlvars' => array('subject' => 'schema'),
-                                                       'hide'  => ($hide_advanced || !$data->hasConversions()),
+                                                       'hide'  => $hide_advanced,
                                                        'help'  => 'pg.conversion',
                                                        'icon'  => 'Conversions',
                                                ),
index fb524824567e573f43a5e87bd04a0d99ccd4fb9c..e16cb0877e9d4d727465d2449bd3ca85722f7388 100755 (executable)
@@ -3229,9 +3229,9 @@ class Postgres extends ADODB_base {
                }
 
                // Predicate
-               if ($this->hasPartialIndexes() && trim($where) != '') {
+               if (trim($where) != '') {
                        $sql .= " WHERE ({$where})";
-       }
+               }
 
                return $this->execute($sql);
        }
@@ -5948,9 +5948,9 @@ class Postgres extends ADODB_base {
         * @return All users
         */
        function getUsers() {
-               $sql = "SELECT usename, usesuper, usecreatedb, valuntil AS useexpires";
-               if ($this->hasUserSessionDefaults()) $sql .= ", useconfig";
-               $sql .= " FROM pg_user ORDER BY usename";
+               $sql = "SELECT usename, usesuper, usecreatedb, valuntil AS useexpires, useconfig
+                       FROM pg_user
+                       ORDER BY usename";
 
                return $this->selectSet($sql);
        }
@@ -5963,9 +5963,9 @@ class Postgres extends ADODB_base {
        function getUser($username) {
                $this->clean($username);
 
-               $sql = "SELECT usename, usesuper, usecreatedb, valuntil AS useexpires";
-               if ($this->hasUserSessionDefaults()) $sql .= ", useconfig";
-               $sql .= " FROM pg_user WHERE usename='{$username}'";
+               $sql = "SELECT usename, usesuper, usecreatedb, valuntil AS useexpires, useconfig
+                       FROM pg_user 
+                       WHERE usename='{$username}'";
 
                return $this->selectSet($sql);
        }
@@ -7601,10 +7601,7 @@ class Postgres extends ADODB_base {
                else $orderby = '';
 
                // Actually retrieve the rows, with offset and limit
-               if ($this->hasFullSubqueries())
-                       $rs = $this->selectSet("SELECT * FROM ({$query}) AS sub {$orderby} LIMIT {$page_size} OFFSET " . ($page - 1) * $page_size);
-               else
-                       $rs = $this->selectSet("{$query} LIMIT {$page_size} OFFSET " . ($page - 1) * $page_size);
+               $rs = $this->selectSet("SELECT * FROM ({$query}) AS sub {$orderby} LIMIT {$page_size} OFFSET " . ($page - 1) * $page_size);
                $status = $this->endTransaction();
                if ($status != 0) {
                        $this->rollbackTransaction();
@@ -7763,15 +7760,9 @@ class Postgres extends ADODB_base {
        function hasAlterSchemaOwner() { return true; }
        function hasAlterSequenceProps() { return true; }
        function hasAlterSequenceSchema() { return true; }
-       function hasAlterTableOwner() { return true; }
        function hasAlterTableSchema() { return true; }
-       function hasAlterTrigger() { return true; }
-       function hasAnalyze() { return true; }
        function hasAutovacuum() { return true; }
        function hasAutovacuumSysTable() { return false; }
-       function hasCasts() { return true; }
-       function hasCompositeTypes() { return true; }
-       function hasConversions() { return true; }
        function hasCreateTableLike() { return true; }
        function hasCreateTableLikeWithConstraints() { return true; }
        function hasCreateTableLikeWithIndexes() { return true; }
@@ -7779,39 +7770,24 @@ class Postgres extends ADODB_base {
        function hasDisableTriggers() { return true; }
        function hasAlterDomains() { return true; }
        function hasDomainConstraints() { return true; }
-       function hasDomains() { return true; }
-       function hasDropBehavior() { return true; }
-       function hasDropColumn() { return true; }
        function hasEnumTypes() { return true; }
        function hasFTS() { return true; }
-       function hasFullSubqueries() { return true; }
-       function hasFullVacuum() { return true; }
-       function hasFuncPrivs() { return true; }
        function hasFunctionAlterOwner() { return true; }
        function hasFunctionAlterSchema() { return true; }
        function hasFunctionCosting() { return true; }
        function hasFunctionGUC() { return true; }
        function hasGrantOption() { return true; }
-       function hasIsClustered() { return true; }
-       function hasLocksView() { return true; }
        function hasNamedParams() { return true; }
-       function hasPartialIndexes() { return true; }
        function hasPrepare() { return true; }
        function hasPreparedXacts() { return true; }
-       function hasProcesses() { return true; }
        function hasReadOnlyQueries() { return true; }
        function hasRecluster() { return true; }
        function hasRoles() { return true; }
        function hasServerAdminFuncs() { return true; }
        function hasSharedComments() { return true; }
        function hasQueryCancel() { return true; }
-       function hasStatsCollector() { return true; }
        function hasTablespaces() { return true; }
-       function hasUserAndDbVariables() { return true; }
        function hasUserRename() { return true; }
-       function hasUserSessionDefaults() { return true; }
-       function hasVariables() { return true; }
-       function hasViewColumnRename() { return true; }
        function hasVirtualTransactionId() { return true; }
        function hasAlterDatabase() { return $this->hasAlterDatabaseRename(); }
        function hasDatabaseCollation() { return true; }
index dc582a0d40e8333b6270189f13ccf411721bb787..00ce9d122ce5202dead356b662c3e43a0016c318 100644 (file)
                                echo "\t<li><a href=\"colproperties.php?action=properties&amp;{$misc->href}&amp;table=", urlencode($_REQUEST['table']),
                                    "&amp;column=", urlencode($_REQUEST['column']) . "\">{$lang['stralter']}</a></li>\n";
                                
-                               /* Delete link */
-                               if ($data->hasDropColumn())
                                        echo "\t<li><a href=\"tblproperties.php?action=confirm_drop&amp;{$misc->href}&amp;table=", urlencode($_REQUEST['table']),
                                                "&amp;column=" . urlencode($_REQUEST['column']) . "\">{$lang['strdrop']}</a></li>\n";
                        } else {
index 99298c27bfd7936dc8d1b55215561d7d3bfe5b9b..f966f48dfa37af90392f367573ed6be5eaaffc44 100644 (file)
                        echo "<input type=\"hidden\" name=\"constraint\" value=\"", htmlspecialchars($_REQUEST['constraint']), "\" />\n";
                        echo "<input type=\"hidden\" name=\"type\" value=\"", htmlspecialchars($_REQUEST['type']), "\" />\n";
                        echo $misc->form;
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
                        echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
                        echo "</form>\n";
                        ),
                );
 
-               if (!$data->hasIsClustered()) unset($columns['clustered']);
-
                $misc->printTable($constraints, $columns, $actions, $lang['strnoconstraints'], 'cnPre');
 
                echo "<ul class=\"navlink\">\n\t<li><a href=\"constraints.php?action=add_check&amp;{$misc->href}&amp;table=", urlencode($_REQUEST['table']),
index a22b98bbbc2e2f6394166b954274dd7b49d7c967..71d2f0e2fb24de03a66c3d59c7d518d4078a8952 100755 (executable)
                echo "\t<option value=\"TRIGGER\"", ($_REQUEST['filter'] == 'TRIGGER') ? ' selected="selected"' : '', ">{$lang['strtriggers']}</option>\n";
                echo "\t<option value=\"CONSTRAINT\"", ($_REQUEST['filter'] == 'CONSTRAINT') ? ' selected="selected"' : '', ">{$lang['strconstraints']}</option>\n";
                echo "\t<option value=\"FUNCTION\"", ($_REQUEST['filter'] == 'FUNCTION') ? ' selected="selected"' : '', ">{$lang['strfunctions']}</option>\n";
-               if ($data->hasDomains())
-                       echo "\t<option value=\"DOMAIN\"", ($_REQUEST['filter'] == 'DOMAIN') ? ' selected="selected"' : '', ">{$lang['strdomains']}</option>\n";
+               echo "\t<option value=\"DOMAIN\"", ($_REQUEST['filter'] == 'DOMAIN') ? ' selected="selected"' : '', ">{$lang['strdomains']}</option>\n";
                if ($conf['show_advanced']) {
                        echo "\t<option value=\"AGGREGATE\"", ($_REQUEST['filter'] == 'AGGREGATE') ? ' selected="selected"' : '', ">{$lang['straggregates']}</option>\n";
                        echo "\t<option value=\"TYPE\"", ($_REQUEST['filter'] == 'TYPE') ? ' selected="selected"' : '', ">{$lang['strtypes']}</option>\n";
                        echo "\t<option value=\"OPERATOR\"", ($_REQUEST['filter'] == 'OPERATOR') ? ' selected="selected"' : '', ">{$lang['stroperators']}</option>\n";
                        echo "\t<option value=\"OPCLASS\"", ($_REQUEST['filter'] == 'OPCLASS') ? ' selected="selected"' : '', ">{$lang['stropclasses']}</option>\n";
-                       if ($data->hasConversions())
-                               echo "\t<option value=\"CONVERSION\"", ($_REQUEST['filter'] == 'CONVERSION') ? ' selected="selected"' : '', ">{$lang['strconversions']}</option>\n";
+                       echo "\t<option value=\"CONVERSION\"", ($_REQUEST['filter'] == 'CONVERSION') ? ' selected="selected"' : '', ">{$lang['strconversions']}</option>\n";
                        echo "\t<option value=\"LANGUAGE\"", ($_REQUEST['filter'] == 'LANGUAGE') ? ' selected="selected"' : '', ">{$lang['strlanguages']}</option>\n";
                }
                echo "</select>\n";
                                echo "<th class=\"data\">";
                                $misc->printHelp($lang['strvacuum'],'pg.admin.vacuum')."</th>\n";
                                echo "</th>";
-                               if ($data->hasAnalyze()){
-                                       echo "<th class=\"data\">";
-                                       $misc->printHelp($lang['stranalyze'],'pg.admin.analyze');
-                                       echo "</th>";
-                               }
+                               echo "<th class=\"data\">";
+                               $misc->printHelp($lang['stranalyze'],'pg.admin.analyze');
+                               echo "</th>";
                                if ($data->hasRecluster()){
                                        echo "<th class=\"data\">";
                                        $misc->printHelp($lang['strclusterindex'],'pg.index.cluster');
                                echo "<td class=\"data1\" style=\"text-align: center; vertical-align: bottom\">\n";
                                echo "<form action=\"database.php\" method=\"post\">\n";
                                echo "<p><input type=\"checkbox\" id=\"vacuum_analyze\" name=\"vacuum_analyze\" /><label for=\"vacuum_analyze\">{$lang['stranalyze']}</label>\n";
-                               if ($data->hasFullVacuum()) {
-                                       echo "<br /><input type=\"checkbox\" id=\"vacuum_full\" name=\"vacuum_full\" /><label for=\"vacuum_full\">{$lang['strfull']}</label>\n";                                
-                                       echo "<br /><input type=\"checkbox\" id=\"vacuum_freeze\" name=\"vacuum_freeze\" /><label for=\"vacuum_freeze\">{$lang['strfreeze']}</label>\n";
-                               }
+                               echo "<br /><input type=\"checkbox\" id=\"vacuum_full\" name=\"vacuum_full\" /><label for=\"vacuum_full\">{$lang['strfull']}</label>\n";                                
+                               echo "<br /><input type=\"checkbox\" id=\"vacuum_freeze\" name=\"vacuum_freeze\" /><label for=\"vacuum_freeze\">{$lang['strfreeze']}</label>\n";
                                echo "<input type=\"hidden\" name=\"action\" value=\"vacuum\" />\n";
                                echo $misc->form;
                                echo "<br /><input type=\"submit\" value=\"{$lang['strvacuum']}\" /></p>\n";
                                echo "</td>\n";
 
                                // Analyze
-                               if ($data->hasAnalyze()) {
-                                       echo "<td class=\"data1\" style=\"text-align: center; vertical-align: bottom\">\n";
-                                       echo "<form action=\"database.php\" method=\"post\">\n";
-                                       echo "<p><input type=\"hidden\" name=\"action\" value=\"analyze\" />\n";
-                                       echo $misc->form;
-                                       echo "<input type=\"submit\" value=\"{$lang['stranalyze']}\" /></p>\n";
-                                       echo "</form>\n";
-                                       echo "</td>\n";
-                               }
+                               echo "<td class=\"data1\" style=\"text-align: center; vertical-align: bottom\">\n";
+                               echo "<form action=\"database.php\" method=\"post\">\n";
+                               echo "<p><input type=\"hidden\" name=\"action\" value=\"analyze\" />\n";
+                               echo $misc->form;
+                               echo "<input type=\"submit\" value=\"{$lang['stranalyze']}\" /></p>\n";
+                               echo "</form>\n";
+                               echo "</td>\n";
                                
                                // Recluster
                                if ($data->hasRecluster()){
index f38360ec99a3877836644e6c88fb3fb447829e1b..1b9f0b55896c1ef6d20668efaffd51e3b87ee3a5 100644 (file)
                                $finfo = $rs->fetchField($j);
                                // Display column headers with sorting options, unless we're PostgreSQL
                                // 7.0 and it's a non-TABLE mode
-                               if (!$data->hasFullSubqueries() && $type != 'TABLE') {
+                               if ($type != 'TABLE') {
                                        echo "<th class=\"data\">", $misc->printVal($finfo->name), "</th>\n";
                                }
                                else {
index ab4c713216cc72c9d22ed29ae9d0acfdd8f7e6a7..197e410e06e56d0ebac26b1e4c3e560abde17212 100644 (file)
                        echo "<input type=\"hidden\" name=\"domain\" value=\"", htmlspecialchars($_REQUEST['domain']), "\" />\n";
                        echo "<input type=\"hidden\" name=\"constraint\" value=\"", htmlspecialchars($_REQUEST['constraint']), "\" />\n";
                        echo $misc->form;
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
                        echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
                        echo "</form>\n";
                        
                        echo "<p>", sprintf($lang['strconfdropdomain'], $misc->printVal($_REQUEST['domain'])), "</p>\n";        
                        echo "<form action=\"domains.php\" method=\"post\">\n";
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /><label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /><label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<p><input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
                        echo "<input type=\"hidden\" name=\"domain\" value=\"", htmlspecialchars($_REQUEST['domain']), "\" />\n";
                        echo $misc->form;
index 46c637363d60c96f99b20dfd9f101241adf1bd7b..9098b82790c5687e4048f5e8594c4580e0e53cd3 100644 (file)
                        echo "<p>", sprintf($lang['strconfdropftsconfig'], $misc->printVal($_REQUEST['ftscfg'])), "</p>\n";
 
                        echo "<form action=\"fulltext.php\" method=\"post\">\n";
-                       // Show cascade drop option if supported
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<p><input type=\"hidden\" name=\"action\" value=\"dropconfig\" />\n";
                        echo "<input type=\"hidden\" name=\"database\" value=\"", htmlspecialchars($_REQUEST['database']), "\" />\n";
                        echo "<input type=\"hidden\" name=\"ftscfg\" value=\"", htmlspecialchars($_REQUEST['ftscfg']), "\" />\n";
                        echo "<p>", sprintf($lang['strconfdropftsdict'], $misc->printVal($_REQUEST['ftsdict'])), "</p>\n";
 
                        echo "<form action=\"fulltext.php\" method=\"post\">\n";
-                       // Show cascade drop option if supported
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<p><input type=\"hidden\" name=\"action\" value=\"dropdict\" />\n";
                        echo "<input type=\"hidden\" name=\"database\" value=\"", htmlspecialchars($_REQUEST['database']), "\" />\n";
                        echo "<input type=\"hidden\" name=\"ftsdict\" value=\"", htmlspecialchars($_REQUEST['ftsdict']), "\" />\n";
index acbb4da2bc59ce06399cedfdff7bf5a55999fe02..7a64c1fa1d7f7641b836988095e577179db92fc7 100644 (file)
                        echo "<input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
 
                        echo $misc->form;
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /><label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /><label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
                        echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
                        echo "</form>\n";
                        ),
                );
 
-               if ( !$data->hasFuncPrivs() ) {
-                       unset($actions['privileges']);
-               }
+               unset($actions['privileges']);
 
                $misc->printTable($funcs, $columns, $actions, $lang['strnofunctions']);
 
index a3756b2db2b66908dd26f3b82d5ffc88d7d1e1f8..0d57d39eacc56bf695652eec9de8d52ad583c526 100644 (file)
                echo "<th class=\"data left\" scope=\"row\"><label for=\"formUnique\">{$lang['strunique']}</label></th>";
                echo "<td class=\"data1\"><input type=\"checkbox\" id=\"formUnique\" name=\"formUnique\"", (isset($_POST['formUnique']) ? 'checked="checked"' : ''), " /></td>";
                echo "</tr>";
-               if ($data->hasPartialIndexes()) {
-                       echo "<tr>";
-                       echo "<th class=\"data left\" scope=\"row\">{$lang['strwhere']}</th>";
-                       echo "<td class=\"data1\">(<input name=\"formWhere\" size=\"32\" maxlength=\"{$data->_maxNameLen}\" value=\"", 
-                               htmlspecialchars($_POST['formWhere']), "\" />)</td>";
-                       echo "</tr>";
-               }
+               echo "<tr>";
+               echo "<th class=\"data left\" scope=\"row\">{$lang['strwhere']}</th>";
+               echo "<td class=\"data1\">(<input name=\"formWhere\" size=\"32\" maxlength=\"{$data->_maxNameLen}\" value=\"", 
+                       htmlspecialchars($_POST['formWhere']), "\" />)</td>";
+               echo "</tr>";
                
                // Tablespace (if there are any)
                if ($data->hasTablespaces() && $tablespaces->recordCount() > 0) {
                        echo "<input type=\"hidden\" name=\"table\" value=\"", htmlspecialchars($_REQUEST['table']), "\" />\n";
                        echo "<input type=\"hidden\" name=\"index\" value=\"", htmlspecialchars($_REQUEST['index']), "\" />\n";
                        echo $misc->form;
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
                        echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
                        echo "</form>\n";
                        ),
                );
                
-               if (!$data->hasIsClustered()) unset($columns['clustered']);
-               
                $misc->printTable($indexes, $columns, $actions, $lang['strnoindexes'], 'indPre');
                
                echo "<p><a class=\"navlink\" href=\"indexes.php?action=create_index&amp;{$misc->href}&amp;table=", 
index 98ae6d5a9166b2946caee82c625877c766ab3c00..f8beb7dfb77750d70a0408fc99c65b1adb845fda 100644 (file)
--- a/info.php
+++ b/info.php
                $referrers = $data->getReferrers($_REQUEST['table']);
                $parents = $data->getTableParents($_REQUEST['table']);
                $children = $data->getTableChildren($_REQUEST['table']);
-               if ($data->hasStatsCollector()) {
-               $tablestatstups = $data->getStatsTableTuples($_REQUEST['table']);
-               $tablestatsio = $data->getStatsTableIO($_REQUEST['table']);
-               $indexstatstups = $data->getStatsIndexTuples($_REQUEST['table']);
-               $indexstatsio = $data->getStatsIndexIO($_REQUEST['table']);
-        }
+               $tablestatstups = $data->getStatsTableTuples($_REQUEST['table']);
+               $tablestatsio = $data->getStatsTableIO($_REQUEST['table']);
+               $indexstatstups = $data->getStatsIndexTuples($_REQUEST['table']);
+               $indexstatsio = $data->getStatsIndexIO($_REQUEST['table']);
         
                // Check that there is some info
                if (($referrers === -99 || ($referrers !== -99 && $referrers->recordCount() == 0)) 
                                && $parents->recordCount() == 0 && $children->recordCount() == 0
-                               && (!$data->hasStatsCollector() ||
-                               ($tablestatstups->recordCount() == 0 && $tablestatsio->recordCount() == 0
-                               && $indexstatstups->recordCount() == 0 && $indexstatsio->recordCount() == 0))) {
+                               && ($tablestatstups->recordCount() == 0 && $tablestatsio->recordCount() == 0
+                               && $indexstatstups->recordCount() == 0 && $indexstatsio->recordCount() == 0)) {
                        $misc->printMsg($lang['strnoinfo']);
                }
                else {
                                echo "</table>\n";
                        }
 
-            if ($data->hasStatsCollector()) {
-                       // Row performance
-                       if ($tablestatstups->recordCount() > 0) {
-                               echo "<h3>{$lang['strrowperf']}</h3>\n";
-    
-                               echo "<table>\n";
-                               echo "\t<tr>\n";
-                               echo "\t\t<th class=\"data\" colspan=\"2\">{$lang['strsequential']}</th>\n";
-                               echo "\t\t<th class=\"data\" colspan=\"2\">{$lang['strindex']}</th>\n";
-                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strrows2']}</th>\n";
-                               echo "\t</tr>\n";
-                               echo "\t<tr>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strscan']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strread']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strscan']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strfetch']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strinsert']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strupdate']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strdelete']}</th>\n";
-                               echo "\t</tr>\n";
-                               $i = 0;
-                               
-                               while (!$tablestatstups->EOF) {
-                                       $id = ( ($i % 2 ) == 0 ? '1' : '2' );
-                                       echo "\t<tr>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['seq_scan'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['seq_tup_read'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['idx_scan'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['idx_tup_fetch'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['n_tup_ins'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['n_tup_upd'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['n_tup_del'], 'int4', $shownull), "</td>\n";
-                                       echo "\t</tr>\n";
-                                       $tablestatstups->movenext();
-                                       $i++;
-                               }
-       
-                               echo "</table>\n";
-                       }
-    
-                       // I/O performance
-                       if ($tablestatsio->recordCount() > 0) {
-                               echo "<h3>{$lang['strioperf']}</h3>\n";
-    
-                               echo "<table>\n";
-                               echo "\t<tr>\n";
-                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strheap']}</th>\n";
-                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strindex']}</th>\n";
-                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strtoast']}</th>\n";
-                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strtoastindex']}</th>\n";
-                               echo "\t</tr>\n";
-                               echo "\t<tr>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
-                               echo "\t</tr>\n";
-                               $i = 0;
-                               
-                               while (!$tablestatsio->EOF) {
-                                       $id = ( ($i % 2 ) == 0 ? '1' : '2' );
-                                       echo "\t<tr>\n";
-    
-                                       $total = $tablestatsio->fields['heap_blks_hit'] + $tablestatsio->fields['heap_blks_read'];
-                                       if ($total > 0) $percentage = round(($tablestatsio->fields['heap_blks_hit'] / $total) * 100);
-                                       else $percentage = 0;
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['heap_blks_read'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['heap_blks_hit'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
-    
-                                       $total = $tablestatsio->fields['idx_blks_hit'] + $tablestatsio->fields['idx_blks_read'];
-                                       if ($total > 0) $percentage = round(($tablestatsio->fields['idx_blks_hit'] / $total) * 100);
-                                       else $percentage = 0;
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['idx_blks_read'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['idx_blks_hit'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
-    
-                                       $total = $tablestatsio->fields['toast_blks_hit'] + $tablestatsio->fields['toast_blks_read'];
-                                       if ($total > 0) $percentage = round(($tablestatsio->fields['toast_blks_hit'] / $total) * 100);
-                                       else $percentage = 0;
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['toast_blks_read'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['toast_blks_hit'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
-    
-                                       $total = $tablestatsio->fields['tidx_blks_hit'] + $tablestatsio->fields['tidx_blks_read'];
-                                       if ($total > 0) $percentage = round(($tablestatsio->fields['tidx_blks_hit'] / $total) * 100);
-                                       else $percentage = 0;
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['tidx_blks_read'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['tidx_blks_hit'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
-                                       echo "\t</tr>\n";
-                                       $tablestatsio->movenext();
-                                       $i++;
-                               }
-       
-                               echo "</table>\n";
-                       }
-    
-                       // Index row performance
-                       if ($indexstatstups->recordCount() > 0) {
-                               echo "<h3>{$lang['stridxrowperf']}</h3>\n";
-    
-                               echo "<table>\n";
-                               echo "\t<tr>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strindex']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strscan']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strread']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strfetch']}</th>\n";
-                               echo "\t</tr>\n";
-                               $i = 0;
-                               
-                               while (!$indexstatstups->EOF) {
-                                       $id = ( ($i % 2 ) == 0 ? '1' : '2' );
-                                       echo "\t<tr>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatstups->fields['indexrelname']), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatstups->fields['idx_scan'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatstups->fields['idx_tup_read'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatstups->fields['idx_tup_fetch'], 'int4', $shownull), "</td>\n";
-                                       echo "\t</tr>\n";
-                                       $indexstatstups->movenext();
-                                       $i++;
-                               }
-       
-                               echo "</table>\n";
-                       }
-    
-                       // Index I/0 performance
-                       if ($indexstatsio->recordCount() > 0) {
-                               echo "<h3>{$lang['stridxioperf']}</h3>\n";
-    
-                               echo "<table>\n";
-                               echo "\t<tr>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strindex']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
-                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
-                               echo "\t</tr>\n";
-                               $i = 0;
-                               
-                               while (!$indexstatsio->EOF) {
-                                       $id = ( ($i % 2 ) == 0 ? '1' : '2' );
-                                       echo "\t<tr>\n";
-                                       $total = $indexstatsio->fields['idx_blks_hit'] + $indexstatsio->fields['idx_blks_read'];
-                                       if ($total > 0) $percentage = round(($indexstatsio->fields['idx_blks_hit'] / $total) * 100);
-                                       else $percentage = 0;
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatsio->fields['indexrelname']), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatsio->fields['idx_blks_read'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatsio->fields['idx_blks_hit'], 'int4', $shownull), "</td>\n";
-                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
-                                       echo "\t</tr>\n";
-                                       $indexstatsio->movenext();
-                                       $i++;
-                               }
-       
-                               echo "</table>\n";
-                       }
-               }
+                       // Row performance
+                       if ($tablestatstups->recordCount() > 0) {
+                               echo "<h3>{$lang['strrowperf']}</h3>\n";
+
+                               echo "<table>\n";
+                               echo "\t<tr>\n";
+                               echo "\t\t<th class=\"data\" colspan=\"2\">{$lang['strsequential']}</th>\n";
+                               echo "\t\t<th class=\"data\" colspan=\"2\">{$lang['strindex']}</th>\n";
+                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strrows2']}</th>\n";
+                               echo "\t</tr>\n";
+                               echo "\t<tr>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strscan']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strread']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strscan']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strfetch']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strinsert']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strupdate']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strdelete']}</th>\n";
+                               echo "\t</tr>\n";
+                               $i = 0;
+                               
+                               while (!$tablestatstups->EOF) {
+                                       $id = ( ($i % 2 ) == 0 ? '1' : '2' );
+                                       echo "\t<tr>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['seq_scan'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['seq_tup_read'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['idx_scan'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['idx_tup_fetch'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['n_tup_ins'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['n_tup_upd'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatstups->fields['n_tup_del'], 'int4', $shownull), "</td>\n";
+                                       echo "\t</tr>\n";
+                                       $tablestatstups->movenext();
+                                       $i++;
+                               }
+       
+                               echo "</table>\n";
+                       }
+
+                       // I/O performance
+                       if ($tablestatsio->recordCount() > 0) {
+                               echo "<h3>{$lang['strioperf']}</h3>\n";
+
+                               echo "<table>\n";
+                               echo "\t<tr>\n";
+                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strheap']}</th>\n";
+                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strindex']}</th>\n";
+                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strtoast']}</th>\n";
+                               echo "\t\t<th class=\"data\" colspan=\"3\">{$lang['strtoastindex']}</th>\n";
+                               echo "\t</tr>\n";
+                               echo "\t<tr>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
+                               echo "\t</tr>\n";
+                               $i = 0;
+                               
+                               while (!$tablestatsio->EOF) {
+                                       $id = ( ($i % 2 ) == 0 ? '1' : '2' );
+                                       echo "\t<tr>\n";
+
+                                       $total = $tablestatsio->fields['heap_blks_hit'] + $tablestatsio->fields['heap_blks_read'];
+                                       if ($total > 0) $percentage = round(($tablestatsio->fields['heap_blks_hit'] / $total) * 100);
+                                       else $percentage = 0;
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['heap_blks_read'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['heap_blks_hit'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
+
+                                       $total = $tablestatsio->fields['idx_blks_hit'] + $tablestatsio->fields['idx_blks_read'];
+                                       if ($total > 0) $percentage = round(($tablestatsio->fields['idx_blks_hit'] / $total) * 100);
+                                       else $percentage = 0;
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['idx_blks_read'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['idx_blks_hit'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
+
+                                       $total = $tablestatsio->fields['toast_blks_hit'] + $tablestatsio->fields['toast_blks_read'];
+                                       if ($total > 0) $percentage = round(($tablestatsio->fields['toast_blks_hit'] / $total) * 100);
+                                       else $percentage = 0;
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['toast_blks_read'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['toast_blks_hit'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
+
+                                       $total = $tablestatsio->fields['tidx_blks_hit'] + $tablestatsio->fields['tidx_blks_read'];
+                                       if ($total > 0) $percentage = round(($tablestatsio->fields['tidx_blks_hit'] / $total) * 100);
+                                       else $percentage = 0;
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['tidx_blks_read'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($tablestatsio->fields['tidx_blks_hit'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
+                                       echo "\t</tr>\n";
+                                       $tablestatsio->movenext();
+                                       $i++;
+                               }
+       
+                               echo "</table>\n";
+                       }
+
+                       // Index row performance
+                       if ($indexstatstups->recordCount() > 0) {
+                               echo "<h3>{$lang['stridxrowperf']}</h3>\n";
+
+                               echo "<table>\n";
+                               echo "\t<tr>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strindex']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strscan']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strread']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strfetch']}</th>\n";
+                               echo "\t</tr>\n";
+                               $i = 0;
+                               
+                               while (!$indexstatstups->EOF) {
+                                       $id = ( ($i % 2 ) == 0 ? '1' : '2' );
+                                       echo "\t<tr>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatstups->fields['indexrelname']), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatstups->fields['idx_scan'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatstups->fields['idx_tup_read'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatstups->fields['idx_tup_fetch'], 'int4', $shownull), "</td>\n";
+                                       echo "\t</tr>\n";
+                                       $indexstatstups->movenext();
+                                       $i++;
+                               }
+       
+                               echo "</table>\n";
+                       }
+
+                       // Index I/0 performance
+                       if ($indexstatsio->recordCount() > 0) {
+                               echo "<h3>{$lang['stridxioperf']}</h3>\n";
+
+                               echo "<table>\n";
+                               echo "\t<tr>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strindex']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strdisk']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strcache']}</th>\n";
+                               echo "\t\t<th class=\"data\">{$lang['strpercent']}</th>\n";
+                               echo "\t</tr>\n";
+                               $i = 0;
+                               
+                               while (!$indexstatsio->EOF) {
+                                       $id = ( ($i % 2 ) == 0 ? '1' : '2' );
+                                       echo "\t<tr>\n";
+                                       $total = $indexstatsio->fields['idx_blks_hit'] + $indexstatsio->fields['idx_blks_read'];
+                                       if ($total > 0) $percentage = round(($indexstatsio->fields['idx_blks_hit'] / $total) * 100);
+                                       else $percentage = 0;
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatsio->fields['indexrelname']), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatsio->fields['idx_blks_read'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">", $misc->printVal($indexstatsio->fields['idx_blks_hit'], 'int4', $shownull), "</td>\n";
+                                       echo "\t\t<td class=\"data{$id}\">({$percentage}{$lang['strpercent']})</td>\n";
+                                       echo "\t</tr>\n";
+                                       $indexstatsio->movenext();
+                                       $i++;
+                               }
+       
+                               echo "</table>\n";
+                       }
                }
        }
 
index 0426b782ba6547c8f71b8cc42989f81b37666187..555ba0acafdf5592ba385974e08b5f63fdbbacae 100644 (file)
                        echo "<p>", sprintf($lang['strconfdropoperator'], $misc->printVal($_REQUEST['operator'])), "</p>\n";    
                        
                        echo "<form action=\"operators.php\" method=\"post\">\n";
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<p><input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
                        echo "<input type=\"hidden\" name=\"operator\" value=\"", htmlspecialchars($_REQUEST['operator']), "\" />\n";
                        echo "<input type=\"hidden\" name=\"operator_oid\" value=\"", htmlspecialchars($_REQUEST['operator_oid']), "\" />\n";
index cd0b15bd2d99f1d89e11df3c9dfa1de7e35e066b..871dd199014682f7b028f54720b6791ac934bd07 100644 (file)
--- a/rules.php
+++ b/rules.php
                                        "\" value=\"", htmlspecialchars($_REQUEST[$_REQUEST['reltype']]), "\" />\n";
                        echo "<input type=\"hidden\" name=\"rule\" value=\"", htmlspecialchars($_REQUEST['rule']), "\" />\n";
                        echo $misc->form;
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"yes\" value=\"{$lang['stryes']}\" />\n";
                        echo "<input type=\"submit\" name=\"no\" value=\"{$lang['strno']}\" />\n";
                        echo "</form>\n";
index 9a22f52a982c82a7e03dd10601c80155ec5cbefa..bd2cdfe70d214ef877eca96438009a9acf066bf1 100755 (executable)
                                echo "<input type=\"hidden\" name=\"nsp\" value=\"", htmlspecialchars($_REQUEST['nsp']), "\" />\n";
                        }
 
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<p><input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
                        echo "<input type=\"hidden\" name=\"database\" value=\"", htmlspecialchars($_REQUEST['database']), "\" />\n";
                        echo $misc->form;
index 2333878f6ab80f668e7541b5efa4f84810c46424..75ee4c48ba4cd05a1710add779b230082b8f07a0 100644 (file)
                                echo "<input type=\"hidden\" name=\"sequence\" value=\"", htmlspecialchars($_REQUEST['sequence']), "\" />\n";
                        }
 
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<p><input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
                        echo $misc->form;
                        echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
index 10abcc1db8181a13c19baf53960c9bd0fb906818..5beb2437e6baf691ff79f6f4d02fefe49a6cbfd6 100644 (file)
                echo "\t<option value=\"TRIGGER\"", ($_REQUEST['filter'] == 'TRIGGER') ? ' selected="selected"' : '', ">{$lang['strtriggers']}</option>\n";
                echo "\t<option value=\"CONSTRAINT\"", ($_REQUEST['filter'] == 'CONSTRAINT') ? ' selected="selected"' : '', ">{$lang['strconstraints']}</option>\n";
                echo "\t<option value=\"FUNCTION\"", ($_REQUEST['filter'] == 'FUNCTION') ? ' selected="selected"' : '', ">{$lang['strfunctions']}</option>\n";
-               if ($data->hasDomains())
-                       echo "\t<option value=\"DOMAIN\"", ($_REQUEST['filter'] == 'DOMAIN') ? ' selected="selected"' : '', ">{$lang['strdomains']}</option>\n";
+               echo "\t<option value=\"DOMAIN\"", ($_REQUEST['filter'] == 'DOMAIN') ? ' selected="selected"' : '', ">{$lang['strdomains']}</option>\n";
                if ($conf['show_advanced']) {
                        echo "\t<option value=\"AGGREGATE\"", ($_REQUEST['filter'] == 'AGGREGATE') ? ' selected="selected"' : '', ">{$lang['straggregates']}</option>\n";
                        echo "\t<option value=\"TYPE\"", ($_REQUEST['filter'] == 'TYPE') ? ' selected="selected"' : '', ">{$lang['strtypes']}</option>\n";
                        echo "\t<option value=\"OPERATOR\"", ($_REQUEST['filter'] == 'OPERATOR') ? ' selected="selected"' : '', ">{$lang['stroperators']}</option>\n";
                        echo "\t<option value=\"OPCLASS\"", ($_REQUEST['filter'] == 'OPCLASS') ? ' selected="selected"' : '', ">{$lang['stropclasses']}</option>\n";
-                       if ($data->hasConversions())
-                               echo "\t<option value=\"CONVERSION\"", ($_REQUEST['filter'] == 'CONVERSION') ? ' selected="selected"' : '', ">{$lang['strconversions']}</option>\n";
+                       echo "\t<option value=\"CONVERSION\"", ($_REQUEST['filter'] == 'CONVERSION') ? ' selected="selected"' : '', ">{$lang['strconversions']}</option>\n";
                        echo "\t<option value=\"LANGUAGE\"", ($_REQUEST['filter'] == 'LANGUAGE') ? ' selected="selected"' : '', ">{$lang['strlanguages']}</option>\n";
                }
                echo "</select>\n";
index d91fd6bf355f34eb9c3cc72661a2f02ebde5024a..af01e52a11782519715b1753aac8eb8183dcc985 100644 (file)
 
                        echo "<input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
                        echo $misc->form;
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
                        echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
                        echo "</form>\n";
                        }
                        echo "<input type=\"hidden\" name=\"action\" value=\"vacuum\" />\n";
                        echo $misc->form;
-                       // Show vacuum full option if supportd
-                       if ($data->hasFullVacuum()) {
-                               echo "<p><input type=\"checkbox\" id=\"vacuum_full\" name=\"vacuum_full\" /> <label for=\"vacuum_full\">{$lang['strfull']}</label></p>\n";
-                               echo "<p><input type=\"checkbox\" id=\"vacuum_analyze\" name=\"vacuum_analyze\" /> <label for=\"vacuum_analyze\">{$lang['stranalyze']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"vacuum_full\" name=\"vacuum_full\" /> <label for=\"vacuum_full\">{$lang['strfull']}</label></p>\n";
+                       echo "<p><input type=\"checkbox\" id=\"vacuum_analyze\" name=\"vacuum_analyze\" /> <label for=\"vacuum_analyze\">{$lang['stranalyze']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"vacuum\" value=\"{$lang['strvacuum']}\" />\n";
                        echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
                        echo "</form>\n";
                        ),
                );
 
-               if (!$data->hasAnalyze()) unset($actions['analyze'], $multiactions['actions']['analyze']);
                if (!$data->hasTablespaces()) unset($columns['tablespace']);
 
                $misc->printTable($tables, $columns, $actions, $lang['strnotables']);
index c08b76d877a71617133941f149e1cd1c0ac914b4..a2e9bb8ca7e86771905741ab6684e8f6f42b0b26 100644 (file)
@@ -79,7 +79,7 @@
                                htmlspecialchars($_POST['name'], ENT_QUOTES), "\" /></td></tr>\n";
 
                        $server_info = $misc->getServerInfo();
-                       if ($data->hasAlterTableOwner() && $data->isSuperUser($server_info['username'])) {
+                       if ($data->isSuperUser($server_info['username'])) {
                                echo "<tr><th class=\"data left required\">{$lang['strowner']}</th>\n";
                                echo "<td class=\"data1\"><select name=\"owner\">";
                                while (!$users->EOF) {
                        echo "<input type=\"hidden\" name=\"table\" value=\"", htmlspecialchars($_REQUEST['table']), "\" />\n";
                        echo "<input type=\"hidden\" name=\"column\" value=\"", htmlspecialchars($_REQUEST['column']), "\" />\n";
                        echo $misc->form;
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\"> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\"> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
                        echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
                        echo "</form>\n";
                        ),
                );
 
-               if (!$data->hasDropColumn()) unset($actions['drop']);
-
                $misc->printTable($attrs, $columns, $actions, null, 'attPre');
 
                echo "<ul class=\"navlink\">\n";
index 7396bb888199ca2616d7a74b45b530e159374ad4..37675bdb447d3853027c0cb86cd515c97fc65b74 100644 (file)
        $t->assertText("//p[@class='comment']", 'altered comment');
        
        /*table owner*/
-       if ($data->hasAlterTableOwner()) {
-               $t->addComment('4.3. alter table owner');
-               $t->clickAndWait("//div[@class='trail']/descendant::a[@title='{$lang['strdatabase']}']/span[@class='label' and text()='{$testdb}']");
-               $t->clickAndWait("link={$lang['strschemas']}");
-               $t->clickAndWait("link=test_schema");
-               $t->clickAndWait("link={$lang['strtables']}");
-               $t->clickAndWait("//tr/td/a[text()='test_renamed']/../../td/a[text()='{$lang['stralter']}']"); /*alter using the link in the table list page*/
-               $t->select('owner', "label={$user}");
-               $t->clickAndWait('alter');
-               $t->assertText("//p[@class='message']", $lang['strtablealtered']);
-               $t->clickAndWait("//div[@class='trail']/descendant::a[@title='{$lang['strschema']}']/span[@class='label' and text()='test_schema']");
-               $t->clickAndWait("link={$lang['strtables']}");
-               $t->assertText("//tr/td[2]/a[text()='test_renamed']/../../td[3]", $user);
-       }
+       $t->addComment('4.3. alter table owner');
+       $t->clickAndWait("//div[@class='trail']/descendant::a[@title='{$lang['strdatabase']}']/span[@class='label' and text()='{$testdb}']");
+       $t->clickAndWait("link={$lang['strschemas']}");
+       $t->clickAndWait("link=test_schema");
+       $t->clickAndWait("link={$lang['strtables']}");
+       $t->clickAndWait("//tr/td/a[text()='test_renamed']/../../td/a[text()='{$lang['stralter']}']"); /*alter using the link in the table list page*/
+       $t->select('owner', "label={$user}");
+       $t->clickAndWait('alter');
+       $t->assertText("//p[@class='message']", $lang['strtablealtered']);
+       $t->clickAndWait("//div[@class='trail']/descendant::a[@title='{$lang['strschema']}']/span[@class='label' and text()='test_schema']");
+       $t->clickAndWait("link={$lang['strtables']}");
+       $t->assertText("//tr/td[2]/a[text()='test_renamed']/../../td[3]", $user);
        
        /*alter schema*/
        if ($data->hasAlterTableSchema()) {
        $t->type('comment', 'normal comment');
        if ($data->hasAlterTableSchema())
                $t->select('newschema', 'label=test_schema');
-       if ($data->hasAlterTableOwner())
-               $t->select('owner', "label={$admin_user}");
+       $t->select('owner', "label={$admin_user}");
        $t->clickAndWait('alter');
        $t->assertText("//p[@class='message']", $lang['strtablealtered']);
        $t->assertText("//div[@class='trail']/descendant::a[@title='{$lang['strtable']}']/span[@class='label']", 'test');
        $t->assertText("//div[@class='trail']/descendant::a[@title='{$lang['strschema']}']/span[@class='label']", 'test_schema');
        $t->clickAndWait("//div[@class='trail']/descendant::a[@title='{$lang['strschema']}']/span[@class='label' and text()='test_schema']");
        $t->clickAndWait("link={$lang['strtables']}");
-       if ($data->hasAlterTableOwner())
-               $t->assertText("//tr/td[2]/a[text()='test']/../../td[3]", $admin_user);
+       $t->assertText("//tr/td[2]/a[text()='test']/../../td[3]", $admin_user);
 
        $t->logout();
        $t->writeTests("{$test_static_dir}/{$server['desc']}/table.html", $testsuite_file);
index d597b63d9598a0b7aa8e96b1d1b5fafc5204db9a..9aa8c87c1dbab22179544ea0be60eb160d6f130b 100644 (file)
                        echo "<input type=\"hidden\" name=\"table\" value=\"", htmlspecialchars($_REQUEST['table']), "\" />\n";
                        echo "<input type=\"hidden\" name=\"trigger\" value=\"", htmlspecialchars($_REQUEST['trigger']), "\" />\n";
                        echo $misc->form;
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"yes\" value=\"{$lang['stryes']}\" />\n";
                        echo "<input type=\"submit\" name=\"no\" value=\"{$lang['strno']}\" />\n";
                        echo "</form>\n";
                        }
                }
 
-               if (!$data->hasAlterTrigger()) unset($actions['alter']);
-
                $misc->printTable($triggers, $columns, $actions, $lang['strnotriggers'], 'tgPre');
                
                echo "<p><a class=\"navlink\" href=\"triggers.php?action=create&amp;{$misc->href}&amp;table=", urlencode($_REQUEST['table']), "\">{$lang['strcreatetrigger']}</a></p>\n";
index 7357b256445c2850f49e0c47db8ecf88ac114136..6b28e6f2225da32c0f2aed40f3d85946b2100510 100644 (file)
--- a/types.php
+++ b/types.php
                        echo "<p>", sprintf($lang['strconfdroptype'], $misc->printVal($_REQUEST['type'])), "</p>\n";
 
                        echo "<form action=\"types.php\" method=\"post\">\n";
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<p><input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
                        echo "<input type=\"hidden\" name=\"type\" value=\"", htmlspecialchars($_REQUEST['type']), "\" />\n";
                        echo $misc->form;
                $misc->printTable($types, $columns, $actions, $lang['strnotypes']);
 
                echo "<ul class=\"navlink\">\n\t<li><a href=\"types.php?action=create&amp;{$misc->href}\">{$lang['strcreatetype']}</a></li>\n";
-               if ($data->hasCompositeTypes())
-                       echo "\t<li><a href=\"types.php?action=create_comp&amp;{$misc->href}\">{$lang['strcreatecomptype']}</a></li>\n";
+               echo "\t<li><a href=\"types.php?action=create_comp&amp;{$misc->href}\">{$lang['strcreatecomptype']}</a></li>\n";
                if ($data->hasEnumTypes())
                        echo "\t<li><a href=\"types.php?action=create_enum&amp;{$misc->href}\">{$lang['strcreateenumtype']}</a></li>\n";
                echo "</ul>\n";
index 378165b79f997235220c7814057a0156ccba8e47..1a0c20d3f686bd98b5c9f83279ee7e28f17dbff4 100644 (file)
--- a/users.php
+++ b/users.php
                        $userdata->fields['usecreatedb'] = $data->phpBool($userdata->fields['usecreatedb']);
                        echo "<table>\n";
                        echo "<tr><th class=\"data\">{$lang['strusername']}</th><th class=\"data\">{$lang['strsuper']}</th><th class=\"data\">{$lang['strcreatedb']}</th><th class=\"data\">{$lang['strexpires']}</th>";
-                       if ($data->hasUserSessionDefaults()) echo "<th class=\"data\">{$lang['strsessiondefaults']}</th>";
+                       echo "<th class=\"data\">{$lang['strsessiondefaults']}</th>";
                        echo "</tr>\n";
                        echo "<tr>\n\t<td class=\"data1\">", $misc->printVal($userdata->fields['usename']), "</td>\n";
                        echo "\t<td class=\"data1\">", $misc->printVal($userdata->fields['usesuper'], 'yesno'), "</td>\n";
                        echo "\t<td class=\"data1\">", $misc->printVal($userdata->fields['usecreatedb'], 'yesno'), "</td>\n";
                        echo "\t<td class=\"data1\">", ($userdata->fields['useexpires'] == 'infinity' || is_null($userdata->fields['useexpires']) ? $lang['strnever'] : $misc->printVal($userdata->fields['useexpires'])), "</td>\n";
-                       if ($data->hasUserSessionDefaults()) echo "\t<td class=\"data1\">", $misc->printVal($userdata->fields['useconfig']), "</td>\n";
+                       echo "\t<td class=\"data1\">", $misc->printVal($userdata->fields['useconfig']), "</td>\n";
                        echo "</tr>\n</table>\n";
                }
                else echo "<p>{$lang['strnodata']}</p>\n";
                        ),
                );
                
-               if (!$data->hasUserSessionDefaults()) unset($columns['defaults']);
-               
                $misc->printTable($users, $columns, $actions, $lang['strnousers']);
 
                echo "<p><a class=\"navlink\" href=\"users.php?action=create&amp;{$misc->href}\">{$lang['strcreateuser']}</a></p>\n";
index d0c8f14875b7c8ae7bb68a4aaa75f1827329fd38..c52110c7416cf6df022e2354ad1e989edf536161 100755 (executable)
                                        $_REQUEST['comment'] = $column->fields['comment'];
                                }
 
-                               // If name of view column is editable, make it a field
-                               if ($data->hasViewColumnRename()) {
-                                       echo "<tr><td><input name=\"field\" size=\"32\" value=\"",
-                                               htmlspecialchars($_REQUEST['field']), "\" /></td>";
-                               }
-                               else {
-                                       echo "<tr><td>", htmlspecialchars($column->fields['attname']), "</td>";                                 
-                               }
+                               echo "<tr><td><input name=\"field\" size=\"32\" value=\"",
+                                       htmlspecialchars($_REQUEST['field']), "\" /></td>";
+                               
                                echo "<td>", $misc->printVal($data->formatType($column->fields['type'], $column->fields['atttypmod'])), "</td>";
                                echo "<td><input name=\"default\" size=\"20\" value=\"", 
                                        htmlspecialchars($_REQUEST['default']), "\" /></td>";
                                global $data, $lang;
 
                                // Check inputs
-                               if ($data->hasViewColumnRename() && trim($_REQUEST['field']) == '') {
+                               if (trim($_REQUEST['field']) == '') {
                                        $_REQUEST['stage'] = 1;
                                        doProperties($lang['strcolneedsname']);
                                        return;
                                }
                                
-                               // If we aren't able to rename view columns, set new name to equal old name always
-                               if (!$data->hasViewColumnRename()) $_REQUEST['field'] = $_REQUEST['column'];
-                               
                                // Alter the view column
                                $status = $data->alterColumn($_REQUEST['view'], $_REQUEST['column'], $_REQUEST['field'], 
                                                             false, false, $_REQUEST['default'], $_REQUEST['olddefault'],
                                        htmlspecialchars($_POST['name']), "\" /></td></tr>\n";
 
                                $server_info = $misc->getServerInfo();
-                               if ($data->hasAlterTableOwner() && $data->isSuperUser($server_info['username'])) {
+                               if ($data->isSuperUser($server_info['username'])) {
 
                                        // Fetch all users
                                        $users = $data->getUsers();
index 056b8fc6170a5d1f8fd141449f60221ce0cfc144..60d559d729e0719898e2c57fbabcd8dbb110b416 100644 (file)
--- a/views.php
+++ b/views.php
                        echo "<input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
                        
                        echo $misc->form;
-                       // Show cascade drop option if supportd
-                       if ($data->hasDropBehavior()) {
-                               echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
-                       }
+                       echo "<p><input type=\"checkbox\" id=\"cascade\" name=\"cascade\" /> <label for=\"cascade\">{$lang['strcascade']}</label></p>\n";
                        echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
                        echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
                        echo "</form>\n";