Programming guide to Unibase

17 : Planning on programming the database

There is a total line of versions of the database coming up. The database works as it is but many improvements can still be made to the implementation. This is a view in the future, it is wat I plan to write. But when I'm not in the position to do a lot of work on this it might take a while to finish it. The current language took me almost a year to write so...

Version 0.2b: Secure web-sites

Better socket application, multi socket.
Separate security application, sockets between server and security.
Internet security item in manual.
Page for changing profile in security application.
Page style routines in html module.
Page for monitoring user attributes for administrator.
Granting rights to others for parts of the site = subset of records.
E-mail handling routines for sending confirmation e-mails.
Set of user options on handling security. Including sending log-file at intervals to administrator.

Version 0.2c: Web design

Style editing interface routines.
Basic contents change routines.
Basic statistics in user interface.
Load and save of tables by the server.
Save of the data on specific moments in time.
User options on handling web-pages.
Export by the standard make-file to a separate directory.

Version 0.3: Bugs

Pointer update with deletion together with branch boundary.
Bug with underscores in table names, solve with longer field name.
Key index always first in add/update routines.
Change text type to better string handling including NUL token.
Handling of global time/pointer fields. Initiating them correctly.

Version 0.4: Options file/ better daemon handling

Signal handling.
Options file can be changed during execution.
User option to prevent writing to the log.
Checks correct porting to multiple standards and platforms.

Version 0.6: More checks in compiler

Correct handling of local variables.
Correct handling of local routines.
Correct handling of local tables.
Checks on use of variables.
Checks on multi edit/add on records.
Checks on the use of fields.
Checks on use of return.
Checks in loops on error condition.
Intelligent checks on naming of routines to prevent errors.
Generate error condition when looping.
Prevent the use of pointers in table fields till advanced database.

Version 0.8: Advanced Documentation

Automatic link to the URL of a module. Inclusion of header info.
More documentation in the normal language modules.
Document the used C-structures and algorithms.
Better language development part of the user manual.
Omit older versions of the language.
Multi chapter documentation of modules with correct links.
Correct position of links in tags.
Export to texinfo format.

Version 1.0: Correct database

More efficient handling of edit/update statement in case of only non indexed fields.
Handling of changes to sort fields and key fields.
Display string added to variable definition.
Full functionality to cookies.
Checks on double index values.
Checks on complete indexes.

Version 1.2: Advanced database

Rollback handling.
Journal handling.
Journal administration tool.
Handling of pointers in records.
Automatic cleanup of child records.
Advanced text handling: Search, Replace, Like.
User constraints on the database.

Version 1.4: Advanced language

Creation of math module.
Use of internet sockets in same socket module.
Better directory routines: correct use rights of files, other things than files/directories.
Correct use of global variables structure.
Interpreter.
Evaluate function in the language.
Online change of routines.
Differentiation of programming rights.
Online change of tables.
Automatic creation of make file.
Selective recompilation of code.

Version 1.6: Professional database

Historical mutations to tables.
Export/Import database in different formats.
Synchronizing multiple databases.
SQL query creation.
Links to other platforms.