Open alexisvisco opened 9 months ago
Hi @alexisvisco, thanks for opening the PR!
The change looks promising, indeed. Performance gains are certainly welcome!
I agree to make this a setting so it's not enabled by default.
To make this complete, I'd be awesome to have tests for each database system where it's possible to have bulk loading working. Also, updating the README to contain the new setting would be nice.
Hi @alexisvisco, thanks for opening the PR!
The change looks promising, indeed. Performance gains are certainly welcome!
I agree to make this a setting so it's not enabled by default.
To make this complete, I'd be awesome to have tests for each database system where it's possible to have bulk loading working. Also, updating the README to contain the new setting would be nice.
Yep sure, I was just doubting somebody is anwsering to me so I just fork it, we use my fork to test our application at my company since december.
I would add tests indeed ! :)
@alexisvisco do you work on this PR anymore?
@alexisvisco do you work on this PR anymore?
Hey ! I do not have time to work on this in the future weeks, but eventually you can add tests, if you have any questions I can reply to you.
Description
Overview
This pull request introduces a new feature to the fixture library, enabling bulk inserts for fixture files. Prior to this enhancement, inserts were performed sequentially, leading to potential performance bottlenecks, especially with large datasets. The new functionality allows users to opt for bulk inserts, significantly improving the efficiency of the fixture loading process.
Changes Made
Added a functional option parameter UseBulkInsert() to allow bulk inserting for fixture files.
Modified the implementation to group records with exactly same columns together for efficient bulk inserts when this parameter is set to true.
Also add a free new STRING= like RAW= because I was in trouble this last days due to time conversion for string ids... So with this new "annotation" it solve the problem.
Benefits
Improved performance by enabling bulk inserts.
Maintained flexibility by allowing users to choose between sequential and bulk inserts using the UseBulkInsert() functional option (mostely because I write this for postgres in the first place and I don't know if it works for other databse right now)
Feedback and suggestions for further improvements are welcome!
Not tested right now but this is coming.