This version will break everything. It removes the record proxy object, now returning the object returned by asyncpg, meaning that accessing columns is now dictionary bracket notation, and not dot notation.
It also removes the `insert` function, and adds automatic json parsing.
`record.my_column` becomes `record['my_column']`
Full list of changes:
- Dropped asyncpgsa's Record and RecordGenerator in favor of asyncpg's Records and lists, causing dot notation to be replaced with dict notation when accessing properties (row['id'] instead of row.id)
- connection `cursor` function now uses compile_query so it can handle the same query objects as the other functions like fetchval
- removed the `insert` function from the SAConnection. SA query objects will need to use query.returning(sa.text('*'))) or the like to get the values you want explicitly, and all inserts will have to move to one of the other methods like fetchval. Plain text queries will need to add ' RETURNING id ' or something similar to the query itself instead of relying it it being added by SAConnection. It should be noted that sqlalchemy does this for you as long as your table definition has a primary key.
- The postgres SA dialact is loaded into the SAConnection class now. This will cause breaking changes when using behaviors that differ based on dialact, such as using JSON column types in SA table definitions. In that case, it will actuall json dumps and loads automatically for you, which will break if you did it manually in your own code.