Today the project have completed the first step on the (GNU) COBOL support path.
Here's the output of EXAMPLE1.cbl:
~~~
lixa@ubuntu1204-64:~$ /tmp/cobol/EXAMPLE1
Executing EXAMPLE1
2016-12-12 22:47:07.289305 [25797/140712462038848] lixa_tx_open
2016-12-12 22:47:07.294049 [25797/140712462038848] lixa_tx_open/TX_=0/excp=11/ret_cod=0/errno=0
TXOPEN returned value +000000000
lixa@ubuntu1204-64:~$ /tmp/cobol/EXAMPLE1
Executing EXAMPLE1
2016-12-12 22:52:31.031961 [25866/140110360676160] lixa_tx_open
2016-12-12 22:52:31.035069 [25866/140110360676160] lixa_tx_open/TX_=0/excp=11/ret_cod=0/errno=0
TXOPEN returned value +000000000
2016-12-12 22:52:31.035152 [25866/140110360676160] lixa_tx_begin
2016-12-12 22:52:31.035179 [25866/140110360676160] lixa_tx_begin: txstate = S1, next_txstate = S3
2016-12-12 22:52:31.088903 [25866/140110360676160] lixa_tx_begin/TX_=0/excp=11/ret_cod=0/errno=0
TXBEGIN returned value +000000000
lixa@ubuntu1204-64:~$ /tmp/cobol/EXAMPLE1
Executing EXAMPLE1
2016-12-12 22:53:49.177860 [25882/140670206039872] lixa_tx_open
2016-12-12 22:53:49.179405 [25882/140670206039872] lixa_tx_open/TX_=0/excp=11/ret_cod=0/errno=84
TXOPEN returned value +000000000
2016-12-12 22:53:49.179542 [25882/140670206039872] lixa_tx_begin
2016-12-12 22:53:49.179607 [25882/140670206039872] lixa_tx_begin: txstate = S1, next_txstate = S3
2016-12-12 22:53:49.231137 [25882/140670206039872] lixa_tx_begin/TX_=0/excp=11/ret_cod=0/errno=84
TXBEGIN returned value +000000000
2016-12-12 22:53:49.231279 [25882/140670206039872] lixa_tx_commit
2016-12-12 22:53:49.231338 [25882/140670206039872] lixa_tx_commit: txstate = S3
2016-12-12 22:53:49.297653 [25882/140670206039872] lixa_tx_commit: go on with commit...
2016-12-12 22:53:49.297757 [25882/140670206039872] lixa_tx_rc_add
2016-12-12 22:53:49.297831 [25882/140670206039872] lixa_tx_rc_add/excp=5/ret_cod=0/errno=84
2016-12-12 22:53:49.297900 [25882/140670206039872] lixa_tx_rc_add
2016-12-12 22:53:49.297959 [25882/140670206039872] lixa_tx_rc_add/excp=5/ret_cod=0/errno=84
2016-12-12 22:53:49.298020 [25882/140670206039872] lixa_tx_get_rc: ltr->commit=1, ltr->tx_commit=1
2016-12-12 22:53:49.298079 [25882/140670206039872] lixa_tx_get_rc: first=0, ltr->tx_rc=0
2016-12-12 22:53:49.298138 [25882/140670206039872] lixa_tx_get_rc: i=0, j=1, first=0, second=0
2016-12-12 22:53:49.298197 [25882/140670206039872] lixa_tx_get_rc: ltr->tx_rc=0
2016-12-12 22:53:49.298257 [25882/140670206039872] lixa_tx_get_rc: ltr->tx_rc=0
2016-12-12 22:53:49.298316 [25882/140670206039872] lixa_tx_get_rc: ltr->tx_rc=0
2016-12-12 22:53:49.298436 [25882/140670206039872] lixa_tx_commit/TX_=0/excp=17/ret_cod=0/errno=84
TXCOMMIT returned value +000000000
2016-12-12 22:53:49.298572 [25882/140670206039872] lixa_tx_begin
2016-12-12 22:53:49.298631 [25882/140670206039872] lixa_tx_begin: txstate = S1, next_txstate = S3
2016-12-12 22:53:49.330817 [25882/140670206039872] lixa_tx_begin/TX_=0/excp=11/ret_cod=0/errno=84
TXBEGIN returned value +000000000
2016-12-12 22:53:49.330976 [25882/140670206039872] lixa_tx_rollback
2016-12-12 22:53:49.331047 [25882/140670206039872] lixa_tx_rollback: txstate = S3
2016-12-12 22:53:49.364481 [25882/140670206039872] lixa_tx_rc_add
2016-12-12 22:53:49.364589 [25882/140670206039872] lixa_tx_rc_add/excp=5/ret_cod=0/errno=84
2016-12-12 22:53:49.364663 [25882/140670206039872] lixa_tx_rc_add
2016-12-12 22:53:49.364735 [25882/140670206039872] lixa_tx_rc_add/excp=5/ret_cod=0/errno=84
2016-12-12 22:53:49.364807 [25882/140670206039872] lixa_tx_get_rc: ltr->commit=0, ltr->tx_commit=0
2016-12-12 22:53:49.364877 [25882/140670206039872] lixa_tx_get_rc: first=0, ltr->tx_rc=0
2016-12-12 22:53:49.364949 [25882/140670206039872] lixa_tx_get_rc: i=0, j=1, first=0, second=0
2016-12-12 22:53:49.365028 [25882/140670206039872] lixa_tx_get_rc: ltr->tx_rc=0
2016-12-12 22:53:49.365098 [25882/140670206039872] lixa_tx_get_rc: ltr->tx_rc=0
2016-12-12 22:53:49.365167 [25882/140670206039872] lixa_tx_get_rc: ltr->tx_rc=0
2016-12-12 22:53:49.365297 [25882/140670206039872] lixa_tx_rollback/TX_=0/excp=12/ret_cod=0/errno=84
TXROLLBACK returned value +000000000
2016-12-12 22:53:49.365433 [25882/140670206039872] lixa_tx_close
2016-12-12 22:53:49.365545 [25882/140670206039872] lixa_tx_cleanup: emergency socket & memory clean-up
2016-12-12 22:53:49.365687 [25882/140670206039872] lixa_tx_cleanup/client_disconnect/ret_cod=0
2016-12-12 22:53:49.365807 [25882/140670206039872] lixa_tx_cleanup/client_unconfig/ret_cod=0
2016-12-12 22:53:49.365875 [25882/140670206039872] lixa_tx_close/TX_*=0/excp=7/ret_cod=0/errno=0
TXCLOSE returned value +000000000
lixa@ubuntu1204-64:~$ echo $?
0... read more
License special exception for Globetom has been added.
This release fixes a bug related to MySQL and fixes the build procedure for up-to-date Linux distros.
See ChangeLog and TestLog files.
The subversion repository has been dropped and replaced by GIT.
LIXA GIT is available on github.com, as well; the repository on SourceForge is a copy of the repository on GitHub.
The wiki site used by LIXA project was moved from "Mediawiki" hosted application to native SourceForge wiki.
Package lixa-0.9.2.tar.gz has been reloaded to SourceForge.net with this little patch:
--- download_and_patch.sh (revisione 775)
+++ download_and_patch.sh (copia locale)
@@ -98,7 +98,7 @@
echo "File $ARCHIVE_NAME already available, bypassing download."
echo "NOTE: if you want to download it again, please remove the current tarball ($ARCHIVE_NAME) and restart the script."
else
Release 0.9.2 contains the new patch scheme for PHP previously available only via SVN.
The PHP team is releasing frequently due to some security fixes.
The LIXA project changed the technique used for PHP source code patching: it's no more necessary a specific diff file for every distinct PHP release.
Now a single diff file can be applied to several distinct PHP source code releases.
If you need this enhancement, please pick-up subversion revision 775.
PHP team discovered a security bug fixed with release 5.4.2: http://www.php.net/archive/2012.php#id2012-05-03-1
LIXA project supplies a patch for PHP 5.4.2 to avoid security bugs.
Subversion revision 773 address the issue; alternatively you can use LIXA 0.9.1 and patch manually PHP 5.4.2:
cd ext/php/php-5.4.2
patch -p1 < ../lixa-php-5.4.1-patch.diff
This release add PostgreSQL to the list of Resource Managers that can be used with PHP language. Is it now possible to develop PHP programs with distributed transaction processing between MySQL and PostgreSQL.
This release integrates the LIXA Transaction Manager with PHP Zend engine and allows a PHP Application Program to manage one ore more MySQL databases (using mysqli driver) in a single distributed transaction with two phase commit.
The next release of the LIXA project will be 0.9.0 and not 0.7.5 as it should be if I kept the current release number.
The jump to release 0.9.x is motivated by PHP integration.
I'm working on LIXA & PHP integration and LIXA 0.9.0 will integrate MySQL (mysqli driver) for distributed transaction processing. Integrating PHP and many database drivers will be a long task, so I have decided to dedicate a new release number to the process.
Stay tuned!
This release fixes bug # 3512953: every LIXA & MySQL should update to 0.7.4 asap
This release fixes some minor bugs and introduces new parameters for performance and scalability tuning. The documentation has a new performance tuning chapter.
File release 0.7.1 fixes bug 3470598.
XA XID format id changed from hex to decimal: you might need to adjust some custom developed script.
The first beta test release (0.7.0) of LIXA project is now available for download.
The software and the documentation are complete: it's time to try it in real user environment to discover & fix the residual bugs and promote the project usage.
Future development will follow three distinct paths:
Release 0.5.35 has been ported to Intel/AMD 64 bit architecture and passed the tests.
PostgreSQL becomes a managed Resource Manager by the LIXA project Transaction Manager starting with file release 0.5.33
Release 0.5.30 contains an example that shows how LIXA can be used in conjunction with Oracle Database Server.
Starting with SVN revision 507 - the same feature will be available in file release 0.5.29 - the manual is automatically distributed (make dist) and installed (make install).
The manual is still incomplete, but it will be improved in the near future.
Starting with file release 0.5.28 the syntax of the configuration file lixac_conf.xml was changed: "trnmgr" and "trnmgrs" tags was substitued by "sttsrv" and "sttsrvs" tags. The previous tags were misleading because the LIXA State Server is not a Transaction Manager; the Transaction Manager feature is embedded in the "lixac" (client) component.
Starting from Subversion revision 484 (next file release 0.5.27), the communication protocol between client and server changed: this BREAKS backward compatibility.
A client/server with new code is not compatible with a server/client compiled from old code.
A new optional flag for lixar was introduced since subversion revision 388.
The new option is "-e" ("--use-tmendrscan-flag") and it can be used to send TMENDRSCAN flag to the resource manager when recovery scan is completed.
Unfortunately Oracle XE 10.2 does not like this flag, so it is optional: it can be used for other resource managers in the meantime (it maybe the issue becomes more clear in the future).
The single thread version of the LIXA libraries was removed starting with file release 0.5.18 (see bug # 3045668).
All the Application Programs must link the multi thread version of the LIXA libraries now.