public void GetCreateElement_WithAllOptionsOn()
        {
            var entityNameDefinition = new EntityNameDefinition(null, "TableName");
            var indexDefinition      = new SqlSecondaryXmlIndexDefinition(
                "Index1",
                _xmlColumn,
                "PrimaryIndexName",
                SqlSecondaryXmlIndexKind.Path,
                true,
                12,
                true,
                true,
                true,
                true,
                true,
                2);

            var result = _factory.GetCreateElement(indexDefinition, entityNameDefinition);

            var expectedResult =
                "CREATE XML INDEX [Index1]\r\n"
                + "  ON [dbo].[TableName] ([XmlColumn])\r\n"
                + "  USING XML INDEX [PrimaryIndexName]\r\n"
                + "  FOR Path\r\n"
                + "  WITH (PAD_INDEX = ON, FILLFACTOR = 12, SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = ON, DROP_EXISTING = ON, ALLOW_ROW_LOCKS = ON, "
                + "ALLOW_PAGE_LOCKS = ON, MAXDOP = 2)";

            Assert.That(result, Is.TypeOf(typeof(ScriptStatement)));
            Assert.That(((ScriptStatement)result).Statement, Is.EqualTo(expectedResult));
        }
        public override void SetUp()
        {
            base.SetUp();

            _factory = new SqlSecondaryXmlIndexDefinitionScriptElementFactory();

            _xmlColumn = ColumnDefinitionObjectMother.CreateColumn("XmlColumn");

            _customSchemaNameDefinition      = new EntityNameDefinition("SchemaName", "TableName1");
            _indexDefinitionWithCustomSchema = new SqlSecondaryXmlIndexDefinition(
                "Index1", _xmlColumn, "PrimaryIndexName", SqlSecondaryXmlIndexKind.Property);
            _defaultSchemaNameDefinition      = new EntityNameDefinition(null, "TableName2");
            _indexDefinitionWithDefaultSchema = new SqlSecondaryXmlIndexDefinition(
                "Index2", _xmlColumn, "PrimaryIndexName", SqlSecondaryXmlIndexKind.Value);
        }
        public override void SetUp()
        {
            base.SetUp();

            _indexDefinitionElementFactoryMock          = MockRepository.GenerateStub <ISqlIndexDefinitionScriptElementFactory <SqlIndexDefinition> >();
            _primaryIndexDefinitionElementFactoryMock   = MockRepository.GenerateStub <ISqlIndexDefinitionScriptElementFactory <SqlPrimaryXmlIndexDefinition> > ();
            _secondaryIndexDefinitionElementFactoryMock =
                MockRepository.GenerateStub <ISqlIndexDefinitionScriptElementFactory <SqlSecondaryXmlIndexDefinition> >();

            _factory = new SqlIndexScriptElementFactory(
                _indexDefinitionElementFactoryMock, _primaryIndexDefinitionElementFactoryMock, _secondaryIndexDefinitionElementFactoryMock);

            var simpleColumn  = ColumnDefinitionObjectMother.CreateColumn("Column");
            var indexedColumn = new SqlIndexedColumnDefinition(simpleColumn, IndexOrder.Desc);

            _entityNameDefinition     = new EntityNameDefinition(null, "Table");
            _indexDefinition          = new SqlIndexDefinition("Index1", new[] { indexedColumn });
            _primaryIndexDefinition   = new SqlPrimaryXmlIndexDefinition("Index2", simpleColumn);
            _secondaryIndexDefinition = new SqlSecondaryXmlIndexDefinition(
                "Index3", simpleColumn, "PrimaryIndexName", SqlSecondaryXmlIndexKind.Property);

            _fakeScriptElement = MockRepository.GenerateStub <IScriptElement>();
        }
Esempio n. 4
0
 public void SetUp()
 {
     _xmlColumn       = ColumnDefinitionObjectMother.CreateColumn("XmlColumn");
     _indexDefinition = new SqlSecondaryXmlIndexDefinition(
         "IndexName", _xmlColumn, "PrimaryIndexName", SqlSecondaryXmlIndexKind.Property, true, 5, true, true, true, true, true, 2);
 }
Esempio n. 5
0
 void ISqlIndexDefinitionVisitor.VisitSecondaryXmlIndexDefinition(SqlSecondaryXmlIndexDefinition secondaryXmlIndexDefinition)
 {
     _elementFactory.AddSecondaryXmlIndexDefinition(secondaryXmlIndexDefinition, _ownerName);
 }
Esempio n. 6
0
 private void AddSecondaryXmlIndexDefinition(SqlSecondaryXmlIndexDefinition indexDefinition, EntityNameDefinition ownerName)
 {
     _createScriptElement = _secondaryIndexDefinitionElementFactory.GetCreateElement(indexDefinition, ownerName);
     _dropScriptElement   = _secondaryIndexDefinitionElementFactory.GetDropElement(indexDefinition, ownerName);
 }