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 
19 using Deveel.Data.Security;
20 
21 namespace Deveel.Data.Sql.Schemas {
22  public static class QueryExtensions {
23  public static void CreateSchema(this IQuery context, string name, string type) {
24  if (!context.UserCanCreateSchema())
25  throw new InvalidOperationException(); // TODO: throw a specialized exception
26 
27  context.CreateObject(new SchemaInfo(name, type));
28  }
29 
30  public static bool SchemaExists(this IQuery context, string name) {
31  return context.ObjectExists(DbObjectType.Schema, new ObjectName(name));
32  }
33 
34  public static ObjectName ResolveSchemaName(this IQuery context, string name) {
35  if (String.IsNullOrEmpty(name))
36  throw new ArgumentNullException("name");
37 
38  return context.ResolveObjectName(DbObjectType.Schema, new ObjectName(name));
39  }
40  }
41 }
Describes the name of an object within a database.
Definition: ObjectName.cs:44
static bool SchemaExists(this IQuery context, string name)
static void CreateSchema(this IQuery context, string name, string type)
DbObjectType
The kind of objects that can be handled by a database system and its managers
Definition: DbObjectType.cs:27
Describes the properties of a schema in a database system.
Definition: SchemaInfo.cs:39
static ObjectName ResolveSchemaName(this IQuery context, string name)