mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 18:49:27 +02:00
* fcl-db: sql parser test: test for create domain with check constraint, default and not null, a la
CREATE DOMAIN PRODTYPE AS VARCHAR(12) DEFAULT 'software' CHECK (VALUE IN ('software', 'hardware', 'other', 'N/A')) NOT NULL; git-svn-id: trunk@27868 -
This commit is contained in:
parent
9ee1ec412f
commit
79d2abd1ca
@ -223,6 +223,7 @@ type
|
|||||||
Procedure TestNotNullDomain;
|
Procedure TestNotNullDomain;
|
||||||
procedure TestDefaultNotNullDomain;
|
procedure TestDefaultNotNullDomain;
|
||||||
procedure TestCheckDomain;
|
procedure TestCheckDomain;
|
||||||
|
procedure TestDefaultCheckNotNullDomain;
|
||||||
procedure TestAlterDomainDropDefault;
|
procedure TestAlterDomainDropDefault;
|
||||||
procedure TestAlterDomainDropCheck;
|
procedure TestAlterDomainDropCheck;
|
||||||
procedure TestAlterDomainDropCheckError;
|
procedure TestAlterDomainDropCheckError;
|
||||||
@ -2238,7 +2239,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TTestDomainParser.TestCheckDomain;
|
procedure TTestDomainParser.TestCheckDomain;
|
||||||
Var
|
var
|
||||||
P : TSQLCreateOrAlterStatement;
|
P : TSQLCreateOrAlterStatement;
|
||||||
D : TSQLCreateDomainStatement;
|
D : TSQLCreateDomainStatement;
|
||||||
T : TSQLTypeDefinition;
|
T : TSQLTypeDefinition;
|
||||||
@ -2254,6 +2255,22 @@ begin
|
|||||||
AssertEquals('Not null',True,T.NotNull);
|
AssertEquals('Not null',True,T.NotNull);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTestDomainParser.TestDefaultCheckNotNullDomain;
|
||||||
|
var
|
||||||
|
P : TSQLCreateOrAlterStatement;
|
||||||
|
D : TSQLCreateDomainStatement;
|
||||||
|
T : TSQLTypeDefinition;
|
||||||
|
begin
|
||||||
|
P:=TestCreateStatement('CREATE DOMAIN DEFCHECKNOTN AS VARCHAR(1) DEFAULT ''s'' CHECK (VALUE IN (''s'',''h'',''A'')) NOT NULL','A',TSQLCreateDomainStatement);
|
||||||
|
CheckClass(P,TSQLCreateDomainStatement);
|
||||||
|
D:=TSQLCreateDomainStatement(P);
|
||||||
|
AssertNotNull('Have type Definition',D.TypeDefinition);
|
||||||
|
T:=D.TypeDefinition;
|
||||||
|
AssertNotNull('Have default value',T.DefaultValue);
|
||||||
|
AssertEquals('Character data type',sdtChar,T.DataType);
|
||||||
|
AssertEquals('Not null',True,T.NotNull);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTestDomainParser.TestAlterDomainDropDefault;
|
procedure TTestDomainParser.TestAlterDomainDropDefault;
|
||||||
begin
|
begin
|
||||||
TestCreateStatement('ALTER DOMAIN A DROP DEFAULT','A',TSQLAlterDomainDropDefaultStatement);
|
TestCreateStatement('ALTER DOMAIN A DROP DEFAULT','A',TSQLAlterDomainDropDefaultStatement);
|
||||||
|
Loading…
Reference in New Issue
Block a user