DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
ISession.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 using System.Collections.Generic;
19 
20 using Deveel.Data.Diagnostics;
21 using Deveel.Data.Security;
22 using Deveel.Data.Sql;
24 
25 namespace Deveel.Data {
30  public interface ISession : IEventSource, IDisposable {
34  string CurrentSchema { get; }
35 
36  DateTimeOffset StartedOn { get; }
37 
38  DateTimeOffset? LastCommandTime { get; }
39 
40  User User { get; }
41 
47 
48  new ISessionContext Context { get; }
49 
50 
64  //ILargeObject CreateLargeObject(long size, bool compressed);
65 
72  //ILargeObject GetLargeObject(ObjectId objId);
73 
74  void Access(IEnumerable<IDbObject> objects, AccessType accessType);
75 
76  void Exit(IEnumerable<IDbObject> objects, AccessType accessType);
77 
78  void Lock(IEnumerable<IDbObject> objects, AccessType accessType, LockingMode mode);
79 
80  IQuery CreateQuery();
81 
82 
87  void Commit();
88 
93  void Rollback();
94  }
95 }
The system implementation of a transaction model that handles isolated operations within a database c...
Definition: Transaction.cs:35
LockingMode
The mode applied to a lock over a resource during a transaction.
Definition: LockingMode.cs:24
An isolated session to a given database for a given user, encapsulating the transaction for operation...
Definition: ISession.cs:30
The simplest implementation of a transaction.
Definition: ITransaction.cs:30
Provides the information for a user in a database system
Definition: User.cs:27
Represents the origin of system events, providing a mechanism to fill the metadata before dispatching...
Definition: IEventSource.cs:40