Re: Announce: BDB-BASIC Release 0.60 Released



It seems that release 0.60 has busted database
functionality. To correct these issues, two
patches have been released:

Patch 1 corrects the broken PRIMARY INDEX and
SECONDARY INDEX statements due to a bug that was
introduced somewhere in recent development.

Patch 2 corrects a couple of other bugs in the
database error handling.

http://sourceforge.net/project/showfiles.php?group_id=213049

To apply these patches, do:

1. cd top_level_build_directory
2. patch -p0 <patch1.txt
3. patch -p0 <patch2.txt
4. make clean
5. make

Future releases will include database tests as part
of the "test suite", to ensure this type of thing
doesn't go unnoticed. But we're slowly getting there.

Warren.

On May 18, 5:40 pm, Charmed Snark <sn...@xxxxxxxxx> wrote:
What is new in BDB-BASIC Snapshot Release 0.60
==============================================

1. The software license has changed to the
GPL2, instead of the LGPL. I generally prefer
the less restrictive license terms but with
this project, I want to avoid commercial firms
repacking the interpreter as part of their
larger package.

This change does not restrict or alter your
freedoms as a user of BDB-BASIC. There are
no restrictions placed upon the code that you
choose to create/execute in the interpreter.

2. The project now is driven by the GNU
autoconf and automake tools, so that on
supported platforms you can ./configure and
build.

Confirmed to build on:

- CYGWIN
- Linux (tested on Dec Alpha)
- Solaris (tested on Intel Solaris 10)
- HPUX-11 (in +DA2.0W/+DD64 architecture)

Will not build on:

- MinGW (gcc limited to 32-bits)
- Native win32 (Nothing done in this area yet)

3. New statements added:

- EXIT FOR
- READ FILE / WRITE FILE (binary I/O)
- SEEK and SEEK END
- UNLINK
- INITIALIZE (clears variables/arrays)
- INPUT and OUTPUT (for CSV format I/O)

4. New commands added:

- QUIT (was EXIT)
- SYMTAB (reorganized output)
- STATUS (program state)
- SHOW FILE (show open file units)
- SHOW STACK (show GOSUB/FOR/NEXT stack)

5. Enhanced commands

- RENUMBER (now can disable "mod100 rule")

6. New built-in variables and constants :

- SYS.LINES (screen lines)
- SYS.COLUMNS (screen columns)
- SYS.CLOCK_TICK (see UTIME/STIME funcs)

7. New general functions

- MAXLENGTH(V$) for variable length char arrays
- DLENGTH(A,D) returns the dimension length of
the array A, for dimension D. This is easier
than coding LAST(A,D)-FIRST(A,D)+1.
- FILESIZE(F) returns the byte length of the
opened file.
- FPOS(F) returns the current file offset of
the opened file.
- CRTYX(P) returns Y or X cursor position.
- UTIME() and STIME() functions return the
CPU time used in user and system modes.
- FNMATCH() does simple file name gobbing
type pattern matches.
- REGEXP() does regular expression matching.
- REGEXP$(N) returns the matched substring
if () are used in the pattern.

8. New PRINT Functions

- HLINE(N) draws a line graphic line for N
chars to the right (left if negative)
- VLINE(N) draws a vertidal line for N chars
in the down direction (up if negative)
- BOX(H,W) draws a line graphic box, starting
from the current cursor position. Cursor is
left in the inside top left.
9. New/Changed Builtin-in Variables

- SYS.O_READ, SYS.O_WRITE, SYS.O_APPEND etc. added
for symbolic use with OPEN FILE.
- ERRS.ENUM changed to ERRS.ENUMC
- SYS.HOST_OS$ now identifies the host O/S
- SYS.HOST_OS_RELEASE$ provides information
about the O/S release.
- SYS.SWITCHCHAR$ is "/" or "\" depending on
host os.

10. Changed Functions

- FABS() function is now named ABS() to be more
consistent with normal use.

11. Paged LIST output

- Long displays like LIST, or SYMTAB etc. are
now stopped on page boundaries when the
interpreter is in full screen (curses) mode.

12. Numerous bug fixes.

- See the change log for the details.

A full description of the changes are found here:

http://bdbbasic.wiki.sourceforge.net/ChangeLog

What is BDB-BASIC?
==================

BDB-BASIC is an interpreted BASIC dialect. It is
a modern dialect, which was influenced by Data
General's MICOS BASIC, which was used by small
businesses. However, BDB-BASIC also includes
modern extensions to include some features of the
ADA95 language such as array slicing and
subscripts with user selected bounds.

It is also designed to be a POSIX system friendly
shell. For example, you can read or write files
in shell I/O redirected fashion if required. For
example:

$ bb 5<somefile1 6>somefile2

will be usable on file units 5 and 6, by the
interpreted basic program.

Shell friendliness extends to the terminal input
and output. BDB-BASIC stays in tty mode until
forced into full screen mode (using curses). This
permits BDB-BASIC to be used in place of a shell
script. A BDB-BASIC program can also be started
using the #! shell hack.

Finally, BDB-BASIC is designed to provide
database facilities using the Berkeley DB
library. Transactional I/O with primary and
secondary indexes. No knowledge of SQL is
required.

BDB-BASIC is targeted to small businesses, SOHO
operations, engineering and scientific
applications. It is also designed to be very easy
to learn, making it a suitable environment for
students.

Warren.

.



Relevant Pages

  • Re: Event 1000 Windows SharePoint Services 2.0 Error
    ... I don't have a dedicated IT staff either, I'm a DIY but I have not deviated ONE BIT in patch management since SBS 4.5. ... Volume Shadow Copy for D Drive is enabled. ... At 3 am this morning, my MSSQL$Sharepoint service stopped running and the server restarts by itself, most probably due to an update. ... And this morning when I came to work, I discovered that when I try to access http://companyweb/, I receive the "Cannot connect to the configuration database." ...
    (microsoft.public.windows.server.sbs)
  • Re: why>?
    ... SOME DIPSHIT ACCESS PROGRAM MANAGER MADE ACCESS 2000 NEED A PATCH TO ... have changed the size of the matrix to invert automatically. ... how is the database superstar coming along with this? ... us once more how efficient you are as compared to the spreadsheet dorks ...
    (microsoft.public.excel)
  • Re: Bug in #! processing - One More Time
    ... this is the patch that I have been working with for the ... * Shell interpreter image activator. ... * any of those other OS's, it should be able to handle it for FreeBSD too. ...
    (freebsd-arch)
  • Re: Copy over current Database
    ... However, the shell ... function is not letting me call out a .mdb file. ... The database will not need to be updated ... >> folder, and I can open it from UserDB, but how do I ...
    (microsoft.public.access.modulesdaovba)
  • RE: Copy over database
    ... However, the shell ... function is not letting me call out a .mdb file. ... The database will not need to be updated ... >> folder, and I can open it from UserDB, but how do I ...
    (microsoft.public.access.modulesdaovba)