Мы видели ряд вопросов о том, как избежать получения метаданных по всем объектам, когда указана только конкретная база данных c или схема базы данных. Это помогает повысить производительность операций с метаданными и снизить накладные расходы, особенно для клиентов Snowflake с очень большими развертываниями, которые могут содержать большое количество баз данных, схем, таблиц и представлений.
Данные о снежинках хранятся в базах данных, каждая база данных состоит из одной или нескольких схем. Объекты базы данных, такие как таблицы и представления, логически сгруппированы в этих схемах базы данных.
Если в таблице, схеме или базе данных есть символ подчеркивания в имени, вызовы getMetaData должны обрабатываться определенным образом c. Интерпретация символа подчеркивания по умолчанию в вызовах ODB C и JDB C будет заключаться в том, чтобы обрабатывать его как символ подстановки, т. Е. Ссылка на конкретную c схему database1.schema_name фактически извлечет все метаданные в базе данных1. Аналогичная интерпретация применима и к соглашениям об именах баз данных и таблиц.
Чтобы избежать использования символа подчеркивания в качестве подстановочного знака и извлечения метаданных для всех объектов, необходимо использовать символ обратной косой черты sh "\" перед символом подчеркивания, чтобы избежать подчеркивания, используемого в качестве символа подстановки. Затем драйверы будут правильно определять указанный c путь для объектов для выполнения вызова метаданных.
Что-нибудь еще, что должно быть указано?