-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Datum was implemented with generic proxy classes like Table and Database which wrap a more specific child object, such as a PostgresTable or OracleStgeomTable. The purpose of this was to keep the interfaces consistent (e.g. a PostgresTable could never have a method that an OracleStgeomTable didn't). There was also a (partly cosmetic) motivation to standardize the results of type checks across like objects. However, there may be scenarios where there's useful functionality for one data source that doesn't make sense in another, like getting permissions from an Oracle SDE database. It may make more sense to move towards a constructor pattern that returns more specifically-typed objects and raising NotImplemented errors if something is missing in a subclass.