OpenSER module dbtext

db_text implements a simplified database engine based on text files. It can be used by OpenSER DB interface instead of other database module (like MySQL, PostgreSQL, UnixODBC).

The module was meant for use in demos or small devices that do not support other DB modules. It keeps everything in memory and if you deal with large amount of data you may run quickly out of memory. The changes done in memory are flushed back at shutdown. If disk files are modified during run time, the changes are not reflected inside OpenSER.

Also, it has not implemented all standard SQL database facilities (like order by), it includes minimal functionality to work OpenSER.

Example of dbtext table:


id(int,auto) name(str) flag(double) desc(str,null)
1:nick:0.34:a\tgood\: friend
2:cole:-3.75:colleague
3:bob:2.50:


Types of columns that can be defined in tbtext tables:
  • int - integer numbers.
  • double - real numbers with two decimals.
  • str - strings with maximum size of 4KB.

A column can have one of the attributes:
  • auto - only for 'int' columns, the maximum value in that column is incremented and stored in this field if it is not provided in queries.
  • null - accept null values in column fields.
  • if no attribute is set, the fields of the column cannot have null value

Links to documentation of dbtext module:
db_text implements a simplified database engine based on text files. It can be used by OpenSER DB interface instead of other database module (like MySQL, PostgreSQL, UnixODBC).

The module was meant for use in demos or small devices that do not support other DB modules. It keeps everything in memory and if you deal with large amount of data you may run quickly out of memory. The changes done in memory are flushed back at shutdown. If disk files are modified during run time, the changes are not reflected inside OpenSER.

Also, it has not implemented all standard SQL database facilities (like order by), it includes minimal functionality to work OpenSER.

Example of dbtext table:


id(int,auto) name(str) flag(double) desc(str,null)
1:nick:0.34:a\tgood\: friend
2:cole:-3.75:colleague
3:bob:2.50:


Types of columns that can be defined in tbtext tables:
  • int - integer numbers.
  • double - real numbers with two decimals.
  • str - strings with maximum size of 4KB.

A column can have one of the attributes:
  • auto - only for 'int' columns, the maximum value in that column is incremented and stored in this field if it is not provided in queries.
  • null - accept null values in column fields.
  • if no attribute is set, the fields of the column cannot have null value

Links to documentation of dbtext module:
Created by: miconda, Last modification: Thu 15 of Feb, 2007 (10:40 UTC)
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+