@@ -701,179 +701,4 @@ public Extractor(SqlDriver driver)
701
701
{
702
702
}
703
703
}
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
- }
879
704
}
0 commit comments