コード例 #1
0
        string CreateOrAlterIndex(SchemaFullTextIndex index, bool alter = false)
        {
            var sb = new StringBuilder();

            sb.Append(alter ? "ALTER" : "CREATE")
            .Append(" FULLTEXT INDEX ON ")
            .Append(PrependTablePrefix(index.TableName))
            .Append(NewLine)
            .Append("(")
            .Append(NewLine);

            var i = 0;

            foreach (var column in index.Columns)
            {
                sb.Append(column.ColumnName);

                if (!string.IsNullOrEmpty(column.TypeColumnName))
                {
                    sb
                    .Append(NewLine)
                    .Append("   TYPE COLUMN ").Append(column.TypeColumnName);
                }

                sb
                .Append(NewLine)
                .Append("   LANGUAGE ").Append(column.LanguageCode);

                if (i < index.Columns.Count - 1)
                {
                    sb.Append(",")
                    .Append(NewLine);
                }

                sb.Append(NewLine);
                i++;
            }

            sb.Append(")")
            .Append(NewLine);

            sb.Append("KEY INDEX ")
            .Append(index.PrimaryKeyName)
            .Append(" ON ")
            .Append(index.CatalogName)
            .Append(" WITH STOPLIST = SYSTEM;");

            return(sb.ToString());
        }
コード例 #2
0
        string CreateOrAlterIndex(SchemaFullTextIndex index, bool alter = false)
        {
            var sb = new StringBuilder();

            sb.Append(alter ? "ALTER" : "CREATE")
            .Append(" FULLTEXT INDEX ON ")
            .Append(PrependTablePrefix(index.TableName))
            .Append(" (")
            .Append(index.ColumnNames.ToDelimitedString())
            .Append(" LANGUAGE ")
            .Append(index.LanguageCode)
            .Append(") KEY INDEX ")
            .Append(index.PrimaryKeyName)
            .Append(" ON ")
            .Append(index.CatalogName)
            .Append(" WITH STOPLIST = SYSTEM;");

            return(sb.ToString());
        }
コード例 #3
0
 public IFullTextBuilder AlterIndex(SchemaFullTextIndex index)
 {
     AddStatement(CreateOrAlterIndex(index, true));
     return(this);
 }