Beispiel #1
0
 def pre_add(self, item: "DruidDatasourceModelView") -> None:
     with db.session.no_autoflush:
         query = db.session.query(models.DruidDatasource).filter(
             models.DruidDatasource.datasource_name == item.datasource_name,
             models.DruidDatasource.cluster_id == item.cluster_id,
         )
         if db.session.query(query.exists()).scalar():
             raise Exception(get_datasource_exist_error_msg(item.full_name))
Beispiel #2
0
 def pre_add(self, datasource):
     with db.session.no_autoflush:
         query = db.session.query(models.DruidDatasource).filter(
             models.DruidDatasource.datasource_name == datasource.datasource_name,
             models.DruidDatasource.cluster_name == datasource.cluster.id,
         )
         if db.session.query(query.exists()).scalar():
             raise Exception(get_datasource_exist_error_msg(datasource.full_name))
Beispiel #3
0
 def pre_add(self, datasource):
     with db.session.no_autoflush:
         query = (
             db.session.query(models.DruidDatasource)
             .filter(models.DruidDatasource.datasource_name ==
                     datasource.datasource_name,
                     models.DruidDatasource.cluster_name ==
                     datasource.cluster.id)
         )
         if db.session.query(query.exists()).scalar():
             raise Exception(get_datasource_exist_error_msg(
                 datasource.full_name))
    def pre_add(self, datasource):
        number_of_existing_datasources = db.session.query(
            sqla.func.count('*')).filter(
            models.ElasticDatasource.datasource_name ==
                datasource.datasource_name,
            models.ElasticDatasource.cluster_name == datasource.cluster.id,
        ).scalar()

        # table object is already added to the session
        if number_of_existing_datasources > 1:
            raise Exception(get_datasource_exist_error_msg(
                datasource.full_name))
    def pre_add(self, datasource):
        number_of_existing_datasources = (db.session.query(
            sa.func.count('*')).filter(
                PandasDatasource.source_url == datasource.source_url).scalar())
        # datasource object is already added to the session
        if number_of_existing_datasources > 1:
            raise Exception(
                get_datasource_exist_error_msg(datasource.full_name))

        # Fail before adding if the datasource can't be found
        try:
            datasource.get_dataframe()
        except Exception as e:
            logging.exception(e)
            raise Exception(
                _('File [{}] could not be read, '
                  'please double check the '
                  'Source URL and Read Method').format(datasource.name))
Beispiel #6
0
    def pre_add(self, table):
        with db.session.no_autoflush:
            table_query = db.session.query(models.SqlaTable).filter(
                models.SqlaTable.table_name == table.table_name,
                models.SqlaTable.schema == table.schema,
                models.SqlaTable.database_id == table.database.id)
            if db.session.query(table_query.exists()).scalar():
                raise Exception(
                    get_datasource_exist_error_msg(table.full_name))

        # Fail before adding if the table can't be found
        try:
            table.get_sqla_table_object()
        except Exception:
            raise Exception(_(
                'Table [{}] could not be found, '
                'please double check your '
                'database connection, schema, and '
                'table name').format(table.name))
Beispiel #7
0
    def pre_add(self, table):
        with db.session.no_autoflush:
            table_query = db.session.query(models.SqlaTable).filter(
                models.SqlaTable.table_name == table.table_name,
                models.SqlaTable.schema == table.schema,
                models.SqlaTable.database_id == table.database.id,
            )
            if db.session.query(table_query.exists()).scalar():
                raise Exception(get_datasource_exist_error_msg(
                    table.full_name))

        # Fail before adding if the table can't be found
        try:
            table.get_sqla_table_object()
        except Exception as e:
            logger.exception(f"Got an error in pre_add for {table.name}")
            raise Exception(
                _("Table [{}] could not be found, "
                  "please double check your "
                  "database connection, schema, and "
                  "table name, error: {}").format(table.name, str(e)))
 def __init__(self, table_name: str) -> None:
     super().__init__(get_datasource_exist_error_msg(table_name),
                      field_names=["table_name"])