Revision: 5187
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5187&view=rev
Author: julian-maughan
Date: 2010-09-17 15:44:32 +0000 (Fri, 17 Sep 2010)
Log Message:
-----------
Improvement allowing Sybase SQL Anywhere/ASA dialect keywords to be ascertained using database metadata (ref. NH-2332). Thanks to Mark Junker.
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Dialect/Schema/SybaseAnywhereMetaData.cs
Modified: trunk/nhibernate/src/NHibernate/Dialect/Schema/SybaseAnywhereMetaData.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/Schema/SybaseAnywhereMetaData.cs 2010-09-16 15:21:57 UTC (rev 5186)
+++ trunk/nhibernate/src/NHibernate/Dialect/Schema/SybaseAnywhereMetaData.cs 2010-09-17 15:44:32 UTC (rev 5187)
@@ -2,6 +2,8 @@
using System.Data;
using System.Data.Common;
+using Iesi.Collections.Generic;
+
namespace NHibernate.Dialect.Schema
{
// Metadata for connections using the iAnywhere.Data.SQLAnywhere ADO.NET provider
@@ -14,6 +16,17 @@
return new SybaseAnywhereTableMetaData(rs, this, extras);
}
+ public override ISet<string> GetReservedWords()
+ {
+ var result = new HashedSet<string>();
+ DataTable dtReservedWords = Connection.GetSchema(DbMetaDataCollectionNames.ReservedWords);
+ foreach (DataRow row in dtReservedWords.Rows)
+ {
+ result.Add(row["reserved_word"].ToString());
+ }
+ return result;
+ }
+
public override DataTable GetTables(string catalog, string schemaPattern, string tableNamePattern, string[] types)
{
var restrictions = new[] {schemaPattern, tableNamePattern, null};
@@ -36,7 +49,7 @@
}
public override DataTable GetColumns(string catalog, string schemaPattern, string tableNamePattern,
- string columnNamePattern)
+ string columnNamePattern)
{
var restrictions = new[] {schemaPattern, tableNamePattern, null};
DataTable objTbl = Connection.GetSchema("Columns", restrictions);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|