Hello gurus!

I'm also looking for an open-source database replacement for Progress 
database.

I, too, have been looking at MySQL and PostgreSQL and I'd appreciate more 
inputs on what differentiates the two, and how each can address my database 
requirements and deployments.

The client machines are Pentium 120 64MB RAM. The servers are Compaq Proliant 
Pentium II 450 128MB RAM. I'd use Windows 95/98 for the clients while the 
servers will run Linux.

I'd like to create a GUI application using Progress RAD tools. This 
application will be point-of-sale counter front-ends, the ones cashiers will 
use. The application will communicate with the database on the Linux server 
through ODBC.

1. Does MySQL and PostgreSQL support table-locking and record-locking? This 
feature is important in multi-user record resolution. 

With Progress database, I code these statements if I simply want to search and 
read the record, and display the result onscreen: 

        FIND record WHERE criteria = "" NO-LOCK, NO-ERROR.
        IF NOT AVAILABLE record THEN
           DO:
              MESSAGE "Record not found" VIEW-AS ALERT-BOX INFO.
              RETURN NO-APPLY.                   
           END.
        ELSE
            DISPLAY record WITH FRAME frame-name.

If I want to lock the record and update the desired fields. It's as simple as 
changing the NO-LOCK to EXCLUSIVE-LOCK:

        DO:
          FIND record WHERE criteria = "" EXCLUSIVE-LOCK, NO-ERROR.
          UPDATE record/fields.
          DISPLAY record WITH FRAME frame-name.
        END.

Are there similar, simple, equivalent SQL queries like this in MySQL or 
PostgreSQL? How is table-locking and record-locking implemented? What does 
MySQL mean by atomic transactions? Does MySQL and PostgreSQL support 
transactions (in database parlance)?

3. Can a MySQL or PostgreSQL database grow from 500kb to gigabytes without any 
administrative conversion and maintenance? Progress database is a 
deploy-once-then-forget type of database. It grows to any size without 
needing any administrative tweaking at all.

4. Does MySQL and PostgreSQL support database triggers? Stored procedures?

5. Does MySQL and PostgreSQL enable before-imaging and after-imaging? Are 
there any equivalent technologies that ensures transaction/database integrity 
in these databases?

This is also a very important feature. In Progress, if the machine 
accidentally shuts down and the client has open transactions, Progress will 
automatically roll-back the uncommitted transactions upon startup through 
before-imaging. In this way, database write/update integrity is taken cared 
off automatically without scripting lengthy resolution commands.

6. Can I issue SQL commands through ODBC in the client GUI to MySQL or 
PostgreSQL Linux databases, so that the client can dynamically open and close 
database connections? 

7. Does MySQL and PostgreSQL support multiple database connections? 

8. Can MySQL and PostgreSQL store BLOBS (binary, large objects)?


Thank you very much in advance.

-- 
mikol

"There is no concept more closer to intellectual emancipation than free 
software. Freedom to responsibly code and share in its most free and pure 
form."                          -- Floyd Robinson,  September 24, 2002
-- 
mikol

"There is no concept more closer to intellectual emancipation than free 
software. Freedom to responsibly code and share in its most free and pure 
form."                          -- Floyd Robinson,  September 24, 2002
_
Philippine Linux Users Group. Web site and archives at http://plug.linux.org.ph
To leave: send "unsubscribe" in the body to [EMAIL PROTECTED]

Fully Searchable Archives With Friendly Web Interface at http://marc.free.net.ph

To subscribe to the Linux Newbies' List: send "subscribe" in the body to 
[EMAIL PROTECTED]

Reply via email to