You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@fineract.apache.org by Arnold Galovics <ga...@gmail.com> on 2022/02/21 07:58:19 UTC

PostgreSQL support

Dear Community,

As I mentioned a couple of mails back, it would be awesome if Fineract
could support PostgreSQL because of the performance gain it could bring.

The first milestone in this process was to make the database migrations
MySQL independent and switch from Flyway to Liquibase. That's done, thanks
for reviewing and merging the changes.

Now, I'm planning to continue on this path slowly but surely. In the
upcoming days/weeks I'm going to be filing new PRs to make Fineract as
independent as possible from MySQL and rely on standard SQL tools. Just as
an example, MySQL supports the IFNULL function but PostgreSQL doesn't.
However, IFNULL can be easily replaced by the ANSI SQL COALESCE function
which is supported both by MySQL and PostgreSQL.

The JIRA I'm using for creating the commits is FINERACT-984
<https://issues.apache.org/jira/browse/FINERACT-984>.
Also, the first PR has landed already in develop: PR link
<https://github.com/apache/fineract/pull/2039>

Best,
Arnold

Re: PostgreSQL support

Posted by Arnold Galovics <ga...@gmail.com>.
Hi guys,

Just wanted to update all of you on the recent changes. The PostgreSQL
support is finally merged into the Git repo, all functional tests are
passing perfectly. I also extended the automation for PRs and now there are
new pipelines that test Fineract against PostgreSQL as well, on top of the
existing MySQL tests.

Since there were a lot of native queries in the codebase, it's possible I
missed 1 or 2 and you might see bugs there. If this is the case, don't be
afraid to open new tickets to cover these so we can fix them quickly.

Should you have any questions, let me know.
Best,
Arnold

On Tue, Feb 22, 2022 at 11:50 PM Ed Cable <ed...@mifos.org> wrote:

> Thanks Arnold for driving these contributions and being so transparent and
> deliberate in keeping the community informed.
>
> It's a great model and example for all of us in the community on
> contributing large changes upstream.
>
> Ed
>
> On Tue, Feb 22, 2022, 14:35 Petri Tuomola <pe...@gmail.com> wrote:
>
>> Great work! Very excited to see these changes - it will be an excellent
>> addition and should bring a lot of benefits wrt performance.
>>
>> Also with Postgres we do not need to worry about bundling the JDBC
>> drivers as they are all BSD licensed.
>>
>> Thanks again for your contributions!
>>
>> Regards
>> Petri
>>
>> On 21 Feb 2022, at 16:24, Aleksandar Vidakovic <ch...@monkeysintown.com>
>> wrote:
>>
>> ... looking forward to seeing these changes Arnold. Thanks again for all
>> the work!
>>
>> On Mon, Feb 21, 2022 at 8:59 AM Arnold Galovics <ga...@gmail.com>
>> wrote:
>>
>>> Dear Community,
>>>
>>> As I mentioned a couple of mails back, it would be awesome if Fineract
>>> could support PostgreSQL because of the performance gain it could bring.
>>>
>>> The first milestone in this process was to make the database migrations
>>> MySQL independent and switch from Flyway to Liquibase. That's done, thanks
>>> for reviewing and merging the changes.
>>>
>>> Now, I'm planning to continue on this path slowly but surely. In the
>>> upcoming days/weeks I'm going to be filing new PRs to make Fineract as
>>> independent as possible from MySQL and rely on standard SQL tools. Just as
>>> an example, MySQL supports the IFNULL function but PostgreSQL doesn't.
>>> However, IFNULL can be easily replaced by the ANSI SQL COALESCE function
>>> which is supported both by MySQL and PostgreSQL.
>>>
>>> The JIRA I'm using for creating the commits is FINERACT-984
>>> <https://issues.apache.org/jira/browse/FINERACT-984>.
>>> Also, the first PR has landed already in develop: PR link
>>> <https://github.com/apache/fineract/pull/2039>
>>>
>>> Best,
>>> Arnold
>>>
>>
>>

Re: PostgreSQL support

Posted by Ed Cable <ed...@mifos.org>.
Thanks Arnold for driving these contributions and being so transparent and
deliberate in keeping the community informed.

It's a great model and example for all of us in the community on
contributing large changes upstream.

Ed

On Tue, Feb 22, 2022, 14:35 Petri Tuomola <pe...@gmail.com> wrote:

