SQL Server: как перечислить все функции / процедуры / объекты CLR для сборки

Firebase не поддерживает запросы с динамическим параметром, например «два часа назад». Он может выполнять запрос для определенного значения, например «после 14 августа 2015 года, 7:27:32 утра».

Это означает, что вы можете запустить фрагмент код периодически, чтобы очистить элементы, которые старше 2 часов в это время :

var ref = firebase.database().ref('/path/to/items/');
var now = Date.now();
var cutoff = now - 2 * 60 * 60 * 1000;
var old = ref.orderByChild('timestamp').endAt(cutoff).limitToLast(1);
var listener = old.on('child_added', function(snapshot) {
    snapshot.ref.remove();
});

Как вы заметите, я использую child_added вместо value и I limitToLast(1). Когда я удаляю каждого дочернего объекта, Firebase запускает child_added для нового «последнего» элемента до тех пор, пока после точки отсечения больше нет элементов.

Обновление: если вы хотите запустить этот код в облачных функциях для Firebase:

exports.deleteOldItems = functions.database.ref('/path/to/items/{pushId}')
.onWrite((change, context) => {
  var ref = change.after.ref.parent; // reference to the items
  var now = Date.now();
  var cutoff = now - 2 * 60 * 60 * 1000;
  var oldItemsQuery = ref.orderByChild('timestamp').endAt(cutoff);
  return oldItemsQuery.once('value', function(snapshot) {
    // create a map with all children that need to be removed
    var updates = {};
    snapshot.forEach(function(child) {
      updates[child.key] = null
    });
    // execute all updates in one go and return the result to end the function
    return ref.update(updates);
  });
});

Эта функция запускается всякий раз, когда данные записываются в /path/to/items, поэтому дочерние узлы будут удаляться только при изменении данных.

Этот код теперь также доступный в functions-samples репо .

30
задан Solomon Rutzky 23 August 2016 в 13:35
поделиться

1 ответ

Посмотрите представление sys.assembly_modules :

select * from sys.assembly_modules

Здесь должны быть перечислены все функции и сборки, в которых они определены. См. Страницу справки электронной документации об этом.

Возвращает одну строку для каждой функции, процедура или триггер, который определен общеязыковой средой выполнения (CLR) сборка.

44
ответ дан 27 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

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