Derby - ограничения

Когда вы пишете <InputAdornment position="start"></InputAdornment>, вы не передаете никаких дочерних элементов InputAdornment (например, я мог бы написать <InputAdornment position="start"><MyComponent /></InputAdornment>, если бы я хотел передать MyComponent в InputAdornment в children). В то же время реквизит children указан как required в InputAdornment's PropTypes. Есть два способа удалить предупреждение:

  1. Если вы не хотите ВСЕГДА передавать дочерние реквизиты в InputAdornement, вы можете удалить спецификатор required из его PropTypes.
  2. Если вы действительно хотите всегда передавать дочернюю опору в InputAdornement, или это не ваш компонент, вы должны передать children ему, как в примере выше. Тогда PropType's требование будет выполнено.
5
задан Jonathan Leffler 10 May 2009 в 18:35
поделиться

2 ответа

Соответствующим руководством является Справочное руководство по Дерби . Доступно множество версий: 10.13 была актуальной в апреле 2017 года, но была 10.3 в мае 2009 года.

Исходный ответ

SELECT c.constraintname, t.tablename
    FROM sysconstraints c, systables t
    WHERE c.tableid = t.tableid;

Поскольку достаточно свежие версии Derby требуют, чтобы таблицы системного каталога имели префикс sys. (10.13 цитируется kiwicomb123 в комментарии ), вы можете изменить запрос, чтобы также использовать явную нотацию JOIN, и использовать:

SELECT c.constraintname, t.tablename
  FROM sys.sysconstraints c
  JOIN sys.systables t
    ON c.tableid = t.tableid;

Вы можете добавить дополнительные столбцы - например , c.type , чтобы получить тип ограничения.

7
ответ дан 14 December 2019 в 01:16
поделиться
SELECT sc.schemaname, co.constraintname, t.tablename, cg.descriptor, t2.tablename, cg2.descriptor, f.deleterule, f.updaterule
FROM sys.sysconstraints co
JOIN sys.sysschemas sc ON co.schemaid = sc.schemaid
JOIN sys.systables t ON co.tableid = t.tableid
JOIN sys.sysforeignkeys f ON co.constraintid = f.constraintid
JOIN sys.sysconglomerates cg ON f.conglomerateid = cg.conglomerateid
JOIN sys.sysconstraints co2 ON f.keyconstraintid = co2.constraintid
JOIN sys.systables t2 ON co2.tableid = t2.tableid
JOIN sys.syskeys k ON co2.constraintid = k.constraintid
JOIN sys.sysconglomerates cg2 ON k.conglomerateid = cg2.conglomerateid
WHERE co.type = 'F' 
    and sc.schemaname = current schema    

Два записей дескриптора содержат список номеров столбцов для каждой таблицы, вроде

BTREE (2,1)

, где числа соответствуют номерам столбцов в таблице Syscolumns соответствующая таблица.

Если у кого-то есть элегантный способ извлечения этого в этом запросе, я хотел бы знать. Я получаю список всех столбцов для таблицы в отдельном запросе и извлечь имена от этого после распределения дескрипторов, чтобы получить цифры.

2
ответ дан 14 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: