Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/12/09 10:39:15 (15 years ago)
Author:
gkronber
Message:

implemented #461 (HL.Grid shouldn't depend directly on System.Data.SQLite) by removing the direct reference to System.Data.SQLite and replacing it with a factory in HL.Grid.Database.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Grid/Database.cs

    r507 r1110  
    2525using System.Text;
    2626using System.Data;
    27 using System.Data.SQLite;
    2827using System.Data.Common;
    2928using System.Threading;
     
    3332    private string connectionString;
    3433    private ReaderWriterLockSlim rwLock;
     34    private DbProviderFactory factory;
    3535    public Database(string connectionString) {
    3636      this.connectionString = connectionString;
    3737      rwLock = new ReaderWriterLockSlim();
     38      factory = DbProviderFactories.GetFactory("System.Data.SQLite");
    3839    }
    3940
     
    4243      rwLock.EnterWriteLock();
    4344      try {
    44         using(DbConnection cnn = new SQLiteConnection(connectionString)) {
     45        using (DbConnection cnn = factory.CreateConnection()) {
     46          cnn.ConnectionString = connectionString;
    4547          cnn.Open();
    4648          using(DbTransaction t = cnn.BeginTransaction()) {
     
    6264      rwLock.EnterWriteLock();
    6365      try {
    64         using(SQLiteConnection cnn = new SQLiteConnection(connectionString)) {
     66        using (DbConnection cnn = factory.CreateConnection()) {
     67          cnn.ConnectionString = connectionString;
    6568          cnn.Open();
    6669          using(DbTransaction t = cnn.BeginTransaction()) {
     
    104107      rwLock.EnterUpgradeableReadLock();
    105108      try {
    106         using(SQLiteConnection cnn = new SQLiteConnection(connectionString)) {
     109        using (DbConnection cnn = factory.CreateConnection()) {
     110          cnn.ConnectionString = connectionString;
    107111          cnn.Open();
    108112          JobEntry job = new JobEntry();
     
    159163      rwLock.EnterWriteLock();
    160164      try {
    161         using(SQLiteConnection cnn = new SQLiteConnection(connectionString)) {
     165        using (DbConnection cnn = factory.CreateConnection()) {
     166          cnn.ConnectionString = connectionString;
    162167          cnn.Open();
    163168          using(DbTransaction t = cnn.BeginTransaction()) {
     
    190195      rwLock.EnterWriteLock();
    191196      try {
    192         using(SQLiteConnection cnn = new SQLiteConnection(connectionString)) {
     197        using (DbConnection cnn = factory.CreateConnection()) {
     198          cnn.ConnectionString = connectionString;
    193199          cnn.Open();
    194200          using(DbTransaction t = cnn.BeginTransaction()) {
     
    225231      rwLock.EnterReadLock();
    226232      try {
    227         using(SQLiteConnection cnn = new SQLiteConnection(connectionString)) {
     233        using (DbConnection cnn = factory.CreateConnection()) {
     234          cnn.ConnectionString = connectionString;
    228235          cnn.Open();
    229236          DbCommand c = cnn.CreateCommand();
     
    255262      rwLock.EnterReadLock();
    256263      try {
    257         using(SQLiteConnection cnn = new SQLiteConnection(connectionString)) {
     264        using (DbConnection cnn = factory.CreateConnection()) {
     265          cnn.ConnectionString = connectionString;
    258266          cnn.Open();
    259267          DbCommand c = cnn.CreateCommand();
     
    279287      rwLock.EnterReadLock();
    280288      try {
    281         using(SQLiteConnection cnn = new SQLiteConnection(connectionString)) {
     289        using (DbConnection cnn = factory.CreateConnection()) {
     290          cnn.ConnectionString = connectionString;
    282291          cnn.Open();
    283292          DbCommand c = cnn.CreateCommand();
Note: See TracChangeset for help on using the changeset viewer.