Skip to content

0.8.6: External datasources and other changes

Compare
Choose a tag to compare
@zboszor zboszor released this 25 Apr 14:55
· 64 commits to main since this release
  • Replaced datasource type specific APIs (array, CSV, JSON. XML, MariaDB, PostgreSQL, ODBC) with category specific API (data, file, SQL) . This is still not a stable release, so API changes are excusable for a minor release
  • Made external datasources not just possible, but easy
  • Added a new PHP specific array datasource driver that doesn't convert the PHP array to C array, eliminating the necessity to track and free converted arrays at the end of the request
  • Eliminated visual gaps in the HTML output that's not there in PDF (tested with Chrome and Firefox)
  • Separated r.lineno from the rownum() function - functions may be overridden by the user, the internal variable must always work
  • Another API change that requires ocrpt_report_set_main_query() to be called for hand-rolled report usage
  • Made r.value work better in unit tests or in hand-rolled report usage without ocrpt_execute()
  • Made r.self work better in both v domain variables and in expressions using it directly. Particularly, isnull(r.self) works for the first row of the dataset
  • Improved RLIB compatibility: <Report height="n"> is interpreted correctly
  • Improved RLIB compatibility: the xml_rlib_compat output parameter is automatically enabled by rlib_init() in PHP
  • Extended the PHP API to cover more C API
  • Allowed #include <opencreport.h> to work in C++ code
  • Updated unit tests
  • Massive documentation updates, split concepts into their own sections before technical reference sections
  • Added missing NULL pointer checks and other misc. fixes thanks to AddressSanitizer