palio.connectors
Class SQLPalioConnector

java.lang.Object
  extended by palio.connectors.Connector
      extended by palio.connectors.PooledConnector
          extended by palio.connectors.SQLConnector
              extended by palio.connectors.SQLPalioConnector
All Implemented Interfaces:
BasicPalioConnectable, DedicatedConnectionSupport, PalioConnectable, SQLConnectable, SQLConnectableExt, Constants
Direct Known Subclasses:
DB2SQLConnector, MSSQLConnector, MySQLConnector, PostgreSQLConnector, SybaseConnector

public abstract class SQLPalioConnector
extends SQLConnector
implements PalioConnectable, Constants

Author:
Krzysztof Synowiec, Leszek Leszczyński, Krzysztof Madyniak, Mateusz Gembarzewski

Nested Class Summary
 
Nested classes/interfaces inherited from interface palio.connectors.SQLConnectable
SQLConnectable.QueryReader
 
Field Summary
 
Fields inherited from interface palio.connectors.SQLConnectable
DB2, GENERIC, HIBERNATE, HSQL, MSSQL, MYSQL, ORACLE, PALIO, POSTGRESQL, SYBASE
 
Fields inherited from interface palio.Constants
DECIMAL_ZERO, INTEGER_ONE, LONG_MINUS_ONE, LONG_ONE, LONG_THREE, LONG_TWO, LONG_ZERO, STRING_EMPTY
 
