2 * Firebird ADO.NET Data provider for .NET and Mono
4 * The contents of this file are subject to the Initial
5 * Developer's Public License Version 1.0 (the "License");
6 * you may not use this file except in compliance with the
7 * License. You may obtain a copy of the License at
8 * http://www.firebirdsql.org/index.php?op=doc&id=idpl
10 * Software distributed under the License is distributed on
11 * an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
12 * express or implied. See the License for the specific
13 * language governing rights and limitations under the License.
15 * Copyright (c) 2002, 2004 Carlos Guzman Alvarez
16 * All Rights Reserved.
21 using System.Globalization;
24 namespace FirebirdSql.Data.Firebird.DbSchema
26 internal class FbCharacterSets : FbDbSchema
30 public FbCharacterSets() : base("CharacterSets")
36 #region Protected Methods
38 protected override StringBuilder GetCommandText(object[] restrictions)
40 StringBuilder sql = new StringBuilder();
41 StringBuilder where = new StringBuilder();
45 "null AS CHARACTER_SET_CATALOG, " +
46 "null AS CHARACTER_SET_SCHEMA, " +
47 "rdb$character_set_name AS CHARACTER_SET_NAME, " +
48 "rdb$character_set_id AS CHARACTER_SET_ID, " +
49 "rdb$default_collate_name AS DEFAULT_COLLATION," +
50 "rdb$bytes_per_character AS BYTES_PER_CHARACTER, " +
51 "rdb$description AS DESCRIPTION " +
53 "rdb$character_sets");
55 if (restrictions != null)
59 /* CHARACTER_SET_CATALOG */
60 if (restrictions.Length >= 1 && restrictions[0] != null)
64 /* CHARACTER_SET_SCHEMA */
65 if (restrictions.Length >= 2 && restrictions[1] != null)
69 /* CHARACTER_SET_NAME */
70 if (restrictions.Length >= 3 && restrictions[2] != null)
72 where.AppendFormat(CultureInfo.CurrentUICulture, "rdb$character_set_name = @p{0}", index++);
78 sql.AppendFormat(CultureInfo.CurrentUICulture, " WHERE {0} ", where.ToString());
81 sql.Append(" ORDER BY rdb$character_set_name");