MagicStack / asyncpg

A fast PostgreSQL Database Client Library for Python/asyncio.
Apache License 2.0
6.99k stars 404 forks source link

cant pickle asyncpg.record #451

Open crazyhouse33 opened 5 years ago

crazyhouse33 commented 5 years ago

Hi, I would like to know what make a record not picklable and if you have a solution to do what I want to do. Basically I am doing a program that use persistent sessions: in case of crash, the programs save its state on the disk. Next lunch wont redo what it did before with success

I implement that with a global try except. I put my python "Session class" on disk, and retrieve it with pickle. One of Session class attribute is a list of record I gather at the start and I need for the rest of the session. However, I got a "cant pickle asyncpg.record" error which prevent me to do that.

The problem is that I also cant make a record object from python, accordingly to the doc. So I cant see any workaround like casting to dict before serialization and casting to record after

1st1 commented 5 years ago

Yes, we can add support for pickling.

bofeng commented 4 years ago

Just got this "cant pickle asyncpg.record" error, I am wondering is there a progress on this support?

wvolkov commented 3 years ago

@1st1 hi! Is there any timelines about that feature going live? Thanks!

Feijo commented 3 years ago

Any news about it?

vmarkovtsev commented 1 year ago

I am backporting this feature from our company's optimized fork: https://github.com/MagicStack/asyncpg/pull/1000