Method Summary
 void activateSession(PSession s, java.lang.Long pageID, java.lang.String params)
           
 void addAccessPrivToPage(java.lang.Long privID, java.lang.Long pageID)
           
 void addObjectToFeature(java.lang.Long objectId, java.lang.Long featureId)
           
 void addPrivToRole(java.lang.Long roleID, java.lang.Long privID)
           
 void addRoleToUser(java.lang.Long userID, java.lang.Long roleID, java.lang.Long regionID, java.util.Date expireDate)
           
 void addSessionParam(PSession s, java.lang.String name, java.lang.Object value)
           
 void addUser(java.lang.Long ID, java.lang.String name, byte[] password, java.util.Date expireDate, java.lang.Long expireSessions, java.lang.Long sessionTimeout)
           
 void closeSession(PSession s)
           
 void createFeature(java.lang.Long ID, java.lang.String code, java.lang.String displayName, java.lang.String description)
           
 void createFeature(java.lang.Long ID, java.lang.String code, java.lang.String displayName, java.lang.String description, java.lang.Long parentID)
           
 void createOrUpdateDatabaseForModule(boolean pretend, java.lang.String moduleName, java.lang.String targetVersion, AutomaticScriptFactory scriptFactory)
          This method is intended to be called by installers of external modules like CMS, Newsletter, etc.
 void createPriv(java.lang.Long ID, java.lang.Long typeID, java.lang.String name, java.lang.String code, java.lang.String description)
           
 void createRegion(java.lang.Long ID, java.lang.String name, java.lang.String displayName, java.lang.Long parent)
           
 void createRole(java.lang.Long ID, java.lang.String name, java.lang.String displayName, java.lang.String description)
           
 void createRole(java.lang.Long ID, java.lang.String name, java.lang.String displayName, java.lang.String description, java.lang.Long parentID)
           
 void delAccessPrivFromPage(java.lang.Long privID, java.lang.Long pageID)
           
 void deleteFeature(java.lang.Long ID)
           
 void deleteObjectFromFeature(java.lang.Long objectId, java.lang.Long featureId)
           
 void deletePriv(java.lang.Long ID)
           
 void deleteRegion(java.lang.Long ID)
           
 void deleteRole(java.lang.Long ID)
           
 java.util.Collection<PFeature> getAllFeatures()
          Returns set of PFeature.
 java.util.Collection getAllMedia()
          Returns set of PMedia.
 java.util.Collection getAllObjects()
          Returns set of PObject.
 java.util.Collection getAllPages()
          Returns set of PPage.
 java.util.Collection getAllPrivs()
          Returns set of PPriv.
 java.util.Collection getAllRoles()
          Returns set of PRole.
 PFeature getFeature(java.lang.Long ID)
           
 PFeature getFeature(java.lang.String code)
           
 java.util.LinkedList getFeaturesList()
           
 java.lang.Long getFreeFeatureID()
           
 java.lang.Long getFreePrivID()
           
 java.lang.Long getFreeRegionID()
           
 java.lang.Long getFreeRoleID()
           
 java.lang.Long getFreeSessionID()
           
 java.lang.Long getFreeUserID()
           
 AbstractSQLGenerator getGenerator()
           
 PMedia getMedia(java.lang.Long ID)
           
 PMimeType getMimeType(java.lang.Long ID)
           
 PObject getObject(java.lang.Long ID)
           
 PPage getPage(java.lang.Long ID)
           
 PPriv getPriv(java.lang.Long ID)
           
 PPriv getPriv(java.lang.String name)
           
 java.util.LinkedList getPrivsList()
           
 PRegion getRegion(java.lang.Long ID)
           
 PRegion getRegion(java.lang.String name)
           
 PRole getRole(java.lang.Long ID)
           
 PRole getRole(java.lang.String name)
           
 java.util.LinkedList getRolePrivs(java.lang.Long roleID)
           
 java.util.LinkedList getRolesList()
           
 java.util.LinkedList getRolesRegionsForUser(java.lang.Long userID)
           
 PSession getSession(java.lang.Long ID)
           
 PTreeType getTreeType(java.lang.Long ID)
           
 PUser getUser(java.lang.Long ID)
           
 PUser getUser(java.lang.String name)
           
 java.util.Collection<PUser> getUsers()
           
 java.util.Properties loadConfig()
           
 int loadSessions()
           
 void lockUser(java.lang.Long userID)
           
 void putMedia(PMedia media)
           
 void putObject(PObject object)
           
 void putSession(PSession s)
           
 void removeRoleFromUser(java.lang.Long userID, java.lang.Long roleID)
           
 void removeRoleFromUser(java.lang.Long userID, java.lang.Long roleID, java.lang.Long regionID)
           
 void removeUser(java.lang.Long userID)
           
 void remPrivFromRole(java.lang.Long roleID, java.lang.Long privID)
           
 void setConfig(java.lang.String name, java.lang.String value)
           
 void setSessionRegion(PSession s)
           
 void setUserSession(PSession s)
           
 void unlockUser(java.lang.Long userID)
           
 void updateDatabase(java.util.Properties configProperties)
           
 void updateFeature(java.lang.Long ID, java.lang.String code, java.lang.String displayName, java.lang.String description, java.lang.Long parentID)
           
 void updateRole(java.lang.Long ID, java.lang.String name, java.lang.String displayName, java.lang.String description, java.lang.Long parentID)
           
 void updateSessionParam(PSession s, java.lang.String name, java.lang.Object value)
           
 void updateUser(java.lang.Long ID, java.lang.String field, java.lang.Object value)
           
 void visitingPage(java.lang.Long pageID, java.lang.Long visitedCount, java.util.Date lastVisited)
           
 
Methods inherited from class palio.connectors.SQLConnector
commit, debugInit, debugSave, dedicatedCommit, dedicatedRollback, dedicatedStart, dedicatedStop, executeFunction, executePL_SQL, executeProcedure, fastRead, getConnectorTypes, getInfo, getMetaData, getOutTypeParamForClass, getResultSet, getResultSetMetaData, info, init, isNoTransaction, isTransaction, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, readAsMaps, readAsMaps, readAsMaps, readAsMaps, readAsMaps, readAsMaps, readAsMaps, readLine, readLine, readLine, readLineAsMap, readLineAsMap, readLineAsMap, rollback, transactionStart, transactionStop, write, write, write, writeLob, writeLob
 
Methods inherited from class palio.connectors.PooledConnector
BusyChecker, clearThreadResources, close, DedicateChecker, FreeChecker, refresh
 
Methods inherited from class palio.connectors.Connector
getConnector, getInstance, getName, getUrl, init, setDedicatedLogConfiguration, setInstance
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface palio.connectors.SQLConnectable
commit, executeFunction, executePL_SQL, executeProcedure, fastRead, getMetaData, getName, getResultSet, getResultSetMetaData, getSequence, getType, getUrl, isNoTransaction, isTransaction, needWriteLob, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, readAsMaps, readAsMaps, readAsMaps, readAsMaps, readAsMaps, readAsMaps, readAsMaps, readLine, readLine, readLine, readLineAsMap, readLineAsMap, readLineAsMap, rollback, transactionStart, transactionStop, write, write, write, writeLob, writeLob
 
