Skip to content

Commit 9fd7911

Browse files
authored
Merge pull request #258 from DataObjects-NET/warnings-resolve
All compile-time warnings resolved
2 parents 3739fd8 + 3baa5b9 commit 9fd7911

File tree

8 files changed

+103
-201
lines changed

8 files changed

+103
-201
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
// Copyright (C) 2021 Xtensive LLC.
2+
// This code is distributed under MIT license terms.
3+
// See the License.txt file in the project root for more information.
4+
5+
namespace Xtensive.Sql.Drivers.Firebird.v4_0
6+
{
7+
internal partial class Extractor
8+
{
9+
protected override string GetExtractTableColumnsQuery()
10+
{
11+
return @"
12+
select schema
13+
,table_name
14+
,ordinal_position
15+
,column_name
16+
,field_type
17+
,column_subtype
18+
,column_size
19+
,numeric_precision
20+
,-numeric_scale as numeric_scale
21+
,character_max_length
22+
,(1 - coalesce(column_nullable,0)) as column_nullable
23+
,column_default
24+
,relation_type
25+
from (select cast(null as varchar(30)) as schema
26+
,trim(rfr.rdb$relation_name) as table_name
27+
,trim(rfr.rdb$field_name) as column_name
28+
,fld.rdb$field_sub_type as column_subtype
29+
,cast(fld.rdb$field_length as integer) as column_size
30+
,cast(fld.rdb$field_precision as integer) as numeric_precision
31+
,cast(fld.rdb$field_scale as integer) as numeric_scale
32+
,cast(fld.rdb$character_length as integer) as character_max_length
33+
,cast(fld.rdb$field_length as integer) as character_octet_length
34+
,rfr.rdb$field_position as ordinal_position
35+
,trim(rfr.rdb$field_source) as domain_name
36+
,trim(rfr.rdb$default_source) as column_default
37+
,trim(fld.rdb$computed_source) as computed_source
38+
,fld.rdb$dimensions as column_array
39+
,coalesce(fld.rdb$null_flag, rfr.rdb$null_flag) as column_nullable
40+
,0 as is_readonly
41+
,fld.rdb$field_type as field_type
42+
,trim(cs.rdb$character_set_name) as character_set_name
43+
,trim(coll.rdb$collation_name) as collation_name
44+
,trim(rfr.rdb$description) as description
45+
,cast(rr.rdb$relation_type as integer) as relation_type
46+
from rdb$relations rr join rdb$relation_fields rfr on rfr.rdb$relation_name = rr.rdb$relation_name
47+
left join rdb$fields fld on rfr.rdb$field_source = fld.rdb$field_name
48+
left join rdb$character_sets cs
49+
on cs.rdb$character_set_id = fld.rdb$character_set_id
50+
left join rdb$collations coll
51+
on (coll.rdb$collation_id = fld.rdb$collation_id
52+
and coll.rdb$character_set_id = fld.rdb$character_set_id)
53+
where rr.rdb$relation_type in (0, 4, 5) and rr.rdb$relation_name not starts with 'RDB$' and rr.rdb$relation_name not starts with 'MON$'
54+
order by table_name, ordinal_position)";
55+
}
56+
57+
protected override string GetExtractUniqueAndPrimaryKeyConstraintsQuery()
58+
{
59+
return @"
60+
select cast(null as varchar(30)) as schema
61+
,trim(rel.rdb$relation_name) as table_name
62+
,trim(rel.rdb$constraint_name) as constraint_name
63+
,trim(rel.rdb$constraint_type) constraint_type
64+
,trim(seg.rdb$field_name) as column_name
65+
,seg.rdb$field_position as column_position
66+
from rdb$relation_constraints rel
67+
left join rdb$indices idx on rel.rdb$index_name = idx.rdb$index_name
68+
left join rdb$index_segments seg on idx.rdb$index_name = seg.rdb$index_name
69+
where rel.rdb$constraint_type in ('PRIMARY KEY', 'UNIQUE')
70+
and rel.rdb$relation_name not starts with 'RDB$'
71+
and rel.rdb$relation_name not starts with 'MON$'
72+
order by rel.rdb$relation_name, rel.rdb$constraint_name, seg.rdb$field_position";
73+
}
74+
}
75+
}

Orm/Xtensive.Orm.Firebird/Sql.Drivers.Firebird/v4_0/Extractor.cs

