@@ -103,22 +103,19 @@ public virtual bool create_database_if_it_doesnt_exist(string custom_create_data
103103 {
104104 foreach ( var sql_statement in StatementSplitter . split_sql_on_regex_and_remove_empty_statements ( create_script , sql_statement_separator_regex_pattern ) )
105105 {
106- var return_value = run_sql_scalar ( sql_statement , ConnectionType . Admin ) ;
107106 //should only receive a return value once
107+ var return_value = run_sql_scalar_boolean ( sql_statement , ConnectionType . Admin ) ;
108108 if ( return_value != null )
109109 {
110- database_was_created = ( bool ) return_value ;
110+ database_was_created = return_value . Value ;
111111 }
112112 }
113113 }
114114 else
115115 {
116- var return_value = run_sql_scalar ( create_script , ConnectionType . Admin ) ;
117116 //should only receive a return value once
118- if ( return_value != null )
119- {
120- database_was_created = ( bool ) return_value ;
121- }
117+ var return_value = run_sql_scalar_boolean ( create_script , ConnectionType . Admin ) ;
118+ database_was_created = return_value . GetValueOrDefault ( false ) ;
122119 }
123120 }
124121 catch ( Exception ex )
@@ -131,6 +128,16 @@ public virtual bool create_database_if_it_doesnt_exist(string custom_create_data
131128 return database_was_created ;
132129 }
133130
131+ private bool ? run_sql_scalar_boolean ( string sql_to_run , ConnectionType connection_type )
132+ {
133+ var return_value = run_sql_scalar ( sql_to_run , connection_type ) ;
134+ if ( return_value != null && return_value != DBNull . Value )
135+ {
136+ return Convert . ToBoolean ( return_value ) ;
137+ }
138+ return null ;
139+ }
140+
134141 public void set_recovery_mode ( bool simple )
135142 {
136143 try
0 commit comments