Methods inherited from interface palio.connectors.BasicPalioConnectable
getName
 

Method Detail

getGenerator

public AbstractSQLGenerator getGenerator()

getTreeType

public PTreeType getTreeType(java.lang.Long ID)
                      throws palio.PalioException
Specified by:
getTreeType in interface BasicPalioConnectable
Throws:
palio.PalioException

getAllPages

public java.util.Collection getAllPages()
                                 throws palio.PalioException
Description copied from interface: BasicPalioConnectable
Returns set of PPage.

Specified by:
getAllPages in interface BasicPalioConnectable
Throws:
palio.PalioException

getPage

public PPage getPage(java.lang.Long ID)
              throws palio.PalioException
Specified by:
getPage in interface BasicPalioConnectable
Throws:
palio.PalioException

getAllObjects

public java.util.Collection getAllObjects()
                                   throws palio.PalioException
Description copied from interface: BasicPalioConnectable
Returns set of PObject.

Specified by:
getAllObjects in interface BasicPalioConnectable
Throws:
palio.PalioException

getObject

public PObject getObject(java.lang.Long ID)
                  throws palio.PalioException
Specified by:
getObject in interface BasicPalioConnectable
Throws:
palio.PalioException

getAllMedia

public java.util.Collection getAllMedia()
                                 throws palio.PalioException
Description copied from interface: BasicPalioConnectable
Returns set of PMedia.

Specified by:
getAllMedia in interface BasicPalioConnectable
Throws:
palio.PalioException

getMedia

public PMedia getMedia(java.lang.Long ID)
                throws palio.PalioException
Specified by:
getMedia in interface BasicPalioConnectable
Throws:
palio.PalioException

getMimeType

public PMimeType getMimeType(java.lang.Long ID)
                      throws palio.PalioException
Specified by:
getMimeType in interface BasicPalioConnectable
Throws:
palio.PalioException

getAllPrivs

public java.util.Collection getAllPrivs()
                                 throws palio.PalioException
Description copied from interface: BasicPalioConnectable
Returns set of PPriv.

Specified by:
getAllPrivs in interface BasicPalioConnectable
Throws:
palio.PalioException

getPriv

public PPriv getPriv(java.lang.Long ID)
              throws palio.PalioException
Specified by:
getPriv in interface BasicPalioConnectable
Throws:
palio.PalioException

getPriv

public PPriv getPriv(java.lang.String name)
              throws palio.PalioException
Specified by:
getPriv in interface BasicPalioConnectable
Throws:
palio.PalioException

getAllRoles

public java.util.Collection getAllRoles()
                                 throws palio.PalioException
Description copied from interface: BasicPalioConnectable
Returns set of PRole.

Specified by:
getAllRoles in interface BasicPalioConnectable
Throws:
palio.PalioException

getRole

public PRole getRole(java.lang.Long ID)
              throws palio.PalioException
Specified by:
getRole in interface BasicPalioConnectable
Throws:
palio.PalioException

getRole

public PRole getRole(java.lang.String name)
              throws palio.PalioException
Specified by:
getRole in interface BasicPalioConnectable
Throws:
palio.PalioException

getAllFeatures

public java.util.Collection<PFeature> getAllFeatures()
                                              throws palio.PalioException
Description copied from interface: BasicPalioConnectable
Returns set of PFeature.

Specified by:
getAllFeatures in interface BasicPalioConnectable
Throws:
palio.PalioException

getFeature

public PFeature getFeature(java.lang.Long ID)
                    throws palio.PalioException
Specified by:
getFeature in interface BasicPalioConnectable
Throws:
palio.PalioException

getFeature

public PFeature getFeature(java.lang.String code)
                    throws palio.PalioException
Specified by:
getFeature in interface BasicPalioConnectable
Throws:
palio.PalioException

addObjectToFeature

public void addObjectToFeature(java.lang.Long objectId,
                               java.lang.Long featureId)
                        throws palio.PalioException
Specified by:
addObjectToFeature in interface BasicPalioConnectable
Throws:
palio.PalioException

