def register(self, table):
        """Adds a shared table to the catalog.

        Args:
            table (SymbolTable): A non-system, shared symbol table.
        """
        if table.table_type.is_system:
            raise ValueError('Cannot add system table to catalog')
        if not table.table_type.is_shared:
            raise ValueError('Cannot add local table to catalog')
        if table.is_substitute:
            raise ValueError('Cannot add substitute table to catalog')

        versions = self.__tables.get(table.name)
        if versions is None:
            versions = {}
            self.__tables[table.name] = versions
        versions[table.version] = table
def register ( self , table ) : if table . table_type . is_system : raise ValueError ( 'Cannot add system table to catalog' ) if not table . table_type . is_shared : raise ValueError ( 'Cannot add local table to catalog' ) if table . is_substitute : raise ValueError ( 'Cannot add substitute table to catalog' ) versions = self . __tables . get ( table . name ) if versions is None : versions = { } self . __tables [ table . name ] = versions versions [ table . version ] = table
Adds a shared table to the catalog.

        Args:
            table (SymbolTable): A non-system, shared symbol table.