public function getDatabaseName()
    {
        if ($this->isSlave() && ! $this->database_name) {
            return $this->_master->getDatabaseName();
        }

        // sqlite data file
        if ($this->driver instanceof SqliteDriver) {
            if ($this->isUseMemory()) {
                return ':memory:';
            }
            if ($this->database_dir && $this->database_name[0] !== '/') {
                return $this->database_dir . '/' . $this->database_name;
            }
        }
        
        return $this->database_name;
    }