Reset sequences, a little more sequence groundwork
authorxzilla <xzilla>
Thu, 3 Oct 2002 03:59:06 +0000 (03:59 +0000)
committerxzilla <xzilla>
Thu, 3 Oct 2002 03:59:06 +0000 (03:59 +0000)
classes/database/Postgres.php
public_html/sequences.php

index 5dab9e6b33be4482c109ebf75448da2f12a81d8b..ff39cf64848eab5c150333f142ecfefa017f1d4f 100755 (executable)
@@ -4,7 +4,7 @@
  * A class that implements the DB interface for Postgres\r
  * Note: This class uses ADODB and returns RecordSets.\r
  *\r
- * $Id: Postgres.php,v 1.15 2002/09/27 14:15:47 xzilla Exp $\r
+ * $Id: Postgres.php,v 1.16 2002/10/03 03:59:06 xzilla Exp $\r
  */\r
 \r
 // @@@ THOUGHT: What about inherits? ie. use of ONLY???\r
@@ -341,9 +341,33 @@ class Postgres extends BaseDB {
                return $this->execute($sql);\r
        }\r
 \r
-/*\r
-       function setSequence()\r
-*/\r
+       /** \r
+        * Creates a new sequence\r
+        * @return 0 success\r
+        */\r
+       function &setSequence($sequence,$startval=1) {\r
+               $this->clean($sequence);\r
+               $sql = "CREATE SEQUENCE $seq_name START $startval";\r
+               return $this->execute($sql);\r
+       }\r
+\r
+       /** \r
+        * Modifies permissions on a given sequence\r
+        * @return 0 success\r
+        */\r
+       function &setSequencePermissions($sequence) {\r
+\r
+       }\r
+\r
+       /** \r
+        * Resets  a given sequence to 1\r
+        * @return 0 success\r
+        */\r
+       function &resetSequence($sequence) {\r
+               $this->clean($sequence);\r
+               $sql = "SELECT setval('$sequence',1)";\r
+               return $this->execute($sql);\r
+       }\r
 \r
        /**\r
         * Adds a check constraint to a table\r
index 1a9991b1e04de2a36557354c405c59deac53f6f5..f8469a42d3d2f453c629cc4ef02285994eaa041f 100644 (file)
@@ -3,7 +3,7 @@
  *  FILENAME:   sequence.php
  *  AUTHOR:     Ray Hunter <rhunter@venticon.com>
  *
- *  $Id: sequences.php,v 1.6 2002/09/27 14:15:49 xzilla Exp $
+ *  $Id: sequences.php,v 1.7 2002/10/03 03:59:06 xzilla Exp $
  */
 
 include_once( '../conf/config.inc.php' );
@@ -99,7 +99,8 @@ function doDefault()
 
        function doPrivileges()
        {
-
+               global $localData, $database;
+               global $PHP_SELF, $strSequences ;
        }
 
        function doDrop($confirm)
@@ -129,30 +130,46 @@ function doDefault()
 
        }
 
+
+       function doReset()
+       {
+               global $localData, $database;
+               global $PHP_SELF, $strSequences, $strDropped, $strDrop, $strFailed;
+
+               $status = $localData->resetSequence($_REQUEST['sequence']);
+               if ($status == 0)
+                       doDefault("$strSequence has been reset");
+               else    
+                       doDefault("$strSequence reset failed");
+       }
+
 echo "<html>\n";
 echo "<body>\n";
 
 switch( $action )
 {
-    case 'create':
-        echo "<p>Creating sequence</p>";
-        break;
+       case 'create':
+               echo "<p>Creating sequence</p>";
+               break;
        case 'properties':
                doProperties(); 
                break;
        case 'drop':
-                       if ($_POST['choice'] == 'Yes') doDrop(false);
-                       else doDefault();
-                       break;
+               if ($_POST['choice'] == 'Yes') doDrop(false);
+               else doDefault();
+               break;
        case 'confirm_drop':
                doDrop(true);
                break;                  
        case 'privileges':
                doPrivileges();
                break;
-    default:
-        doDefault();
-        break;
+       case 'reset':
+               doReset();
+               break;
+       default:
+               doDefault();
+               break;
 }
 
 echo "</body>\n";