@@ -159,28 +159,7 @@ private void FillProcedures(DataTable dataTable)
159159 new DataColumn ( "DEFINER" , typeof ( string ) ) , // lgtm[cs/local-not-disposed]
160160 } ) ;
161161
162- Action ? close = null ;
163- if ( m_connection . State != ConnectionState . Open )
164- {
165- m_connection . Open ( ) ;
166- close = m_connection . Close ;
167- }
168-
169- using ( var command = m_connection . CreateCommand ( ) )
170- {
171- #pragma warning disable CA2100
172- command . CommandText = "SELECT " + string . Join ( ", " , dataTable . Columns . Cast < DataColumn > ( ) . Select ( x => x . ColumnName ) ) + " FROM INFORMATION_SCHEMA.ROUTINES;" ;
173- #pragma warning restore CA2100
174- using var reader = command . ExecuteReader ( ) ;
175- while ( reader . Read ( ) )
176- {
177- var rowValues = new object [ dataTable . Columns . Count ] ;
178- reader . GetValues ( rowValues ) ;
179- dataTable . Rows . Add ( rowValues ) ;
180- }
181- }
182-
183- close ? . Invoke ( ) ;
162+ FillDataTable ( dataTable , "ROUTINES" ) ;
184163 }
185164
186165 private void FillReservedWords ( DataTable dataTable )
@@ -498,28 +477,7 @@ private void FillTables(DataTable dataTable)
498477 new DataColumn ( "TABLE_COMMENT" , typeof ( string ) ) , // lgtm[cs/local-not-disposed]
499478 } ) ;
500479
501- Action ? close = null ;
502- if ( m_connection . State != ConnectionState . Open )
503- {
504- m_connection . Open ( ) ;
505- close = m_connection . Close ;
506- }
507-
508- using ( var command = m_connection . CreateCommand ( ) )
509- {
510- #pragma warning disable CA2100
511- command . CommandText = "SELECT " + string . Join ( ", " , dataTable . Columns . Cast < DataColumn > ( ) . Select ( x => x . ColumnName ) ) + " FROM INFORMATION_SCHEMA.TABLES;" ;
512- #pragma warning restore CA2100
513- using var reader = command . ExecuteReader ( ) ;
514- while ( reader . Read ( ) )
515- {
516- var rowValues = new object [ dataTable . Columns . Count ] ;
517- reader . GetValues ( rowValues ) ;
518- dataTable . Rows . Add ( rowValues ) ;
519- }
520- }
521-
522- close ? . Invoke ( ) ;
480+ FillDataTable ( dataTable , "TABLES" ) ;
523481 }
524482
525483 private void FillViews ( DataTable dataTable )
@@ -538,6 +496,11 @@ private void FillViews(DataTable dataTable)
538496 new DataColumn ( "COLLATION_CONNECTION" , typeof ( string ) ) , // lgtm[cs/local-not-disposed]
539497 } ) ;
540498
499+ FillDataTable ( dataTable , "VIEWS" ) ;
500+ }
501+
502+ private void FillDataTable ( DataTable dataTable , string tableName )
503+ {
541504 Action ? close = null ;
542505 if ( m_connection . State != ConnectionState . Open )
543506 {
@@ -548,7 +511,7 @@ private void FillViews(DataTable dataTable)
548511 using ( var command = m_connection . CreateCommand ( ) )
549512 {
550513#pragma warning disable CA2100
551- command . CommandText = "SELECT " + string . Join ( ", " , dataTable . Columns . Cast < DataColumn > ( ) . Select ( x => x . ColumnName ) ) + " FROM INFORMATION_SCHEMA.VIEWS ;" ;
514+ command . CommandText = "SELECT " + string . Join ( ", " , dataTable . Columns . Cast < DataColumn > ( ) . Select ( x => x . ColumnName ) ) + " FROM INFORMATION_SCHEMA." + tableName + " ;";
552515#pragma warning restore CA2100
553516 using var reader = command . ExecuteReader ( ) ;
554517 while ( reader . Read ( ) )
0 commit comments