Commit Graph

73 Commits

Author SHA1 Message Date
Clemens Schwaighofer
04b0476b4d Info TODO text 2022-03-22 20:23:44 +09:00
Clemens Schwaighofer
13fb22385b Fix DB\IO return for unset pk name to be always string
Add Test for SELECT typ query and num rows type with dbReturn
2022-03-22 20:17:30 +09:00
Clemens Schwaighofer
40edbe271d DB\IO updates for vesion info calls
dbVersion only returns nn.n version without any additional info
added new dbVersionNumeric that follows the nnNNnn type of format, eg
90605 or 130006
Added new dbVersionInfo where all the pg_version returned array elements
can be checked. Has a strip override for 'server' version to no strip
additional info
dbVersionInfoParameters returns an array of all possible parameters that
can be called.
Not that if the whole info block is needed pg_version($db->dbGetDbh) is
recommended for now.

Also dbCompareVersion does not call the dbVersion but calls the
functions __dbVersion
2022-03-14 10:42:39 +09:00
Clemens Schwaighofer
a833b26322 Basic DB\IO unit testing finished
There is only open for complex query write calls which are not much
used.
all data dumps from current data in cursor
all the deprecated methods, which we won't test anymore
2022-03-10 17:13:31 +09:00
Clemens Schwaighofer
3881a2a83d DB\IO fix primary key return
Fixed table lookup if tables are in quotes (")
If no primary key name is set return empty.
If no primary key ID is returned, return null.
2022-03-08 06:14:41 +09:00
Clemens Schwaighofer
cf49bf72fa DB\IO move db related queries to db functions and add interface class
A new interface class for DB\SQL\* functions

Also moved all PostgreSQL related SHOW/SET code to the DB\SQL\*
functions class.
2022-03-07 13:35:54 +09:00
Clemens Schwaighofer
42b961f35e DB\IO Class updates, other Class fixes
Output\Form\Generate and ACL\Login have DB\IO method call name changes
for pos/num rows methods. Use proper methods and not use the cursor full
return check method

DB\IO:
Switched to new conenction busy check with sockt and timeout loop. So
short blocked and psql error blocked ones are not blocking other calls.

Moved the dbReturn cache read to a separte private method and cleaned up
code for more clear view

Moved all query hash creations to method to simple change hash creatio
if needed. This method can be used for external correct query hash
creation if needed.

Variable name and code block clean up in dbReturn

No data return (dbReturn or dbFetchArray) will change returned data row.
Return as is.

Moved methods around in code to group them together for next stage in
sub class creation (planned)

Renamed dbCursorPos to dbGetCursorPos
and dbCursorNumRows to dbGetCursorNumRows

Work on phpunit tests for DB\IO
2022-03-03 06:48:57 +09:00
Clemens Schwaighofer
fe13c24a13 Move uniqid creation methods from Hash to Uids class
uniq id short and long without parametersare pure uid creations so they
have moved over and have been deprecated in the Hash class.

Update Logging class for this.
Update Form\Generate for cursor ext access
2022-03-02 09:18:49 +09:00
Clemens Schwaighofer
714311cf85 Update phpunit test and php admin tests for updates to DB\IO class 2022-03-01 20:31:16 +09:00
Clemens Schwaighofer
cae6d4c372 Update in DateTime, Uids, support
DateTime::dateStringFormat
Add new flag after show microtime to add microtime with . as a float
type instead of string with ms

Uids creation with alder32 and ripedm160 for 8 and 40 char long uids

Support class with new method getCallerMethodList to return an array of
all methods and not only one point reference
2022-03-01 18:08:41 +09:00
Clemens Schwaighofer
aafca0153f PHP Unit testing work for DB::IO
Also various clean ups for DB::IO
- fix PGSQL array to PHP
- add bool/literal escape to SQL
- fix literal escape to call correct php array
- move functions to correct place
2022-02-28 18:06:59 +09:00
Clemens Schwaighofer
7a902b5681 Update hash class unit tests, work on DB IO unit tests 2022-02-25 18:08:10 +09:00
Clemens Schwaighofer
51a0276268 Autoloader updates, read env to class, DB IO update
Move autolaoder loading from config.master.php to config.php and before
we read config.master.php
The read env function has moved into a class and is launched after the
auto loader has been loaded

DB IO class update with better error reporting with last error set and
error history of all errors in order.
TODO: per query or per action error grouping
2022-02-24 20:04:48 +09:00
Clemens Schwaighofer
8267bcd8b8 Update Logging Class and add phpunit for Logging Class
Various fixes in the logging class for more clear internal flags setting
and clearn up of complex type checks and debug validation checks.
Add basic debugger logging class phpunit checker (based on debug/print
and only very basic for echo)

Other minor fixes and updates (phpunit with inital dead code check)
2022-02-22 17:56:00 +09:00
Clemens Schwaighofer
33766e1e2d Update PostgreSQL DB libs for PHP 8.1, update PHP version check
PHP version check now works with only max too, if called with (null,
'1.2.3') then php version will be checked <= 1.2.3

Debug Support has a to string print method printToString which tries to
print all types of var content as string (bool, int, float, resource,
object, etc)
Debug Support printAr supports ##HTMLPRE## style too (flag true)

DB/IO + PgSQL is changed from is_resource check to "false" check to be
compatible with new PHP 8.1 pgsql connect interface where all resources
are changed to objects PgSql\Connect|Resource|...
2022-01-19 15:20:46 +09:00
Clemens Schwaighofer
ad39a5b21f Remove \Basic class from all other Class extensions
If not created Logger class will be auto created in \DB\IO
Recommended to run a CoreLibs\Debug\Logging([...]); and use this class
for all ACL\Login, Admin\Backend, DB\IO, Output\Form\Generate calls.
Last parameter after DB CONFIG is the log parameter

Session create has been moved to a new Create\Session class from the
\Basic class and MUST be started before using ACL\Login. Currently
ACL\Login will fallback and start it if no session is yet started.

See the Readme.md file for which classes use _SESSION data

In future the _SESSION settings should be moved to some wrapper class
for this so we can unit test sessions

Only Output\Form\Generate class call has the new changed with the second
parameter no longer beeing the table width setting but the class
setting.
But as this is a semi retired class and only used for edit_base this is
not 100% breaking.
All other classes can be used as is and have internal fallback to run as
before.
Deprecation messages will be added later.
2022-01-18 10:51:13 +09:00
Clemens Schwaighofer
1bd45d8a8a phpan/phpstan checks and fixes 2022-01-13 16:11:19 +09:00
Clemens Schwaighofer
cb63a3eaa9 PHPunit tests addition, update to test files
Update to admin/class_* test files
Add stubb file for Debug/Logging
Finalize the Debug/RunningTime test
2022-01-13 08:48:49 +09:00
Clemens Schwaighofer
4363f289fc PHPunit tests adds and updates 2022-01-12 20:27:13 +09:00
Clemens Schwaighofer
7fd5062064 Add PHP unit tests
Check\*
Combined\*
Convert\*
Create\Hash (stub)
2022-01-11 19:58:33 +09:00
Clemens Schwaighofer
0f38cb4f89 Stub tests for Check::File 2021-11-02 09:33:04 +09:00
Clemens Schwaighofer
08bbc913a9 Updates for phpstan 1.0 level 8, fix spaces in config.master.php, add phpunit tets for math, email; update email class with more check methods 2021-11-02 09:16:23 +09:00
Clemens Schwaighofer
4c859ada01 Add phpunit tests folder, fix in Math method floorp when precision was larger then number length 2021-10-29 11:12:23 +09:00