Feature #328: Enduro/X Version 6.0 master task
IDEA - Universal SQL sub-system
It could be possible to send queries to some XATMI server with standard UBF and receive responses from database. For example, we could send:
EX_DB_QUERY ="select data1, data2, data3 from sometable where data4=:EX_DB_COL1"
on response we could get:
EX_DB_RESULT=0 (succeed, or DB code/mapped)
The support for XA transactions will come out of the box.
The target driver could use java jdbc system. We could offer using standard dialect, for example https://blog.jooq.org/2013/09/09/crazy-translations-of-simple-sql-expressions-to-various-sql-dialects/ so that developer could use one language for any of the databases.
Some kind of clustering also could be possible with making journal logs and pushing the changes to DBs later... (just idea).
#1 Updated by Madars Vitolins about 1 year ago
Then for this case we will need XA driver which will keep the transaction in ATMI context (maybe internal driver/switch symbol). Thus we can run transaction in full multi-thread/go-routine mode and still be in global transactions. And the Java end will roll the transactions with JDBC.
#7 Updated by Madars Vitolins about 1 month ago
select fld1 as U_FLD1 fld2 as U_FLD2 where id = :U_ID
Thus when fetching the data, it will try to load the U_FLD1 field if not succeed, then load into column number SQL_COL1_NAME, SQL_COL1_DATA, etc...
if field is NULL, then try to load into U_FLD1_IND, if not found then load into SQL_COL1_IND. Not sure only about how to properly escape the variables, as JDBC by default uses ? for the variable substitutions.
Or if compiled statements are used, maybe they needs to be transferred to "?", but the field uploading to java driver shall be done in this order.