# SNOBOL4SQLITE3DBM(3) | CSNOBOL4B 2.3.2 | Janurary 1, 2024

## NAME

snobol4sqlite3dbm – "dbm" style interface for SNOBOL4 using SQLite3

## SYNOPSIS

    -INCLUDE 'sqlite3dbm.3'

            dbhandle = SQL3DBM_OPEN(file,flags,mode)

            SQL3DBM_CLOSE(dbhandle)

            SQL3DBM_STORE(dbhandle,key,datum,flags)

            datum = SQL3DBM_FETCH(dbhandle,key)

            SQL3DBM_DELETE(dbhandle,key)

            key = SQL3DBM_FIRSTKEY(dbhandle)

            key = SQL3DBM_NEXTKEY(dbhandle)

            SQL3DBM_ERRMSG(dbhandle)

## DESCRIPTION

A DBM compatible interface for snobol4(1) using the sqlite3 embedded database engine, and allows concurrent access by multiple processes.

SQL3DBM_OPEN
  takes a filename (STRING), and ignores any additional arguments, and returns a database handle.

SQL3DBM_CLOSE
  takes a database handle and closes it.

SQL3DBM_STORE
  takes a database handle, a key, a value, and a flag, one of SQL3DBM_INSERT or SQL3DBM_REPLACE.

SQL3DBM_FETCH
  takes a database handle and a key and returns a datum (if any) stored with that key.

SQL3DBM_DELETE
  takes a database handle and a key and deletes the stored datum (if any).

SQL3DBM_FIRSTKEY
  takes a database handle and returns a database key.

SQL3DBM_NEXTKEY
  takes a database handle and returns a database key when called after SQL3DBM_FIRSTKEY.

SQL3DBM_ERRMSG
  takes a database handle and string for the last sqlite3 database error.

## COMPATIBILITY

database compatible with Python sqlite3dbm

## SEE ALSO

snobol4(1), snobol4dbm(3), sqlite3(1)

## AUTHOR

Philip L. Budne