Source code for db.sql
'''
Creates a database connection to the slave replica on alpha and implements methods for querying the database
'''
import os
import settings
import logging
try:
import MySQLdb,MySQLdb.cursors
except:
logging.error("SQL module MySQLdb could not be imported.")
db = None
'''SQL connection instance
'''
[docs]def connect():
"""
Connect to the MySQL database
"""
global db
if db is None:
# db = MySQLdb.connect(db=settings.sqlwikidb, host=settings.sqlhost, read_default_file=settings.sqlconfigfile)
db = MySQLdb.connect(db=settings.sqluserdb, host=settings.sqlhost, read_default_file=settings.sqlconfigfile)
[docs]def getSSDictCursor():
"""
Returns a server-side dictionary cursor
"""
connect()
return db.cursor(MySQLdb.cursors.SSDictCursor)
[docs]def getSSCursor():
"""
Returns a server-side cursor
"""
connect()
return db.cursor(MySQLdb.cursors.SSCursor)
[docs]def getCursor():
"""
Returns a normal cursor
"""
connect()
return db.cursor()