This came to me as a letter and not an article – ED
I am heavy into really relational databases now. The place I work uses Oracle. They have tables in their database with 50 million records or rows are they like to call them. I finally get to compare ARCHIVE (a quasi relational database) with the real thing. One this that is striking is how the syntax of ARCHIVE like insert, select, order and so forth are actually the same terms used in SQL compliant relational databases. As far as I can tell anything you can do in a relational database you can also do in ARCHIVE. In a relational database it can often be done directly while in ARCHIVE you will have to write procedures to do it and often a simple SQL statement can require a lot of procedures to duplicate. Still, taking ARCHIVE and its language you can do about anything you want. It may take too long to be practical but you can still do it.
SQL is only a language used to query a relational database. ARCHIVE is a relational database and most resembles dBase (II/III/IV). When doing queries, both ARCHIVE and dBase suffer when compared to SQL – ED
In your last QHJ you discuss ARCHIVE a little bit. It is a very nice language to use and it is very tight (not many bugs). As you mention the _prg files are text files but the indentations seen in the ARCHIVE editor are not there. There is an easy way to get such a listing. In ARCHIVE you can list a program using the LLIST command. It normally lists to the printer with the indentations shown. If you want to send the listing to a file use the SPOOLON command which will redirect LLIST, LPRINT, and such to a file or to the screen. That way you can use LPRINT and control output from LPRINT to screen, printer, or file.
So if you have some procedures loaded in ARCHIVE: llist will send indented listing to the printer.
spoolon "ram1_proc_txt"<enter>
llist<enter>
spooloff<enter>
will send indented listing to ram1_proc_txt. Be sure to always turn spoolon off or the file is still open and you can’t access it if you haven’t quit ARCHIVE yet.
Spooloff always sets output back to the printer. You can spooloff even if you haven’t done spoolon without an error. A spoolon screen will send output to the screen instead.
Unfortunately there is no way for ARCHIVE to ready text files as when you might want to parse text and turn it into a database. If can, of course, read text files in the standard export format.
You are right in that ARCHIVE can load indented _prg files. One of the more powerful features of ARCHIVE is that you can have an ARCHIVE procedure write a procedure to disk and then merge it and use it. That is one way I have my ARCHIVE programs do things you can’t simply precode.