Пример #1
0
   public AuditTrigger(Table dataTable, AuditTable auditTable,
       INamingStrategy namingStrategy, TriggerActions action)
       : base(namingStrategy.GetTriggerName(dataTable, action),
 dataTable.GetQuotedName(),
 action)
   {
       _auditTable = auditTable;
         _dataColumnNames = (
       from column in dataTable.ColumnIterator
       select column.GetQuotedName()
       ).ToArray();
   }
Пример #2
0
        public static string BuildSqlDropIndexString(Dialect.Dialect dialect, Table table, string name, string defaultCatalog, string defaultSchema)
        {
            var catalog   = table.GetQuotedCatalog(dialect, defaultCatalog);
            var schema    = table.GetQuotedSchema(dialect, defaultSchema);
            var tableName = table.GetQuotedName(dialect);

            return(new StringBuilder()
                   .AppendLine(dialect.GetIfExistsDropConstraint(catalog, schema, tableName, name))
                   .Append("drop index ")
                   .AppendLine(StringHelper.Qualify(table.GetQualifiedName(dialect, defaultCatalog, defaultSchema), name))
                   .Append(dialect.GetIfExistsDropConstraintEnd(catalog, schema, tableName, name))
                   .ToString());
        }
Пример #3
0
		protected override string GetSelectExistingObject(string name, Table table)
		{
			string schema = table.GetQuotedSchemaName(this);
			if (schema != null)
			{
				schema += ".";
			}
			string objName = string.Format("{0}{1}", schema, Quote(name));
			string parentName = string.Format("{0}{1}", schema, table.GetQuotedName(this));
			return
				string.Format(
					"select 1 from sys.objects where object_id = OBJECT_ID(N'{0}') AND parent_object_id = OBJECT_ID('{1}')", objName,
					parentName);
		}
Пример #4
0
        /// <summary>
        /// Get the SQL string to drop this Constraint in the database.
        /// </summary>
        /// <param name="dialect">The <see cref="Dialect.Dialect"/> to use for SQL rules.</param>
        /// <param name="defaultCatalog"></param>
        /// <param name="defaultSchema"></param>
        /// <returns>
        /// A string that contains the SQL to drop this Constraint.
        /// </returns>
        public override string SqlDropString(Dialect.Dialect dialect, string defaultCatalog, string defaultSchema)
        {
            var catalog   = Table.GetQuotedCatalog(dialect, defaultCatalog);
            var schema    = Table.GetQuotedSchema(dialect, defaultSchema);
            var tableName = Table.GetQuotedName(dialect);

            return(new StringBuilder()
                   .AppendLine(dialect.GetIfExistsDropConstraint(catalog, schema, tableName, Name))
                   .Append("alter table ")
                   .Append(Table.GetQualifiedName(dialect, defaultCatalog, defaultSchema))
                   .AppendLine(dialect.GetDropPrimaryKeyConstraintString(Name))
                   .Append(dialect.GetIfExistsDropConstraintEnd(catalog, schema, tableName, Name))
                   .ToString());
        }
		public void TableNameNotQuoted() 
		{
			Table tbl = new Table();
			tbl.Name = "notkeyword";

			Dialect.Dialect dialect = new Dialect.MsSql2000Dialect();

			Assert.AreEqual( "notkeyword", tbl.GetQuotedName( dialect ) );

			Assert.AreEqual( "dbo.notkeyword", tbl.GetQualifiedName( dialect, "dbo" ) );

			Assert.AreEqual( "notkeyword", tbl.GetQualifiedName( dialect, null ) );

			tbl.Schema = "sch";

			Assert.AreEqual( "sch.notkeyword", tbl.GetQualifiedName( dialect ) );
		}
Пример #6
0
		public void TableNameQuoted()
		{
			Table tbl = new Table();
			tbl.Name = "`keyword`";

			Dialect.Dialect dialect = new MsSql2000Dialect();

			Assert.AreEqual("[keyword]", tbl.GetQuotedName(dialect));

			Assert.AreEqual("dbo.[keyword]", tbl.GetQualifiedName(dialect, null, "dbo"));

			Assert.AreEqual("[keyword]", tbl.GetQualifiedName(dialect, null, null));

			tbl.Schema = "sch";

			Assert.AreEqual("sch.[keyword]", tbl.GetQualifiedName(dialect));
		}
		protected virtual string GetSelectExistingObject(string name, Table table)
		{
			string objName = table.GetQuotedSchemaName(this) + Quote(name);
			return string.Format("select 1 from sysobjects where id = OBJECT_ID(N'{0}') AND parent_obj = OBJECT_ID('{1}')",
								 objName, table.GetQuotedName(this));
		}
		public string GetLogicalTableName(Table table)
		{
			return GetLogicalTableName(table.GetQuotedSchema(), table.Catalog, table.GetQuotedName());
		}
Пример #9
0
        public IIdentifierGenerator CreateIdentifierGenerator(Dialect.Dialect dialect, string defaultCatalog,
                                                              string defaultSchema, RootClass rootClass)
        {
            Dictionary <string, string> @params = new Dictionary <string, string>();

            //if the hibernate-mapping did not specify a schema/catalog, use the defaults
            //specified by properties - but note that if the schema/catalog were specified
            //in hibernate-mapping, or as params, they will already be initialized and
            //will override the values set here (they are in identifierGeneratorProperties)
            if (!string.IsNullOrEmpty(defaultSchema))
            {
                @params[PersistentIdGeneratorParmsNames.Schema] = defaultSchema;
            }
            if (!string.IsNullOrEmpty(defaultCatalog))
            {
                @params[PersistentIdGeneratorParmsNames.Catalog] = defaultCatalog;
            }

            //pass the entity-name, if not a collection-id
            if (rootClass != null)
            {
                @params[IdGeneratorParmsNames.EntityName] = rootClass.EntityName;
            }

            //init the table here instead of earlier, so that we can get a quoted table name
            //TODO: would it be better to simply pass the qualified table name, instead of
            //      splitting it up into schema/catalog/table names
            string tableName = Table.GetQuotedName(dialect);

            @params[PersistentIdGeneratorParmsNames.Table] = tableName;

            //pass the column name (a generated id almost always has a single column and is not a formula)
            IEnumerator enu = ColumnIterator.GetEnumerator();

            enu.MoveNext();
            string columnName = ((Column)enu.Current).GetQuotedName(dialect);

            @params[PersistentIdGeneratorParmsNames.PK] = columnName;

            if (rootClass != null)
            {
                StringBuilder tables      = new StringBuilder();
                bool          commaNeeded = false;
                foreach (Table identityTable in rootClass.IdentityTables)
                {
                    if (commaNeeded)
                    {
                        tables.Append(StringHelper.CommaSpace);
                    }
                    commaNeeded = true;
                    tables.Append(identityTable.GetQuotedName(dialect));
                }
                @params[PersistentIdGeneratorParmsNames.Tables] = tables.ToString();
            }
            else
            {
                @params[PersistentIdGeneratorParmsNames.Tables] = tableName;
            }

            if (identifierGeneratorProperties != null)
            {
                ArrayHelper.AddAll(@params, identifierGeneratorProperties);
            }

            return(IdentifierGeneratorFactory.Create(identifierGeneratorStrategy, Type, @params, dialect));
        }