~m.ch/mysql-server/mysql-6.0-sigar-plugin

« back to all changes in this revision

Viewing changes to storage/falcon/Connection.cpp

  • Committer: Davi Arnaut
  • Date: 2008-08-12 04:38:50 UTC
  • mfrom: (2764 mysql-6.0-to-merge)
  • mto: This revision was merged to the branch mainline in revision 2765.
  • Revision ID: davi.arnaut@sun.com-20080812043850-9tr1ojwrnv15r0gd
Merge mysql-6.0 into mysql-6.0-bugteam

Show diffs side-by-side

added added

removed removed

Lines of Context:
89
89
static bool                     panicShutdown;
90
90
 
91
91
static Registry         registry;
92
 
static SyncObject       databaseList;
 
92
static SyncObject       syncDatabaseList;
93
93
 
94
94
static const char *ddl [] = {
95
95
        "grant all on system.sequences to %s",
169
169
        isolationLevel = TRANSACTION_CONSISTENT_READ;
170
170
        mySqlThreadId = 0;
171
171
        currentStatement = NULL;
 
172
        syncObject.setName("Connection::syncObject");
 
173
        syncResultSets.setName("Connection::syncResultSets");
 
174
        syncDatabaseList.setName("Connection::syncDatabaseList");
172
175
}
173
176
 
174
177
Connection::~Connection()
923
926
        if (filename)
924
927
                IO::expandFileName(filename, sizeof(dbFileName), dbFileName);
925
928
        else
926
 
                { 
 
929
                {
927
930
                if (!registry.findDatabase (dbName, sizeof (dbFileName), dbFileName))
928
931
                        throw SQLEXCEPTION (CONNECTION_ERROR, "can't find database \"%s\"", dbName);
929
932
                }
968
971
        const char *password = parameters->findValue ("password", "");
969
972
        char dbFileName [1024];
970
973
        const char *dbFile = registry.findDatabase (dbName, sizeof (dbFileName), dbFileName);
971
 
        Sync sync (&databaseList, "Connection::createDatabase");
 
974
        Sync sync (&syncDatabaseList, "Connection::createDatabase(1)");
972
975
        sync.lock (Exclusive);
973
976
        
974
977
        if (dbFile)
1027
1030
        if (database)
1028
1031
                throw SQLEXCEPTION (CONNECTION_ERROR, "database is already open");
1029
1032
 
1030
 
        Sync sync (&databaseList, "Connection::createDatabase");
 
1033
        if (!firstDatabase)
 
1034
                syncDatabaseList.setName("Connection::syncDatabaseList");
 
1035
 
 
1036
        Sync sync (&syncDatabaseList, "Connection::createDatabase(2)");
1031
1037
        sync.lock (Exclusive);
1032
1038
 
1033
1039
#ifndef STORAGE_ENGINE
1042
1048
                                }
1043
1049
 
1044
1050
#ifdef STORAGE_ENGINE
1045
 
        strcpy(dbFileName, fileName);
 
1051
        strcpy(dbFileName, fileName);
1046
1052
#else
1047
1053
        registry.defineDatabase (dbName, fileName);
1048
1054
        
1617
1623
 
1618
1624
Database* Connection::getDatabase(const char* dbName, const char* dbFileName, Threads* threads)
1619
1625
{
1620
 
        Sync sync (&databaseList, "Connection::getDatabase");
 
1626
        Sync sync (&syncDatabaseList, "Connection::getDatabase");
1621
1627
        sync.lock (Shared);
1622
1628
        Database *db;
1623
1629
 
1665
1671
        if (!database)
1666
1672
                throw SQLEXCEPTION (CONNECTION_ERROR, "database isn't open");
1667
1673
                
1668
 
        Sync sync (&databaseList, "Connection::dropDatabase");
 
1674
        Sync sync (&syncDatabaseList, "Connection::dropDatabase");
1669
1675
        sync.lock (Exclusive);
1670
1676
        unlink(database);
1671
1677
        detachDatabase();