deleteObjectFromFeature

public void deleteObjectFromFeature(java.lang.Long objectId,
                                    java.lang.Long featureId)
                             throws palio.PalioException
Specified by:
deleteObjectFromFeature in interface BasicPalioConnectable
Throws:
palio.PalioException

getRegion

public PRegion getRegion(java.lang.Long ID)
                  throws palio.PalioException
Specified by:
getRegion in interface BasicPalioConnectable
Throws:
palio.PalioException

getRegion

public PRegion getRegion(java.lang.String name)
                  throws palio.PalioException
Specified by:
getRegion in interface BasicPalioConnectable
Throws:
palio.PalioException

getUser

public PUser getUser(java.lang.Long ID)
              throws palio.PalioException
Specified by:
getUser in interface BasicPalioConnectable
Throws:
palio.PalioException

getUser

public PUser getUser(java.lang.String name)
              throws palio.PalioException
Specified by:
getUser in interface BasicPalioConnectable
Throws:
palio.PalioException

getUsers

public java.util.Collection<PUser> getUsers()
                                     throws palio.PalioException
Specified by:
getUsers in interface BasicPalioConnectable
Throws:
palio.PalioException

getRolesRegionsForUser

public java.util.LinkedList getRolesRegionsForUser(java.lang.Long userID)
                                            throws palio.PalioException
Specified by:
getRolesRegionsForUser in interface BasicPalioConnectable
Throws:
palio.PalioException

addUser

public void addUser(java.lang.Long ID,
                    java.lang.String name,
                    byte[] password,
                    java.util.Date expireDate,
                    java.lang.Long expireSessions,
                    java.lang.Long sessionTimeout)
             throws palio.PalioException
Specified by:
addUser in interface BasicPalioConnectable
Throws:
palio.PalioException

updateUser

public void updateUser(java.lang.Long ID,
                       java.lang.String field,
                       java.lang.Object value)
                throws palio.PalioException
Specified by:
updateUser in interface BasicPalioConnectable
Throws:
palio.PalioException

addRoleToUser

public void addRoleToUser(java.lang.Long userID,
                          java.lang.Long roleID,
                          java.lang.Long regionID,
                          java.util.Date expireDate)
                   throws palio.PalioException
Specified by:
addRoleToUser in interface BasicPalioConnectable
Throws:
palio.PalioException

removeRoleFromUser

public void removeRoleFromUser(java.lang.Long userID,
                               java.lang.Long roleID,
                               java.lang.Long regionID)
                        throws palio.PalioException
Specified by:
removeRoleFromUser in interface BasicPalioConnectable
Throws:
palio.PalioException

removeRoleFromUser

public void removeRoleFromUser(java.lang.Long userID,
                               java.lang.Long roleID)
                        throws palio.PalioException
Throws:
palio.PalioException

removeUser

public void removeUser(java.lang.Long userID)
                throws palio.PalioException
Specified by:
removeUser in interface BasicPalioConnectable
Throws:
palio.PalioException

lockUser

public void lockUser(java.lang.Long userID)
              throws palio.PalioException
Specified by:
lockUser in interface BasicPalioConnectable
Throws:
palio.PalioException

unlockUser

public void unlockUser(java.lang.Long userID)
                throws palio.PalioException
Specified by:
unlockUser in interface BasicPalioConnectable
Throws:
palio.PalioException

getSession

public PSession getSession(java.lang.Long ID)
                    throws palio.PalioException
Specified by:
getSession in interface BasicPalioConnectable
Throws:
palio.PalioException

putSession

public void putSession(PSession s)
                throws palio.PalioException
Specified by:
putSession in interface BasicPalioConnectable
Throws:
palio.PalioException

loadSessions

public int loadSessions()
                 throws palio.PalioException
Specified by:
loadSessions in interface BasicPalioConnectable
Throws:
palio.PalioException

activateSession

public void activateSession(PSession s,
                            java.lang.Long pageID,
                            java.lang.String params)
                     throws palio.PalioException
Specified by:
activateSession in interface BasicPalioConnectable
Throws:
palio.PalioException

setUserSession

public void setUserSession(PSession s)
                    throws palio.PalioException
Specified by:
setUserSession in interface BasicPalioConnectable
Throws:
palio.PalioException

