Page 1 of 1

// What's new in the June update of Xbase++ 2.0

Posted: Tue Jul 02, 2019 3:23 pm
by unixkd
Hi ALL

New commands: The June update comes with a new SCATTER / GATHER command set which allows the super efficient exchange of data between the current record and your data object. Instead of just transferring all data from the record to the object, you can now specify a field list and exclusion list or pattern. Finally, you can now merge data from different tables into the same data object using the ADDITIVE clause. Just think about how much code you do not need to write! Forget about writing these endless list of field / variable assignments and do it with just a single line of code. More details about SCATTER / GATHER can be found in the Xbase++ documentation.

PostgreSQL ISAM emulation: With this update, we are finalizing our work on the PostgreSQL ISAM emulation in terms of performance optimization. Our benchmarks with real-world applications show that the engine easily outperforms existing DBF/CDX/NTX engines in a shared data access scenario. Even better, the Postgres database engine's performance is comparable to an ADS client/server solution, while SQL operations with the PostgreSQL server are significantly faster than with the ADS.

This update also includes around 30 work items with 16 PDR corrections as well as a broad set of changes applied to the HTML Reflection Framework to ensure proper processing of HTML5 code.

To download and install the latest update, simply start your Xbase++ Workbench, go top Help->Update Manager and select build# 2.00.1113. Of course, you need to be an active subscription customer to be eligible for receiving updates.

Joe

Re: // What's new in the June update of Xbase++ 2.0

Posted: Tue Jul 02, 2019 7:12 pm
by rdonnay
This capability has been in eXpress++ for years.

DC_DbRecord()
DC_DbScatter()
DC_DbGather()
DC_DbRecordCopy()
DC_DbRecordClone()
DC_DbRecord2SqlInsert()
DC_DbRecord2SqlUpdate()
DC_DbRecordCompare()
DC_DbRecordIsEmpty()
DC_DbRecordTrim()
DC_DbRecord2Array()
DC_DbRecord2File()
DC_DbRecordEdit()

Re: // What's new in the June update of Xbase++ 2.0

Posted: Wed Jul 03, 2019 12:51 am
by unixkd
Even better, the Postgres database engine's performance is comparable to an ADS client/server solution, while SQL operations with the PostgreSQL server are significantly faster than with the ADS.
Can anybody confirm this claim with very large databases ?

Joe

Re: // What's new in the June update of Xbase++ 2.0

Posted: Wed Jul 03, 2019 6:24 am
by rdonnay
I have a 15 gb database I can use for testing this claim.

It was created with ADS and all of its data was added by using SQL INSERT.

I will need to import it into the PostGreSql Server.

I'll let you know when this is done.

Re: // What's new in the June update of Xbase++ 2.0

Posted: Wed Jul 03, 2019 8:09 am
by Tom
With the PGEDBE and ISAM-emulation, you will never get a very good performance. There is too much to be simulated to get it going. Just the record number, which is unique and consistant and a parameter for navigation and which shows the table size - this is a concept not known in SQL. To emulate this, there is lots of stuff to be done (not only auto-increment). I have the feeling, the PGDBE will definitivly be able to replace DBF in a standard application. But if you deal with large databases, go to native SQL.

Re: // What's new in the June update of Xbase++ 2.0

Posted: Wed Jul 03, 2019 3:39 pm
by unixkd
Great Roger

It will worth the effort no matter how you look at it. If PGDBE ISAM eventually worked as expected, that will be a major breakthrough for Alaska and to Xbase++ developers community. I doubt if Alaska will just make such bogus claim. It is worth confirming.

Roger, once more, more grease to your elbow.

Joe

Re: // What's new in the June update of Xbase++ 2.0

Posted: Thu Jul 04, 2019 11:45 am
by rdonnay
Currently, I cannot upsize a database larger than 2 million records with DBFUPSIZE because ADSDBE is not supported.

I already have a DBFUPSIZER program that is part of SqlQuery but it only works with ODBCDBE and FOXCDX or DBFCDX.

I'm upgrading it to work with PGDBE or ODBCDBE and ADSDBE.

After this is done, I will be able to run some benchmarks that compare ADSDBE, ODBCDBE and PGDBE all on the same set of data - 12 million records.

Re: // What's new in the June update of Xbase++ 2.0

Posted: Thu Jul 04, 2019 11:42 pm
by unixkd
:D

Great

Joe

Re: // What's new in the June update of Xbase++ 2.0

Posted: Sun Jul 07, 2019 3:19 pm
by rdonnay
I'm having a lot of trouble with this.

What version of PostGresql server are you using?

I'm trying to get it to work with ODBCDBE.

I've given up on PGDBE.