Comments (4)
We considered having __getattr__
instead of __getitem__
but decided against that, because:
- There are a few methods in the
Record
object, such as.keys()
,.values()
etc. We don't want field names to clash with Record's API. - Having both
__getattr__
and__getitem__
doing the same thing feels non-pythonic.
from asyncpg.
Couldn't this and #17 be solved using a way of specifying an alternative Record
class, or factory function, to use? This way the user could even use namedtuples if so desired for memory efficiency.
from asyncpg.
Record
is as memory efficient as Python's tuple
(it's implemented in pure C). It's also faster than namedtuple
to instantiate, since we have a freelist for it.
from asyncpg.
I don't think we'll implement this. Adding __getattr__
will preclude us from adding methods/APIs to the Record
class, so let's keep the status quo.
from asyncpg.
Related Issues (20)
- Support a Pool `before_connect` callback to be used before a connection is created HOT 1
- Use anyio instead of asyncio for trio compatibility
- Support typed prepared statements
- issue with connection pooling when using QueuePool (via sqlalchemy) HOT 2
- Not using transactions but receiving errors with: Resetting connection with an active transaction
- Feature request: Make transaction state public
- no attribute `_aborted` on `Connection.__del__` HOT 1
- `inspect.iscoroutinefunction` returns false on pool -> connection -> execute HOT 1
- Query does not processed HOT 3
- connect through socks5 proxy HOT 2
- Error: there is no unique or exclusion constraint matching the ON CONFLICT specification HOT 2
- Introspection TYPE_BY_OID running for long time HOT 3
- invalid input for query argument (can't subtract offset-naive and offset-aware datetimes)
- Feature request: Support for asynchronous command processing
- Asyncpg (asyncio/asyncpg.py, line 62, in get_query) get_query throws index error.
- no binary format encoder for type jsonb
- Whenever i create a table with a `real` column and read the value i get something different then what i saved
- insufficient data in buffer
- GCP CloudSQL Connector with asyncpg Pool
- cursor prefetch with bounded lag
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.
from asyncpg.