projects
/
cascardo
/
ipsilon.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add SQL primary key and indexes
[cascardo/ipsilon.git]
/
ipsilon
/
util
/
sessions.py
diff --git
a/ipsilon/util/sessions.py
b/ipsilon/util/sessions.py
index
b870319
..
ef059d1
100644
(file)
--- a/
ipsilon/util/sessions.py
+++ b/
ipsilon/util/sessions.py
@@
-10,12
+10,15
@@
except ImportError:
import pickle
import pickle
-SESSION_COLUMNS = ['id', 'data', 'expiration_time']
+SESSION_TABLE = {'columns': ['id', 'data', 'expiration_time'],
+ 'primary_key': ('id', ),
+ 'indexes': [('expiration_time',)]
+ }
class SessionStore(Store):
def _initialize_schema(self):
class SessionStore(Store):
def _initialize_schema(self):
- q = self._query(self._db, 'sessions', SESSION_
COLUMNS
,
+ q = self._query(self._db, 'sessions', SESSION_
TABLE
,
trans=False)
q.create()
trans=False)
q.create()
@@
-44,12
+47,12
@@
class SqlSession(Session):
cls._db = cls._store._db
def _exists(self):
cls._db = cls._store._db
def _exists(self):
- q = SqlQuery(self._db, 'sessions', SESSION_
COLUMNS
)
+ q = SqlQuery(self._db, 'sessions', SESSION_
TABLE
)
result = q.select({'id': self.id})
return True if result.fetchone() else False
def _load(self):
result = q.select({'id': self.id})
return True if result.fetchone() else False
def _load(self):
- q = SqlQuery(self._db, 'sessions', SESSION_
COLUMNS
)
+ q = SqlQuery(self._db, 'sessions', SESSION_
TABLE
)
result = q.select({'id': self.id})
r = result.fetchone()
if r:
result = q.select({'id': self.id})
r = result.fetchone()
if r:
@@
-59,7
+62,7
@@
class SqlSession(Session):
def _save(self, expiration_time):
q = None
try:
def _save(self, expiration_time):
q = None
try:
- q = SqlQuery(self._db, 'sessions', SESSION_
COLUMNS
, trans=True)
+ q = SqlQuery(self._db, 'sessions', SESSION_
TABLE
, trans=True)
q.delete({'id': self.id})
data = pickle.dumps((self._data, expiration_time), self._proto)
q.insert((self.id, base64.b64encode(data), expiration_time))
q.delete({'id': self.id})
data = pickle.dumps((self._data, expiration_time), self._proto)
q.insert((self.id, base64.b64encode(data), expiration_time))
@@
-70,7
+73,7
@@
class SqlSession(Session):
raise
def _delete(self):
raise
def _delete(self):
- q = SqlQuery(self._db, 'sessions', SESSION_
COLUMNS
)
+ q = SqlQuery(self._db, 'sessions', SESSION_
TABLE
)
q.delete({'id': self.id})
# copy what RamSession does for now
q.delete({'id': self.id})
# copy what RamSession does for now