DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
QueryExtensions.cs
Go to the documentation of this file.
1 //
2 // Copyright 2010-2015 Deveel
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 using System;
18 
20 
21 namespace Deveel.Data.Sql.Triggers {
22  public static class QueryExtensions {
23  public static void FireTriggers(this IQuery context, TableEvent tableEvent) {
24  var manager = context.Session.Transaction.GetTriggerManager();
25  if (manager == null)
26  return;
27 
28  manager.FireTriggers(context, tableEvent);
29  }
30 
31  public static void CreateTrigger(this IQuery context, TriggerInfo triggerInfo) {
32  context.Session.CreateTrigger(triggerInfo);
33  }
34 
35  public static void CreateCallbackTrigger(this IQuery context, ObjectName triggerName, TriggerEventType eventType) {
36  context.CreateTrigger(new TriggerInfo(triggerName, eventType));
37  }
38 
39  public static bool TriggerExists(this IQuery context, ObjectName triggerName) {
40  return context.Session.TriggerExists(triggerName);
41  }
42  }
43 }
static bool TriggerExists(this IQuery context, ObjectName triggerName)
Defines the information about a trigger on a table of the database, such as the event on which is fir...
Definition: TriggerInfo.cs:29
static void CreateCallbackTrigger(this IQuery context, ObjectName triggerName, TriggerEventType eventType)
TriggerEventType
The different types of high layer trigger events.
static void FireTriggers(this IQuery context, TableEvent tableEvent)
Describes the name of an object within a database.
Definition: ObjectName.cs:44
ITransaction Transaction
Gets the instance of ITransaction that handles the transactional operations of this session...
Definition: ISession.cs:46
ISession Session
Definition: IQuery.cs:23
static void CreateTrigger(this IQuery context, TriggerInfo triggerInfo)
Exposes the context of an event fired on a table.
Definition: TableEvent.cs:26