15.3.40. crate_anon.crateweb.research.research_db_info


Copyright (C) 2015-2018 Rudolf Cardinal (rudolf@pobox.com).

This file is part of CRATE.

CRATE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

CRATE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with CRATE. If not, see <http://www.gnu.org/licenses/>.


class crate_anon.crateweb.research.research_db_info.ResearchDatabaseInfo[source]

Fetches schema information from the research database. Class primarily exists to be able to use @cached_property. … replaced by @lru_cache … replaced by @django_cache_function

get_linked_mrid_column(table: crate_anon.common.sql.TableId) → Union[crate_anon.common.sql.ColumnId, NoneType][source]

Returns either the MRID column in the schema containing the table specified, or one that can be linked to it automatically.

tables_containing_field(fieldname: str) → List[crate_anon.common.sql.TableId][source]

We won’t use a SELECT on INFORMATION_SCHEMA here, since we already have the information.

class crate_anon.crateweb.research.research_db_info.SingleResearchDatabase(index: int, grammar: cardinal_pythonlib.sql.sql_grammar.SqlGrammar, rdb_info: crate_anon.crateweb.research.research_db_info.ResearchDatabaseInfo, connection, vendor)[source]

Represents, and adds information to, a single entry from the RESEARCH_DB_INFO list. (It’s a list because it’s ordered.)

get_default_date_field(table_id: crate_anon.common.sql.TableId) → Union[crate_anon.common.sql.ColumnId, NoneType][source]

Gets the default date column for the specified table, or None if none exists.