setSessionRegion

public void setSessionRegion(PSession s)
                      throws palio.PalioException
Specified by:
setSessionRegion in interface BasicPalioConnectable
Throws:
palio.PalioException

closeSession

public void closeSession(PSession s)
                  throws palio.PalioException
Specified by:
closeSession in interface BasicPalioConnectable
Throws:
palio.PalioException

addSessionParam

public void addSessionParam(PSession s,
                            java.lang.String name,
                            java.lang.Object value)
                     throws palio.PalioException
Specified by:
addSessionParam in interface BasicPalioConnectable
Throws:
palio.PalioException

updateSessionParam

public void updateSessionParam(PSession s,
                               java.lang.String name,
                               java.lang.Object value)
                        throws palio.PalioException
Specified by:
updateSessionParam in interface BasicPalioConnectable
Throws:
palio.PalioException

getFreeSessionID

public java.lang.Long getFreeSessionID()
                                throws palio.PalioException
Specified by:
getFreeSessionID in interface BasicPalioConnectable
Throws:
palio.PalioException

getFreeUserID

public java.lang.Long getFreeUserID()
                             throws palio.PalioException
Specified by:
getFreeUserID in interface BasicPalioConnectable
Throws:
palio.PalioException

visitingPage

public void visitingPage(java.lang.Long pageID,
                         java.lang.Long visitedCount,
                         java.util.Date lastVisited)
                  throws palio.PalioException
Specified by:
visitingPage in interface BasicPalioConnectable
Throws:
palio.PalioException

getRolesList

public java.util.LinkedList getRolesList()
                                  throws palio.PalioException
Specified by:
getRolesList in interface BasicPalioConnectable
Throws:
palio.PalioException

getFreeRoleID

public java.lang.Long getFreeRoleID()
                             throws palio.PalioException
Specified by:
getFreeRoleID in interface BasicPalioConnectable
Throws:
palio.PalioException

createRole

public void createRole(java.lang.Long ID,
                       java.lang.String name,
                       java.lang.String displayName,
                       java.lang.String description)
                throws palio.PalioException
Specified by:
createRole in interface BasicPalioConnectable
Throws:
palio.PalioException

createRole

public void createRole(java.lang.Long ID,
                       java.lang.String name,
                       java.lang.String displayName,
                       java.lang.String description,
                       java.lang.Long parentID)
                throws palio.PalioException
Specified by:
createRole in interface BasicPalioConnectable
Throws:
palio.PalioException

updateRole

public void updateRole(java.lang.Long ID,
                       java.lang.String name,
                       java.lang.String displayName,
                       java.lang.String description,
                       java.lang.Long parentID)
                throws palio.PalioException
Specified by:
updateRole in interface BasicPalioConnectable
Throws:
palio.PalioException

deleteRole

public void deleteRole(java.lang.Long ID)
                throws palio.PalioException
Specified by:
deleteRole in interface BasicPalioConnectable
Throws:
palio.PalioException

getFeaturesList

public java.util.LinkedList getFeaturesList()
                                     throws palio.PalioException
Specified by:
getFeaturesList in interface BasicPalioConnectable
Throws:
palio.PalioException

getFreeFeatureID

public java.lang.Long getFreeFeatureID()
                                throws palio.PalioException
Specified by:
getFreeFeatureID in interface BasicPalioConnectable
Throws:
palio.PalioException

createFeature

public void createFeature(java.lang.Long ID,
                          java.lang.String code,
                          java.lang.String displayName,
                          java.lang.String description)
                   throws palio.PalioException
Specified by:
createFeature in interface BasicPalioConnectable
Throws:
palio.PalioException

createFeature

public void createFeature(java.lang.Long ID,
                          java.lang.String code,
                          java.lang.String displayName,
                          java.lang.String description,
                          java.lang.Long parentID)
                   throws palio.PalioException
Specified by:
createFeature in interface BasicPalioConnectable
Throws:
palio.PalioException

updateFeature

public void updateFeature(java.lang.Long ID,
                          java.lang.String code,
                          java.lang.String displayName,
                          java.lang.String description,
                          java.lang.Long parentID)
                   throws palio.PalioException
Specified by:
updateFeature in interface BasicPalioConnectable
Throws:
palio.PalioException