-175
Original file line numberDiff line numberDiff line change
@@ -701,179 +701,4 @@ public Extractor(SqlDriver driver)
701701
{
702702
}
703703
}
704-
705-
internal partial class Extractor
706-
{
707-
protected virtual string GetExtractSchemasQuery()
708-
{
709-
return @"select " + Constants.DefaultSchemaName + @"from rdb$database";
710-
}
711-
712-
protected virtual string GetExtractTablesQuery()
713-
{
714-
return @"
715-
select cast(null as varchar(30)) as schema
716-
,trim(rdb$relation_name) as table_name
717-
,rdb$relation_type as table_type
718-
from rdb$relations
719-
where rdb$relation_type in (0, 5, 4) and rdb$relation_name not starts with 'RDB$' and rdb$relation_name not starts with 'MON$'";
720-
}
721-
722-
protected virtual string GetExtractTableColumnsQuery()
723-
{
724-
return @"
725-
select schema
726-
,table_name
727-
,ordinal_position
728-
,column_name
729-
,field_type
730-
,column_subtype
731-
,column_size
732-
,numeric_precision
733-
,-numeric_scale as numeric_scale
734-
,character_max_length
735-
,(1 - coalesce(column_nullable,0)) as column_nullable
736-
,column_default
737-
,relation_type
738-
from (select cast(null as varchar(30)) as schema
739-
,trim(rfr.rdb$relation_name) as table_name
740-
,trim(rfr.rdb$field_name) as column_name
741-
,fld.rdb$field_sub_type as column_subtype
742-
,cast(fld.rdb$field_length as integer) as column_size
743-
,cast(fld.rdb$field_precision as integer) as numeric_precision
744-
,cast(fld.rdb$field_scale as integer) as numeric_scale
745-
,cast(fld.rdb$character_length as integer) as character_max_length
746-
,cast(fld.rdb$field_length as integer) as character_octet_length
747-
,rfr.rdb$field_position as ordinal_position
748-
,trim(rfr.rdb$field_source) as domain_name
749-
,trim(rfr.rdb$default_source) as column_default
750-
,trim(fld.rdb$computed_source) as computed_source
751-
,fld.rdb$dimensions as column_array
752-
,coalesce(fld.rdb$null_flag, rfr.rdb$null_flag) as column_nullable
753-
,0 as is_readonly
754-
,fld.rdb$field_type as field_type
755-
,trim(cs.rdb$character_set_name) as character_set_name
756-
,trim(coll.rdb$collation_name) as collation_name
757-
,trim(rfr.rdb$description) as description
758-
,cast(rr.rdb$relation_type as integer) as relation_type
759-
from rdb$relations rr join rdb$relation_fields rfr on rfr.rdb$relation_name = rr.rdb$relation_name
760-
left join rdb$fields fld on rfr.rdb$field_source = fld.rdb$field_name
761-
left join rdb$character_sets cs
762-
on cs.rdb$character_set_id = fld.rdb$character_set_id
763-
left join rdb$collations coll
764-
on (coll.rdb$collation_id = fld.rdb$collation_id
765-
and coll.rdb$character_set_id = fld.rdb$character_set_id)
766-
where rr.rdb$relation_type in (0, 4, 5) and rr.rdb$relation_name not starts with 'RDB$' and rr.rdb$relation_name not starts with 'MON$'
767-
order by table_name, ordinal_position)";
768-
}
769-
770-
protected virtual string GetExtractViewsQuery()
771-
{
772-
return @"
773-
select cast(null as varchar(30)) as schema
774-
,trim(rdb$relation_name) as table_name
775-
,rdb$view_source as view_source
776-
from rdb$relations
777-
where rdb$relation_type = 1";
778-
}
779-
780-
protected virtual string GetExtractViewColumnsQuery()
781-
{
782-
return @"
783-
select cast(null as varchar(30)) as schema
784-
,trim(rfr.rdb$relation_name) as table_name
785-
,trim(rfr.rdb$field_name) as column_name
786-
,rfr.rdb$field_position as ordinal_position
787-
from rdb$relations rr join rdb$relation_fields rfr on rfr.rdb$relation_name = rr.rdb$relation_name
788-
where rr.rdb$relation_type = 1
789-
order by rfr.rdb$relation_name, rfr.rdb$field_position";
790-
}
791-
792-
protected virtual string GetExtractIndexesQuery()
793-
{
794-
return @"
795-
select cast(null as varchar(30)) as schema
796-
,trim(ri.rdb$relation_name) as table_name
797-
,trim(ri.rdb$index_name) as index_name
798-
,ri.rdb$index_id as index_seq
799-
,ri.rdb$index_type as descend
800-
,ri.rdb$unique_flag as unique_flag
801-
,trim(ris.rdb$field_name) as column_name
802-
,ris.rdb$field_position as column_position
803-
,ri.rdb$expression_source as expression_source
804-
from rdb$indices ri left join rdb$index_segments ris on ris.rdb$index_name = ri.rdb$index_name
805-
where ri.rdb$system_flag = 0
806-
and not exists
807-
(select 1
808-
from rdb$relation_constraints rc
809-
where rc.rdb$constraint_type in ('PRIMARY KEY', 'FOREIGN KEY')
810-
and rc.rdb$relation_name = ri.rdb$relation_name
811-
and rc.rdb$index_name = ri.rdb$index_name)
812-
order by ri.rdb$relation_name, ri.rdb$index_id, ris.rdb$field_position";
813-
}
814-
815-
protected virtual string GetExtractForeignKeysQuery()
816-
{
817-
return @"
818-
select cast(null as varchar(30)) as schema
819-
,trim(co.rdb$relation_name) as table_name
820-
,trim(co.rdb$constraint_name) as constraint_name
821-
,trim(co.rdb$deferrable) as is_deferrable
822-
,trim(co.rdb$initially_deferred) as deferred
823-
,trim(ref.rdb$delete_rule) as delete_rule
824-
,trim(coidxseg.rdb$field_name) as column_name
825-
,coidxseg.rdb$field_position as column_position
826-
,cast(null as varchar(30)) as referenced_schema
827-
,trim(refidx.rdb$relation_name) as referenced_table_name
828-
,trim(refidxseg.rdb$field_name) as referenced_column_name
829-
,trim(ref.rdb$match_option) as match_option
830-
,trim(ref.rdb$update_rule) as update_rule
831-
from rdb$relation_constraints co join rdb$ref_constraints ref on co.rdb$constraint_name = ref.rdb$constraint_name
832-
join rdb$indices tempidx
833-
on co.rdb$index_name = tempidx.rdb$index_name
834-
join rdb$index_segments coidxseg
835-
on co.rdb$index_name = coidxseg.rdb$index_name
836-
join rdb$relation_constraints unqc
837-
on ref.rdb$const_name_uq = unqc.rdb$constraint_name and unqc.rdb$constraint_type in ('UNIQUE', 'PRIMARY KEY')
838-
join rdb$indices refidx
839-
on refidx.rdb$index_name = unqc.rdb$index_name and refidx.rdb$relation_name not starts with 'RDB$'
840-
join rdb$index_segments refidxseg
841-
on refidx.rdb$index_name = refidxseg.rdb$index_name
842-
and coidxseg.rdb$field_position = refidxseg.rdb$field_position
843-
where co.rdb$constraint_type = 'FOREIGN KEY'
844-
order by co.rdb$relation_name, co.rdb$constraint_name, coidxseg.rdb$field_position";
845-
}
846-
847-
protected override string GetExtractUniqueAndPrimaryKeyConstraintsQuery()
848-
{
849-
return @"
850-
select cast(null as varchar(30)) as schema
851-
,trim(rel.rdb$relation_name) as table_name
852-
,trim(rel.rdb$constraint_name) as constraint_name
853-
,trim(rel.rdb$constraint_type) constraint_type
854-
,trim(seg.rdb$field_name) as column_name
855-
,seg.rdb$field_position as column_position
856-
from rdb$relation_constraints rel
857-
left join rdb$indices idx on rel.rdb$index_name = idx.rdb$index_name
858-
left join rdb$index_segments seg on idx.rdb$index_name = seg.rdb$index_name
859-
where rel.rdb$constraint_type in ('PRIMARY KEY', 'UNIQUE')
860-
and rel.rdb$relation_name not starts with 'RDB$'
861-
and rel.rdb$relation_name not starts with 'MON$'
862-
order by rel.rdb$relation_name, rel.rdb$constraint_name, seg.rdb$field_position";
863-
}
864-
865-
protected virtual string GetExtractCheckConstraintsQuery()
866-
{
867-
return @"
868-
select cast(null as varchar(30)) as schema
869-
,trim(chktb.rdb$relation_name) as table_name
870-
,trim(chktb.rdb$constraint_name) as constraint_name
871-
,trim(trig.rdb$trigger_source) as check_clausule
872-
from rdb$relation_constraints chktb inner join rdb$check_constraints chk
873-
on (chktb.rdb$constraint_name = chk.rdb$constraint_name and chktb.rdb$constraint_type = 'CHECK')
874-
inner join rdb$triggers trig
875-
on chk.rdb$trigger_name = trig.rdb$trigger_name and trig.rdb$trigger_type = 1
876-
order by chktb.rdb$relation_name, chktb.rdb$constraint_name";
877-
}
878-
}
879704
}

0 commit comments

Comments
 (0)