On Tue, Jan 26, 2021, at 3:16 PM, Kent wrote: > Question: if I add a mapper to a class that is only needed temporarily, does > using the mapper compile it along side my "normal" mappers such that I'll > leak memory when I mean for the class to be garbage collected? > > Put another way, can I add a mapper to a class that doesn't influence my > "main mappers" and gets thrown away when the class is thrown away or is that > not possible?
Assuming the class already has a mapper, and this is an additional mapper that maps the class in a different way, this feature is called a "non-primary mapper" and requires that you pass the non_primary=True flag. If you are using non-primary mappers, then yes they get garbage collected. This is also a deprecated feature that won't be in SQLAlchemy 2.0. The only use case we can identify for "non-primary mappers" is when you want to create a relationship() to one, and for that use case we now support the "Relationship to AliasedClass" pattern. For anything else involving retrieving a class from an alternate selectable of some kind, you should be able to use AliasedClass for, e.g. sqlalchemy.orm.aliased(), so I would recommend using that instead unless you are on a very old version of SQLAlchemy. > Thanks in advance, > Kent > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/df03ce24-3986-450c-8c3a-a020d5d6adccn%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/df03ce24-3986-450c-8c3a-a020d5d6adccn%40googlegroups.com?utm_medium=email&utm_source=footer>. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/c8f7f84e-af90-450c-9289-ed84fc6996a9%40www.fastmail.com.