PBBS16 Documentation


Professional BBS uses 3 different types of databases. For languages, PBBS uses a simple ASCII CR/LF text file per language. For messages, PBBS uses the JAMmb API. For everything else PBBS uses SQLite3 as an embedded SQL database solution. While we could have easily made PBBS dependent upon our Premier SQL Server, the product is cost prohibitive. We could have used MySQL, except for the latency associated with jumping to another socket server (MySQL Listener) every time the BBS needs to save or load data did not make sense ... which left me with two choices, using the built-in xBase engine and do FoxPro for fast storage and retrieval, or leverage a more modern database (SQL) solution - which is available for every operating system and platform we support... SQLite3.

Even though I am certified as a DBA for Oracle, Microsoft SQL and even IBM's DB/2. PBBS is not using SQLite3 like a full SQL Server, instead everything is built using slightly optimized SQL queries, and direct Inserts or Updates. We do not have to worry about SQL injection, as PBBS communicates directly to the SQLite3 API - so we do not even do parameterized SQL statements. A client connection cannot obtain direct access to SQLite3, unless it is a bug or hack by a third-party developer who produced a MOD (modification) for you.


This section will be published soon - it will contain a list of each of the individual .SL3 files used by PBBS and explain the functionality.


This section will be published soon - it will contain a list of each of the table(s) found in each .SL3 database file. I will explain the fields and functionality of each table.