plasmaphp / core Goto Github PK
View Code? Open in Web Editor NEWThe plasma core.
Home Page: https://plasmaphp.github.io/core/
License: Apache License 2.0
The plasma core.
Home Page: https://plasmaphp.github.io/core/
License: Apache License 2.0
Add runQuery(QueryBuilderInterface)
to StatementInterface
.
The client should expose a new event to inform the user that a new connection was successfully established. This gives us a portable way to check whether a connection was successfully established, this would be useful if the application requires an active connection before it gets booted (awaiting the event asynchronously using e.g. clue's block package).
The constant values for the transaction isolation levels should be changed to allow 0
to work as "server default isolation level".
The dqtabase is irrelevant and inflexible and has little use. It should be removed.
PostgreSQL and MySQL support cursor for fetching rows. This should be reflected by the core and as such a new argument should be added to specify options (such as whether to use a cursor).
Ref:
https://dev.mysql.com/doc/internals/en/com-stmt-execute.html#packet-COM_STMT_EXECUTE
https://www.postgresql.org/docs/9.5/plpgsql-cursors.html
When trying to get an optimal connection, we check whether we have an idle connection, however we just create a new connection, without checking whether we have reached the connections limit.
Line 360 in ce9b1a2
The methods TypeExtensionsManager::*SQLType
should be renamed to be database-neutral. Something like *DBType
probably.
Not all types have a charset (like integers), so charset should be able to return null for those.
A query builder interface should be added with the methods on ClientInterface
and DriverInterface
to even allow NoSQL DBMS to be used, which do not use string queries to query the database.
The driver could provide their own query builder to get the data they need to make a query.
The point is to remove all streaming capabilities and only rely on eventing. I do not know any good use case for having direct streaming capabilities as read-only stream. This would also remove pauseStreamConsumption
and resumeStreamConsumption
of the DriverInterface
.
The SQL column flags should be standardized. That means a method for each common flag (auto increment, multi key, unique, primary, etc.) should be part of the Column Definition interface, removing the necessarity for the ColumnDefinition
class constructor argument $nullable
- which also makes it abstract.
Drivers will need to extend the abstract class (or make a new class implementing the interface).
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.