@@ -19,13 +19,13 @@ namespace Xtensive.Orm.Tests.Sql.SqlServer
1919 [ TestFixture ]
2020 public class ExtractorTest : SqlTest
2121 {
22- private List < string > dropOperations = new List < string > ( ) ;
22+ private readonly List < string > dropOperations = new List < string > ( ) ;
2323
2424 protected override void TestFixtureTearDown ( )
2525 {
2626 foreach ( var dropOperation in dropOperations ) {
2727 try {
28- ExecuteNonQuery ( dropOperation ) ;
28+ _ = ExecuteNonQuery ( dropOperation ) ;
2929 }
3030 catch ( Exception exception ) {
3131 Console . Write ( "Operation '{0}' wasn't performed correctly" , dropOperation ) ;
@@ -62,8 +62,8 @@ CREATE TABLE [Table1] (
6262 var dropScript = "IF OBJECT_ID('Table1') IS NOT NULL DROP TABLE [Table1]" ;
6363
6464 RegisterDropForLater ( dropScript ) ;
65- ExecuteNonQuery ( dropScript ) ;
66- ExecuteNonQuery ( createScript ) ;
65+ _ = ExecuteNonQuery ( dropScript ) ;
66+ _ = ExecuteNonQuery ( createScript ) ;
6767
6868 #endregion
6969
@@ -112,8 +112,8 @@ CREATE TABLE [Table1] (
112112 var dropScript = @"IF OBJECT_ID('Table1') IS NOT NULL DROP TABLE [Table1]" ;
113113
114114 RegisterDropForLater ( dropScript ) ;
115- ExecuteNonQuery ( dropScript ) ;
116- ExecuteNonQuery ( createScript ) ;
115+ _ = ExecuteNonQuery ( dropScript ) ;
116+ _ = ExecuteNonQuery ( createScript ) ;
117117
118118 #endregion
119119
@@ -187,8 +187,8 @@ CREATE TABLE Table2 (
187187 IF OBJECT_ID('Table2') IS NOT NULL DROP TABLE [Table2];" ;
188188
189189 RegisterDropForLater ( dropScript ) ;
190- ExecuteNonQuery ( dropScript ) ;
191- ExecuteNonQuery ( createScript ) ;
190+ _ = ExecuteNonQuery ( dropScript ) ;
191+ _ = ExecuteNonQuery ( createScript ) ;
192192
193193 #endregion
194194
@@ -268,8 +268,8 @@ CREATE TABLE [Table2] (
268268 IF OBJECT_ID('Table2') IS NOT NULL DROP TABLE [Table2];" ;
269269
270270 RegisterDropForLater ( dropScript ) ;
271- ExecuteNonQuery ( dropScript ) ;
272- ExecuteNonQuery ( createScript ) ;
271+ _ = ExecuteNonQuery ( dropScript ) ;
272+ _ = ExecuteNonQuery ( createScript ) ;
273273
274274 #endregion
275275
@@ -333,8 +333,8 @@ CREATE TABLE [Table2] (
333333 IF OBJECT_ID('Table2') IS NOT NULL DROP TABLE [Table2];" ;
334334
335335 RegisterDropForLater ( dropScript ) ;
336- ExecuteNonQuery ( dropScript ) ;
337- ExecuteNonQuery ( createScript ) ;
336+ _ = ExecuteNonQuery ( dropScript ) ;
337+ _ = ExecuteNonQuery ( createScript ) ;
338338
339339 #endregion
340340
@@ -381,15 +381,15 @@ CREATE TABLE [Table2] (
381381 [ Test ]
382382 public void ExtractDomainsTest ( )
383383 {
384- string createTable =
384+ var createTable =
385385 "create table table_with_domained_columns (id int primary key, value test_type)" ;
386- string dropTable =
386+ var dropTable =
387387 "if object_id('table_with_domained_columns') is not null drop table table_with_domained_columns" ;
388388
389- ExecuteNonQuery ( dropTable ) ;
389+ _ = ExecuteNonQuery ( dropTable ) ;
390390 DropDomain ( ) ;
391391 CreateDomain ( ) ;
392- ExecuteNonQuery ( createTable ) ;
392+ _ = ExecuteNonQuery ( createTable ) ;
393393
394394 var schema = ExtractCatalog ( ) . DefaultSchema ;
395395 var definedDomain = schema . Domains . Single ( domain => domain . Name == "test_type" ) ;
@@ -403,13 +403,13 @@ public void ExtractDomainsTest()
403403 [ Test ]
404404 public void ExtractDefaultConstraintTest ( )
405405 {
406- string createTable =
406+ var createTable =
407407 "create table table_with_default_constraint (id int default 0)" ;
408- string dropTable =
408+ var dropTable =
409409 "if object_id('table_with_default_constraint') is not null drop table table_with_default_constraint" ;
410410
411- ExecuteNonQuery ( dropTable ) ;
412- ExecuteNonQuery ( createTable ) ;
411+ _ = ExecuteNonQuery ( dropTable ) ;
412+ _ = ExecuteNonQuery ( createTable ) ;
413413
414414 var schema = ExtractCatalog ( ) . DefaultSchema ;
415415 var table = schema . Tables [ "table_with_default_constraint" ] ;
@@ -420,35 +420,35 @@ public void ExtractDefaultConstraintTest()
420420 [ Test ]
421421 public void ExtractComputedColumnTest ( )
422422 {
423- string createTable = @"
423+ var createTable = @"
424424 CREATE TABLE Tmp ( [Value] [int] NOT NULL, [Sum] AS ([Value]+(1)) PERSISTED ) ON [PRIMARY]
425425 CREATE NONCLUSTERED INDEX [IX_Sum] ON Tmp ( [Sum] ASC ) ON [PRIMARY]" ;
426- string createView = @"
426+ var createView = @"
427427 CREATE VIEW Tmp_View WITH SCHEMABINDING AS SELECT Value, Sum FROM dbo.Tmp" ;
428- string createIndex = @"
428+ var createIndex = @"
429429 CREATE UNIQUE CLUSTERED INDEX [x] ON Tmp_View ( [Value] ASC )" ;
430- string drop = @"
430+ var drop = @"
431431 if object_id('Tmp_View') is not null drop view Tmp_View
432432 if object_id('Tmp') is not null drop table Tmp" ;
433433
434- ExecuteNonQuery ( drop ) ;
435- ExecuteNonQuery ( createTable ) ;
436- ExecuteNonQuery ( createView ) ;
434+ _ = ExecuteNonQuery ( drop ) ;
435+ _ = ExecuteNonQuery ( createTable ) ;
436+ _ = ExecuteNonQuery ( createView ) ;
437437
438- ExtractDefaultSchema ( ) ;
439- ExecuteNonQuery ( drop ) ;
438+ _ = ExtractDefaultSchema ( ) ;
439+ _ = ExecuteNonQuery ( drop ) ;
440440 }
441441
442442 [ Test ]
443443 public void ExtractUDTTest ( )
444444 {
445445 Require . ProviderVersionAtLeast ( StorageProviderVersion . SqlServer2008 ) ;
446- string create = "CREATE TYPE GuidList AS TABLE ( Id UNIQUEIDENTIFIER NULL )" ;
447- string drop = "if type_id('GuidList') is not null drop type GuidList" ;
446+ var create = "CREATE TYPE GuidList AS TABLE ( Id UNIQUEIDENTIFIER NULL )" ;
447+ var drop = "if type_id('GuidList') is not null drop type GuidList" ;
448448
449- ExecuteNonQuery ( drop ) ;
450- ExecuteNonQuery ( create ) ;
451- ExtractDefaultSchema ( ) ;
449+ _ = ExecuteNonQuery ( drop ) ;
450+ _ = ExecuteNonQuery ( create ) ;
451+ _ = ExtractDefaultSchema ( ) ;
452452 }
453453
454454 [ Test ]
@@ -479,36 +479,141 @@ CONSTRAINT PK_FullTextTestTable PRIMARY KEY (Id)
479479 cases [ 3 ] = new Pair < string , ChangeTrackingMode > ( createOffNoPopulationIndex , ChangeTrackingMode . OffWithNoPopulation ) ;
480480
481481 foreach ( var @case in cases ) {
482- ExecuteNonQuery ( dropTable ) ;
483- ExecuteNonQuery ( createTable ) ;
484- ExecuteNonQuery ( @case . First ) ;
482+ _ = ExecuteNonQuery ( dropTable ) ;
483+ _ = ExecuteNonQuery ( createTable ) ;
484+ _ = ExecuteNonQuery ( @case . First ) ;
485485 var schema = ExtractDefaultSchema ( ) ;
486486 var table = schema . Tables [ "FullTextTestTable" ] ;
487487 var ftIndex = table . Indexes . OfType < FullTextIndex > ( ) . FirstOrDefault ( ) ;
488488 Assert . That ( ftIndex , Is . Not . Null ) ;
489489 Assert . That ( ftIndex . ChangeTrackingMode , Is . EqualTo ( @case . Second ) ) ;
490490 }
491- ExecuteNonQuery ( dropTable ) ;
491+ _ = ExecuteNonQuery ( dropTable ) ;
492492 }
493493
494- #region Helpers
494+ [ Test ]
495+ public void ExtractInt64SequenceTest ( )
496+ {
497+ var createSequence = @"CREATE SEQUENCE dbo.BigIntSeq
498+ AS bigint
499+ START WITH 12 INCREMENT BY 3
500+ MINVALUE 10 MAXVALUE 200
501+ CYCLE CACHE 3;" ;
502+
503+ var dropSequence = @"IF OBJECT_ID('dbo.BigIntSeq', 'SO') IS NOT NULL
504+ DROP SEQUENCE dbo.BigIntSeq;" ;
505+
506+ _ = ExecuteNonQuery ( dropSequence ) ;
507+ _ = ExecuteNonQuery ( createSequence ) ;
508+ var schema = ExtractDefaultSchema ( ) ;
509+ var sequence = schema . Sequences . FirstOrDefault ( s => s . Name == "BigIntSeq" ) ;
510+ Assert . That ( sequence , Is . Not . Null ) ;
511+ var descriptor = sequence . SequenceDescriptor ;
512+ Assert . That ( descriptor . StartValue , Is . EqualTo ( 12 ) ) ;
513+ Assert . That ( descriptor . Increment , Is . EqualTo ( 3 ) ) ;
514+ Assert . That ( descriptor . MinValue , Is . EqualTo ( 10 ) ) ;
515+ Assert . That ( descriptor . MaxValue , Is . EqualTo ( 200 ) ) ;
516+
517+ _ = ExecuteNonQuery ( dropSequence ) ;
518+ }
519+
520+ [ Test ]
521+ public void ExtractInt32SequenceTest ( )
522+ {
523+ var createSequence = @"CREATE SEQUENCE dbo.IntSeq
524+ AS int
525+ START WITH 12 INCREMENT BY 3
526+ MINVALUE 10 MAXVALUE 200
527+ CYCLE CACHE 3;" ;
528+
529+ var dropSequence = @"IF OBJECT_ID('dbo.IntSeq', 'SO') IS NOT NULL
530+ DROP SEQUENCE dbo.IntSeq;" ;
531+
532+ _ = ExecuteNonQuery ( dropSequence ) ;
533+ _ = ExecuteNonQuery ( createSequence ) ;
534+ var schema = ExtractDefaultSchema ( ) ;
535+ var sequence = schema . Sequences . FirstOrDefault ( s => s . Name == "IntSeq" ) ;
536+ Assert . That ( sequence , Is . Not . Null ) ;
537+ var descriptor = sequence . SequenceDescriptor ;
538+ Assert . That ( descriptor . StartValue , Is . EqualTo ( 12 ) ) ;
539+ Assert . That ( descriptor . Increment , Is . EqualTo ( 3 ) ) ;
540+ Assert . That ( descriptor . MinValue , Is . EqualTo ( 10 ) ) ;
541+ Assert . That ( descriptor . MaxValue , Is . EqualTo ( 200 ) ) ;
542+
543+ _ = ExecuteNonQuery ( dropSequence ) ;
544+ }
545+
546+ [ Test ]
547+ public void ExtractInt16SequenceTest ( )
548+ {
549+ var createSequence = @"CREATE SEQUENCE dbo.SmallIntSeq
550+ AS smallint
551+ START WITH 12 INCREMENT BY 3
552+ MINVALUE 10 MAXVALUE 200
553+ CYCLE CACHE 3;" ;
554+
555+ var dropSequence = @"IF OBJECT_ID('dbo.SmallIntSeq', 'SO') IS NOT NULL
556+ DROP SEQUENCE dbo.SmallIntSeq;" ;
557+
558+ _ = ExecuteNonQuery ( dropSequence ) ;
559+ _ = ExecuteNonQuery ( createSequence ) ;
560+ var schema = ExtractDefaultSchema ( ) ;
561+ var sequence = schema . Sequences . FirstOrDefault ( s => s . Name == "SmallIntSeq" ) ;
562+ Assert . That ( sequence , Is . Not . Null ) ;
563+ var descriptor = sequence . SequenceDescriptor ;
564+ Assert . That ( descriptor . StartValue , Is . EqualTo ( 12 ) ) ;
565+ Assert . That ( descriptor . Increment , Is . EqualTo ( 3 ) ) ;
566+ Assert . That ( descriptor . MinValue , Is . EqualTo ( 10 ) ) ;
567+ Assert . That ( descriptor . MaxValue , Is . EqualTo ( 200 ) ) ;
568+
569+ _ = ExecuteNonQuery ( dropSequence ) ;
570+ }
571+
572+ [ Test ]
573+ public void ExtractByteSequenceTest ( )
574+ {
575+ var createSequence = @"CREATE SEQUENCE dbo.TinyIntSeq
576+ AS tinyint
577+ START WITH 12 INCREMENT BY 3
578+ MINVALUE 10 MAXVALUE 200
579+ CYCLE CACHE 3;" ;
580+
581+ var dropSequence = @"IF OBJECT_ID('dbo.TinyIntSeq', 'SO') IS NOT NULL
582+ DROP SEQUENCE dbo.TinyIntSeq;" ;
583+
584+ _ = ExecuteNonQuery ( dropSequence ) ;
585+ _ = ExecuteNonQuery ( createSequence ) ;
586+ var schema = ExtractDefaultSchema ( ) ;
587+ var sequence = schema . Sequences . FirstOrDefault ( s => s . Name == "TinyIntSeq" ) ;
588+ Assert . That ( sequence , Is . Not . Null ) ;
589+ var descriptor = sequence . SequenceDescriptor ;
590+ Assert . That ( descriptor . StartValue , Is . EqualTo ( 12 ) ) ;
591+ Assert . That ( descriptor . Increment , Is . EqualTo ( 3 ) ) ;
592+ Assert . That ( descriptor . MinValue , Is . EqualTo ( 10 ) ) ;
593+ Assert . That ( descriptor . MaxValue , Is . EqualTo ( 200 ) ) ;
594+
595+ _ = ExecuteNonQuery ( dropSequence ) ;
596+ }
597+
598+
599+ #region Helpers
495600
496601 private void CreateDomain ( )
497602 {
498603 var schema = ExtractCatalog ( ) . DefaultSchema ;
499604 var domain = schema . CreateDomain ( "test_type" , new SqlValueType ( SqlType . Int64 ) ) ;
500605 var commandText = Driver . Compile ( SqlDdl . Create ( domain ) ) . GetCommandText ( ) ;
501- ExecuteNonQuery ( commandText ) ;
606+ _ = ExecuteNonQuery ( commandText ) ;
502607 }
503608
504609 private void DropDomain ( )
505610 {
506611 var schema = ExtractCatalog ( ) . DefaultSchema ;
507612 var domain = schema . Domains [ "test_type" ] ;
508- if ( domain == null )
613+ if ( domain == null )
509614 return ;
510615 var commandText = Driver . Compile ( SqlDdl . Drop ( domain ) ) . GetCommandText ( ) ;
511- ExecuteNonQuery ( commandText ) ;
616+ _ = ExecuteNonQuery ( commandText ) ;
512617 }
513618
514619 private void RegisterDropForLater ( string dropScript )
0 commit comments