- Basic class still had a "split" call -> change that to explode
- The prepare DB IO part missed setting pk name for the cursor to null
so no returning is assumed
- all data stored in array (size contrain needs to be checked)
- allows any returning data
- only named rows are returned (no numbers for column access)
- if multiple rows then insert_id is an array with the return data
- if single row the insert_id holds the PK, and insert_id_ext holds
extended data if exists
If an INSERT had multiple inserts (values) the returning only returned
the first one and never the other ones.
This is fxed now.
If only ONE. then insert_id is scalar, else it is an array with all the
data in a flat array
Any include or require call is removed and now we use only _spl_autoload
in any class external file include call.
There are three new _DIR vars: LIBDIR, SMARTYDIR, TABLEARRAYDIR that are
based on the __DIR__ and not current working directory.
Add autoload function to main config file.
Add better DIR declarations in config file based on __DIR__ for libs &
smarty classes.
Load all class files with the new autoload function in header & direct
file calls.
- config.inc: add define for show/not show all errors when parsning
through Error.Handling.inc with SHOW_ALL_ERRORS
- Error.Handling.inc: check php error level and do not show ones that
are not flagged unless SHOW_ALL_ERRORS is set to true
- db_pgsql.inc for fetch array, call the internal wrapper method, not
the pg method directly
- db_pgsql_pdo.inc: test insert for alternative with pdo lib instead of
php internal postgresql interface
- Class.DB.IO.inc: on prepared check if cursor exist before returing
inserted id in INSERT queries. fail if no insert id could be aquired
if there was no cursor (or other error)
- Class.Basic.inc: rewrite Time to string method for speed up and
removal of old php microtime format
Whenever a query is executed without the db_return method and it is a
select query, then it is counted and if it is over a max value it will
return false and terminate.
With those functions that counter value can be checked and reset.
To be used carefully. It is recommended to rather make often called
queries with the same values prepare/execute style instead of resetting
the count.
Some tables do not have primary keys, so an override code is needed to
avoid getting auto returning set there.
If db exec is called 'NULL' (or the async version), then no RETURNING is
added or checked.
schema to the current one
* check current schema and set prefix to table if needed
* check that if cursor is null we do not try to get any data but return false