postgres_driver's People
postgres_driver's Issues
Support double type
Update query building: criteria params are always in "set" section of update statement
update("some_table", value, criteria: "id = @id", criteriaParams: {"id": "someId"})
will make
update some_table set ..value params.., id = @id where id = @id
while should be
update some_table set ..value params.. where id = @id
Improve error handling
Current error missing stacktrace
Improve error handling of creating PGConnection when native driver is missing
Steps: create PGConnection with native driver missing
select fails when no parameters are passed
dart:core Object.noSuchMethod
package:postgres_driver/src/postgres_driver_impl.dart 375:39 PGConnection._validateParamNames.<fn>
dart:core List.forEach
package:postgres_driver/src/postgres_driver_impl.dart 375:14 PGConnection._validateParamNames
package:postgres_driver/src/postgres_driver_impl.dart 285:5 PGConnection._prepareQuery
package:postgres_driver/src/postgres_driver_impl.dart 194:26 PGConnection.execute
package:postgres_driver/src/postgres_driver_impl.dart 225:18
Unrecoverable connections should be removed from pool
Improve error handling of creating PGConnection when connection can not be opened
Currently error is only written to console with no exception and on first select. Ideally it should be checked just after connection is opened (maybe "select 1" ?)
Fields of "array of objects" type fails to update
Example:
{
"jsonb_object": [
{"id": "0"},
{"id": "1"},
{"id": "2"},
],
"id": "0",
}
Support nested maps
Improve handling of "server closed the connection unexpectedly" error
Once non-blocking mode was implemented we now have two methods: "send query" and "get results". while first one handles error and tries to recover doing recurrent call, second one does not do it.
Idea is to handle this error on Dart side with retry.
Looks like failed query will make impossible other query on same connection to execute
Can be reproduced with following issue:
#25
calls to driver should be non blocking
Multiple same IN parameters cause error
Add support for IN criterions
Add possibility to use IN with list parameters
Connection should be recovered if it was closed
Support postgres json types
Recovering connection when server restarted from outside is broken
dart:async _Completer.completeError
package:postgres_driver/src/postgres_driver_impl.dart 287:28 PGConnection._processNextQuery
===== asynchronous gap ===========================
dart:async _asyncErrorWrapperHelper
package:postgres_driver/src/postgres_driver_impl.dart PGConnection._processNextQuery
package:postgres_driver/src/postgres_driver_impl.dart 265:5 PGConnection._executeNativeQuery
package:postgres_driver/src/postgres_driver_impl.dart 243:41 PGConnection.execute
package:postgres_driver/src/postgres_driver_impl.dart 343:18 PGConnection.select
test/postgres_driver_misc_test.dart 56:31 main.<fn>
===== asynchronous gap ===========================
dart:async _asyncThenWrapperHelper
test/postgres_driver_misc_test.dart main.<fn>
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.