Email: perl at dslextreme.com
Fax: 408-268-1162
Contact Me

About TCU.
Services Software Products
  • The Computer Underground
    Articles
  • Free Documentation

  • Employee Webpages
    & Description
  • Friends & Associates
  • Grand Unverisal Professional PostgreSQL System (GUPPS)

    by Mark Nielsen (originally)

    This as previously known as MAPPS. Currently, the best place to look for the original version of GUPPS is at gnujobs.com or The Linux Gazette. As soon as Python has been fully integrated with GUPPS, future versions will appear here (Jan 02 ???).

    Versions of GUPPS

    What is GUPPS?

    GUPPS will only apply to the following database servers:
    1. Tables which have sequences that can be used for Primary Keys.
    2. SQL stored procedures.
    3. Procedural Language SQL Stored Procedures.
    4. Can embed at least one programming language to create stored procedures.
    5. Stored procedures can take at least 512 values.
    6. Unlimited text field.
    7. (When PostgreSQL 7.2 comes out) Return more than 1 variable for a stored procedure (preferably at least 512).
    Currently, PostgreSQL is the only database supported. After various programming languages are added, more database servers will be supported.

    GUPPS capabilities are (or will be) for such a database server:

    1. Setup an entire database system from a simple list of tables and their fields. This includes setting up all tables with:
      1. Primary Keys
      2. Sequences for the Primary Keys
      3. Foriegn Key constraints when referencing keys from other tables.
      4. Creation Date and Update Date for each entry into a table.
      5. Creation of all stored procedures to manipulate data in any row of any table.
      6. To abstract out the manipulation of data so that no programming language needs to create sql statements other than select statements.
      7. Setup an "active" field.
      8. Backup all changes to table to backup tables,
    2. Create modules for various programming languages (Perl, Python, PHP, JAVA, etc) to execute the stored procedures. To remove the web programmer from having to create sql select statements to manipulate data, but instead, to use the modules for the programming language.
    3. Create sample web scripts for various programming languages so that:
      1. Any single field in any row of any table can be altered.
      2. Web scripts take full use of modules created for language.
      3. Has enough example code so that novice programmers can change code to match their needs.
    4. Embed at least one programming language to handle complex regular expressions stored procedures.
    5. Backup a table or database if someone reruns the program.
    6. (Not currently implemented) If changes to a table are made, delete, add, or change columns appropriately; or create a new table and copy data over.
    7. Relatively easy to add custom modules, data, templates, etc.
    8. (Not currently implemented) Save changes to system in CVS or Subversion.
    9. Implements Standard Database Setup.

    The goals of GUPPS is to

    1. To make it relatively less painful to switch from one programming language to another for your web/database system should you require a programming language change.
    2. To let web programmers setup entire database systems in a sysmatic format so that they don't need expensive database administrators to set things up for them (creating tables, stored procedures, etc).
    3. To let inexpericed database administrators have a tool they can use quickly to make powerful database systems.
    4. To give novice web programmers consistent modules and sample web scripts so that they don't go amuck creating wacky code that nobody can understand. To also give them examples on how to do things so that they don't spend endless hours trying to get an undcoumented feature to work. Example code is better than documentation.
    5. To help a business owner to fire his web/database programmers (in case they aren't top notch quality) by using a system that other people can use easily.
    6. To drive down the costs of web/database programmers.
    7. To empower web/database programmers so that they can create and get paid for creating projects rather than just maintaining a system.


    Copyrighted by The Computer Underground, Inc, 2001.

    These webpages are powered by Bluefish Linux, Perl, Php, PostgreSQL, and Apache. All of the webpages are driven by server side includes, CGI.pm, DBI.pm, Pg.pm, or other scripting resources. The need for GUI editors seems trivial when using ssi. SSI is much easier to use for a real webmaster. Notice how the server side include puts the correct time stamp of any file inside the webpage. Other web servers don't use ssi correctly. A ssi which includes a command or other ssi should have the content executed AFTER it is included -- a lot of other broken web servers don't do this, they execute code before the content is included (which would give you the timestamp of the included file and not the current file for the timestamp below). This is one of the many reasons why Apache is the most popular webserver used by the experts.

    
    
    
    FILE LAST MODIFIED: Friday, 13-Dec-2002 09:23:48 PST