mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 14:20:05 +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 TestDefaultNotNullDomain;
|
||||
procedure TestCheckDomain;
|
||||
procedure TestDefaultCheckNotNullDomain;
|
||||
procedure TestAlterDomainDropDefault;
|
||||
procedure TestAlterDomainDropCheck;
|
||||
procedure TestAlterDomainDropCheckError;
|
||||
@ -2238,7 +2239,7 @@ begin
|
||||
end;
|
||||
|
||||
procedure TTestDomainParser.TestCheckDomain;
|
||||
Var
|
||||
var
|
||||
P : TSQLCreateOrAlterStatement;
|
||||
D : TSQLCreateDomainStatement;
|
||||
T : TSQLTypeDefinition;
|
||||
@ -2254,6 +2255,22 @@ begin
|
||||
AssertEquals('Not null',True,T.NotNull);
|
||||
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;
|
||||
begin
|
||||
TestCreateStatement('ALTER DOMAIN A DROP DEFAULT','A',TSQLAlterDomainDropDefaultStatement);
|
||||
|
Loading…
Reference in New Issue
Block a user