pub fn extension_tables<'a>(&self, tables: &'a [Table]) -> Vec<&'a Table> {
        let mut extension_tables = Vec::new();
        for (rt, _) in self.referring_tables(tables) {
            let pkfk = rt.primary_and_foreign_columns();
            let rt_pk = rt.primary_columns();
            // if the referring tables's foreign columns are also its primary columns
            // that refer to the primary columns of this table
            // then that table is just an extension table of this table
            if rt_pk == pkfk && !pkfk.is_empty() &&
                //if all fk refer to the primary of this table
                self.are_these_foreign_column_refer_to_primary_of_this_table(&pkfk) {
                extension_tables.push(rt);
            }
        }
        extension_tables
    }
/// get referring tables, and check if primary columns of these referring table
/// is the same set of the primary columns of this table
/// it is just an extension table
/// [FIXED]~~FIXME:~~ 2 primary 1 foreign should not be included as extension table
/// case for photo_sizes
get referring tables, and check if primary columns of these referring table
is the same set of the primary columns of this table
it is just an extension table
[FIXED]~~FIXME:~~ 2 primary 1 foreign should not be included as extension table
case for photo_sizes
get referring tables and check if primary columns of these referring table is the same set of the primary columns of this table it is just an extension table [ FIXED ] ~~FIXME : ~~ 2 primary 1 foreign should not be included as extension table case for photo_sizes
pub fn extension_tables<'a>(&self, tables: &'a [Table]) -> Vec<&'a Table> {
        let mut extension_tables = Vec::new();
        for (rt, _) in self.referring_tables(tables) {
            let pkfk = rt.primary_and_foreign_columns();
            let rt_pk = rt.primary_columns();
            // if the referring tables's foreign columns are also its primary columns
            // that refer to the primary columns of this table
            // then that table is just an extension table of this table
            if rt_pk == pkfk && !pkfk.is_empty() &&
                //if all fk refer to the primary of this table
                self.are_these_foreign_column_refer_to_primary_of_this_table(&pkfk) {
                extension_tables.push(rt);
            }
        }
        extension_tables
    }
pub fn extension_tables < ' a > ( & self , tables : & ' a [ Table ] ) -> Vec < & ' a Table > { let mut extension_tables = Vec :: new ( ) ; for ( rt , _ ) in self . referring_tables ( tables ) { let pkfk = rt . primary_and_foreign_columns ( ) ; let rt_pk = rt . primary_columns ( ) ; // if the referring tables's foreign columns are also its primary columns // that refer to the primary columns of this table // then that table is just an extension table of this table if rt_pk == pkfk && ! pkfk . is_empty ( ) && //if all fk refer to the primary of this table self . are_these_foreign_column_refer_to_primary_of_this_table ( & pkfk ) { extension_tables . push ( rt ) ; } } extension_tables }
get referring tables, and check if primary columns of these referring table
is the same set of the primary columns of this table
it is just an extension table
[FIXED]~~FIXME:~~ 2 primary 1 foreign should not be included as extension table
case for photo_sizes
get referring tables and check if primary columns of these referring table is the same set of the primary columns of this table it is just an extension table [ FIXED ] ~~FIXME : ~~ 2 primary 1 foreign should not be included as extension table case for photo_sizes
&self
tables
&'a [Table]
&self
tables
&'a [Table]