deleteFeature

public void deleteFeature(java.lang.Long ID)
                   throws palio.PalioException
Specified by:
deleteFeature in interface BasicPalioConnectable
Throws:
palio.PalioException

getPrivsList

public java.util.LinkedList getPrivsList()
                                  throws palio.PalioException
Specified by:
getPrivsList in interface BasicPalioConnectable
Throws:
palio.PalioException

getRolePrivs

public java.util.LinkedList getRolePrivs(java.lang.Long roleID)
                                  throws palio.PalioException
Specified by:
getRolePrivs in interface BasicPalioConnectable
Throws:
palio.PalioException

getFreePrivID

public java.lang.Long getFreePrivID()
                             throws palio.PalioException
Specified by:
getFreePrivID in interface BasicPalioConnectable
Throws:
palio.PalioException

createPriv

public void createPriv(java.lang.Long ID,
                       java.lang.Long typeID,
                       java.lang.String name,
                       java.lang.String code,
                       java.lang.String description)
                throws palio.PalioException
Specified by:
createPriv in interface BasicPalioConnectable
Throws:
palio.PalioException

deletePriv

public void deletePriv(java.lang.Long ID)
                throws palio.PalioException
Specified by:
deletePriv in interface BasicPalioConnectable
Throws:
palio.PalioException

addPrivToRole

public void addPrivToRole(java.lang.Long roleID,
                          java.lang.Long privID)
                   throws palio.PalioException
Specified by:
addPrivToRole in interface BasicPalioConnectable
Throws:
palio.PalioException

remPrivFromRole

public void remPrivFromRole(java.lang.Long roleID,
                            java.lang.Long privID)
                     throws palio.PalioException
Specified by:
remPrivFromRole in interface BasicPalioConnectable
Throws:
palio.PalioException

createRegion

public void createRegion(java.lang.Long ID,
                         java.lang.String name,
                         java.lang.String displayName,
                         java.lang.Long parent)
                  throws palio.PalioException
Specified by:
createRegion in interface BasicPalioConnectable
Throws:
palio.PalioException

deleteRegion

public void deleteRegion(java.lang.Long ID)
                  throws palio.PalioException
Specified by:
deleteRegion in interface BasicPalioConnectable
Throws:
palio.PalioException

getFreeRegionID

public java.lang.Long getFreeRegionID()
                               throws palio.PalioException
Specified by:
getFreeRegionID in interface BasicPalioConnectable
Throws:
palio.PalioException

addAccessPrivToPage

public void addAccessPrivToPage(java.lang.Long privID,
                                java.lang.Long pageID)
                         throws palio.PalioException
Specified by:
addAccessPrivToPage in interface BasicPalioConnectable
Throws:
palio.PalioException

delAccessPrivFromPage

public void delAccessPrivFromPage(java.lang.Long privID,
                                  java.lang.Long pageID)
                           throws palio.PalioException
Specified by:
delAccessPrivFromPage in interface BasicPalioConnectable
Throws:
palio.PalioException

putMedia

public void putMedia(PMedia media)
              throws palio.PalioException
Specified by:
putMedia in interface BasicPalioConnectable
Throws:
palio.PalioException

putObject

public void putObject(PObject object)
               throws palio.PalioException
Specified by:
putObject in interface BasicPalioConnectable
Throws:
palio.PalioException

loadConfig

public java.util.Properties loadConfig()
                                throws palio.PalioException
Specified by:
loadConfig in interface BasicPalioConnectable
Throws:
palio.PalioException

setConfig

public void setConfig(java.lang.String name,
                      java.lang.String value)
               throws palio.PalioException
Specified by:
setConfig in interface BasicPalioConnectable
Throws:
palio.PalioException

updateDatabase

public void updateDatabase(java.util.Properties configProperties)
Specified by:
updateDatabase in interface PalioConnectable

createOrUpdateDatabaseForModule

public void createOrUpdateDatabaseForModule(boolean pretend,
                                            java.lang.String moduleName,
                                            java.lang.String targetVersion,
                                            AutomaticScriptFactory scriptFactory)
This method is intended to be called by installers of external modules like CMS, Newsletter, etc.

Throws:
palio.PalioException - if database create/update for module failed