> Great work! Very excited to see these changes - it will be an excellent
> addition and should bring a lot of benefits wrt performance.
>
> Also with Postgres we do not need to worry about bundling the JDBC drivers
> as they are all BSD licensed.
>
> Thanks again for your contributions!
>
> Regards
> Petri
>
> On 21 Feb 2022, at 16:24, Aleksandar Vidakovic <ch...@monkeysintown.com>
> wrote:
>
> ... looking forward to seeing these changes Arnold. Thanks again for all
> the work!
>
> On Mon, Feb 21, 2022 at 8:59 AM Arnold Galovics <ga...@gmail.com>
> wrote:
>
>> Dear Community,
>>
>> As I mentioned a couple of mails back, it would be awesome if Fineract
>> could support PostgreSQL because of the performance gain it could bring.
>>
>> The first milestone in this process was to make the database migrations
>> MySQL independent and switch from Flyway to Liquibase. That's done, thanks
>> for reviewing and merging the changes.
>>
>> Now, I'm planning to continue on this path slowly but surely. In the
>> upcoming days/weeks I'm going to be filing new PRs to make Fineract as
>> independent as possible from MySQL and rely on standard SQL tools. Just as
>> an example, MySQL supports the IFNULL function but PostgreSQL doesn't.
>> However, IFNULL can be easily replaced by the ANSI SQL COALESCE function
>> which is supported both by MySQL and PostgreSQL.
>>
>> The JIRA I'm using for creating the commits is FINERACT-984
>> <https://issues.apache.org/jira/browse/FINERACT-984>.
>> Also, the first PR has landed already in develop: PR link
>> <https://github.com/apache/fineract/pull/2039>
>>
>> Best,
>> Arnold
>>
>
>

Re: PostgreSQL support

Posted by Petri Tuomola <pe...@gmail.com>.
Great work! Very excited to see these changes - it will be an excellent addition and should bring a lot of benefits wrt performance. 

Also with Postgres we do not need to worry about bundling the JDBC drivers as they are all BSD licensed. 

Thanks again for your contributions!

Regards
Petri

> On 21 Feb 2022, at 16:24, Aleksandar Vidakovic <ch...@monkeysintown.com> wrote:
> 
> ... looking forward to seeing these changes Arnold. Thanks again for all the work!
> 
> On Mon, Feb 21, 2022 at 8:59 AM Arnold Galovics <galovicsarnold@gmail.com <ma...@gmail.com>> wrote:
> Dear Community,
> 
> As I mentioned a couple of mails back, it would be awesome if Fineract could support PostgreSQL because of the performance gain it could bring.
> 
> The first milestone in this process was to make the database migrations MySQL independent and switch from Flyway to Liquibase. That's done, thanks for reviewing and merging the changes.
> 
> Now, I'm planning to continue on this path slowly but surely. In the upcoming days/weeks I'm going to be filing new PRs to make Fineract as independent as possible from MySQL and rely on standard SQL tools. Just as an example, MySQL supports the IFNULL function but PostgreSQL doesn't. However, IFNULL can be easily replaced by the ANSI SQL COALESCE function which is supported both by MySQL and PostgreSQL.
> 
> The JIRA I'm using for creating the commits is FINERACT-984 <https://issues.apache.org/jira/browse/FINERACT-984>.
> Also, the first PR has landed already in develop: PR link <https://github.com/apache/fineract/pull/2039>
> 
> Best,
> Arnold


Re: PostgreSQL support

Posted by Aleksandar Vidakovic <ch...@monkeysintown.com>.
... looking forward to seeing these changes Arnold. Thanks again for all
the work!

On Mon, Feb 21, 2022 at 8:59 AM Arnold Galovics <ga...@gmail.com>
wrote:

> Dear Community,
>
> As I mentioned a couple of mails back, it would be awesome if Fineract
> could support PostgreSQL because of the performance gain it could bring.
>
> The first milestone in this process was to make the database migrations
> MySQL independent and switch from Flyway to Liquibase. That's done, thanks
> for reviewing and merging the changes.
>
> Now, I'm planning to continue on this path slowly but surely. In the
> upcoming days/weeks I'm going to be filing new PRs to make Fineract as
> independent as possible from MySQL and rely on standard SQL tools. Just as
> an example, MySQL supports the IFNULL function but PostgreSQL doesn't.
> However, IFNULL can be easily replaced by the ANSI SQL COALESCE function
> which is supported both by MySQL and PostgreSQL.
>
> The JIRA I'm using for creating the commits is FINERACT-984
> <https://issues.apache.org/jira/browse/FINERACT-984>.
> Also, the first PR has landed already in develop: PR link
> <https://github.com/apache/fineract/pull/2039>
>
> Best,
> Arnold
>