nemo64 / dbal-rds-data Goto Github PK
View Code? Open in Web Editor NEWA driver to use the aws aurora serverless rds data api in the doctrine database abstraction layer
License: MIT License
A driver to use the aws aurora serverless rds data api in the doctrine database abstraction layer
License: MIT License
dbal defines Doctrine\DBAL\Connection::setTransactionIsolation
which allows to set the transaction isolation to 4 different levels.
https://www.doctrine-project.org/projects/doctrine-dbal/en/2.10/reference/transactions.html
This function runs a SET SESSION TRANSACTION ISOLATION LEVEL
query in the background which should fail over the rds-data api (I haven't tested yet).
It doesn't look like it is possible to set the isoluation level within a transaction which is the only way to get something resembling a state.
The documentation says that you can't change the transaction characteristicts during a transaction.
So I should probably document that it isn't possible to use that feature and maybe adjust the platform definition so that it isn't even tried.
While using the AuditBundle I got Fetch mode 8 not supported
which is the Doctrine\DBAL\FetchMode::CUSTOM_OBJECT
fetch mode or the PDO::FETCH_CLASS
fetch mode.
Seems like this must be supported.
The ExecuteStatement documentation warns about huge results.
The response size limit is 1 MB or 1,000 records. If the call returns more than 1 MB of response data or over 1,000 records, the call is terminated.
I tested queries with over 10,000 results and it worked fine but I wouldn't rely on it.
To prepare for the day they actually limit the result, queries should automatically get a LIMIT
applied and be paged while iterating the result. The limit should be configurable (including unlimited) but default to 1,000 so the implementation follows the specification.
It may be possible to execute the request for the next page async but I have the experience that guzzle only actually starts the request when accessing it so there needs to be some investigation.
I noticed that some projects switch from the official aws-sdk to async-aws which looks promising.
I should investigate if it is possible to contribute there to add support for the rds-data api and possibly integrate it here.
The sql state within known exceptions is wrong.
Parsed here: https://github.com/Nemo64/dbal-rds-data/blob/master/src/RdsDataException.php
These are sql states: https://en.wikipedia.org/wiki/SQLSTATE
The current implementation must either figure out the real sql state or just omit them since it likely is never used by anyone.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.