Exemplo n.º 1
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="sqlIdentifier"></param>
		/// <param name="dialect"></param>
		/// <returns></returns>
		public string ToAliasString( string sqlIdentifier, Dialect.Dialect dialect )
		{
			bool isQuoted = dialect.IsQuoted( sqlIdentifier );
			string unquoted;

			if( isQuoted )
			{
				unquoted = dialect.UnQuote( sqlIdentifier );
			}
			else
			{
				unquoted = sqlIdentifier;
			}

			// Oracle doesn't like underscores at the start of identifiers (NH-320).
			// It should be safe to trim them here, because the aliases are postfixed
			// with a unique number anyway, so they won't collide.
			unquoted = unquoted.TrimStart( '_' );

			if( unquoted.Length > length )
			{
				unquoted = unquoted.Substring( 0, length );
			}

			if( suffix != null )
			{
				unquoted += suffix;
			}

			if( isQuoted )
			{
				return dialect.QuoteForAliasName( unquoted );
			}
			else
			{
				return unquoted;
			}

		}
Exemplo n.º 2
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="sqlIdentifier"></param>
		/// <param name="dialect"></param>
		/// <returns></returns>
		public string ToUnquotedAliasString(string sqlIdentifier, Dialect.Dialect dialect)
		{
			string unquoted = dialect.UnQuote(sqlIdentifier);

			// See comment in ToAliasString above
			unquoted = unquoted.TrimStart('_');

			if (unquoted.Length > length)
			{
				unquoted = unquoted.Substring(0, length);
			}

			if (suffix != null)
			{
				unquoted += suffix;
			}

			return unquoted;
		}