public DBResult SetSessionModeNoAutoValueOnZero() { QueryString sql2 = m_DB.Format("SET SESSION sql_mode='NO_AUTO_VALUE_ON_ZERO';"); DatabaseDataReader reader; DBResult result = m_DB.Query(sql2, out reader); using (reader) { // Intentionally empty } return(result); }
public static DBResult GetDatabaseVersion(SqlDBCredentials credentials, out SoftwareVersion version, out InternalDatabaseType databaseType) { DBResult retVal = new DBResult(DBResult.Result.Success); try { _databaseVersionLock.Lock(); version = null; databaseType = InternalDatabaseType.Unknown; String indexKey = credentials.ToParsableString(); if (!_databaseVersionLookup.TryGetValue(indexKey, out version)) { ISqlDataSource ds = SqlConnectionPool.Instance(credentials).GetDataSource(); DatabaseDataReader reader; QueryString sql = ds.FormatTrusted("SELECT * FROM I.seq where name in ('{0}', '{1}')", KEY_DB_TYPE, KEY_SCHEMA_VER); retVal = ds.Query(sql, out reader); if (retVal.ResultCode == DBResult.Result.Success && reader.HasRows) { while (reader.Read()) { String key = DBUtil.GetString(reader[COL_KEY]); if (key == KEY_SCHEMA_VER) { version = DBUtil.GetSoftwareVersion(reader[COL_VALUE]); } else if (key == KEY_DB_TYPE) { databaseType = (InternalDatabaseType)DBUtil.GetInt32(reader[COL_VALUE]); } } _databaseVersionLookup.Add(indexKey, version); } } } finally { _databaseVersionLock.Unlock(); } return(retVal); }