Drop default Null for renew_time in sql

This commit is contained in:
Jana Cupova 2023-04-22 14:30:22 +02:00 committed by Tomas Kopecek
parent 6a033ea948
commit 44742bc5f8
5 changed files with 17 additions and 13 deletions

View file

@ -2,6 +2,6 @@
-- from version 1.32 to 1.33 -- from version 1.32 to 1.33
BEGIN; BEGIN;
ALTER TABLE sessions ADD COLUMN renew_time TIMESTAMPTZ DEFAULT NULL; ALTER TABLE sessions ADD COLUMN renew_time TIMESTAMPTZ;
COMMIT; COMMIT;

View file

@ -120,7 +120,7 @@ CREATE TABLE sessions (
update_time TIMESTAMPTZ NOT NULL DEFAULT NOW(), update_time TIMESTAMPTZ NOT NULL DEFAULT NOW(),
exclusive BOOLEAN CHECK (exclusive), exclusive BOOLEAN CHECK (exclusive),
closed BOOLEAN NOT NULL DEFAULT FALSE, closed BOOLEAN NOT NULL DEFAULT FALSE,
renew_time TIMESTAMPTZ DEFAULT NULL, renew_time TIMESTAMPTZ,
CONSTRAINT no_exclusive_subsessions CHECK ( CONSTRAINT no_exclusive_subsessions CHECK (
master IS NULL OR "exclusive" IS NULL), master IS NULL OR "exclusive" IS NULL),
CONSTRAINT no_closed_exclusive CHECK ( CONSTRAINT no_closed_exclusive CHECK (

View file

@ -118,7 +118,7 @@ class Session(object):
('expired', 'expired'), ('master', 'master'), ('start_time', 'start_time'), ('expired', 'expired'), ('master', 'master'), ('start_time', 'start_time'),
('update_time', 'update_time'), ("date_part('epoch', start_time)", 'start_ts'), ('update_time', 'update_time'), ("date_part('epoch', start_time)", 'start_ts'),
("date_part('epoch', update_time)", 'update_ts'), ('user_id', 'user_id'), ("date_part('epoch', update_time)", 'update_ts'), ('user_id', 'user_id'),
("date_part('epoch', renew_time)", 'renew_ts')) ('renew_time', 'renew_time'), ("date_part('epoch', renew_time)", 'renew_ts'))
columns, aliases = zip(*fields) columns, aliases = zip(*fields)
query = QueryProcessor(tables=['sessions'], columns=columns, aliases=aliases, query = QueryProcessor(tables=['sessions'], columns=columns, aliases=aliases,

View file

@ -41,8 +41,8 @@ class TestGetSessionInfo(DBQueryTestCase):
self.assertEqual(query.clauses, ['expired is FALSE', 'user_id = %(user_id)i']) self.assertEqual(query.clauses, ['expired is FALSE', 'user_id = %(user_id)i'])
self.assertEqual(query.joins, None) self.assertEqual(query.joins, None)
self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
"date_part('epoch', start_time)", 'update_time', "date_part('epoch', start_time)",
'user_id']) 'update_time', 'user_id'])
self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
'start_time', 'update_time', 'user_id']) 'start_time', 'update_time', 'user_id'])
@ -71,8 +71,8 @@ class TestGetSessionInfo(DBQueryTestCase):
self.assertEqual(query.clauses, ['expired is FALSE', 'user_id = %(user_id)i']) self.assertEqual(query.clauses, ['expired is FALSE', 'user_id = %(user_id)i'])
self.assertEqual(query.joins, None) self.assertEqual(query.joins, None)
self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
"date_part('epoch', start_time)", 'update_time', "date_part('epoch', start_time)",
'user_id']) 'update_time', 'user_id'])
self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
'start_time', 'update_time', 'user_id']) 'start_time', 'update_time', 'user_id'])

View file

@ -136,6 +136,7 @@ class TestAuthSession(unittest.TestCase):
tzinfo=datetime.timezone.utc), tzinfo=datetime.timezone.utc),
'update_time': datetime.datetime(2022, 10, 24, 8, 17, 6, 254308, 'update_time': datetime.datetime(2022, 10, 24, 8, 17, 6, 254308,
tzinfo=datetime.timezone.utc), tzinfo=datetime.timezone.utc),
'renew_ts': None,
'user_id': 1}, 'user_id': 1},
{'name': 'kojiadmin', 'status': 0, 'usertype': 0}] {'name': 'kojiadmin', 'status': 0, 'usertype': 0}]
with self.assertRaises(koji.GenericError) as cm: with self.assertRaises(koji.GenericError) as cm:
@ -160,12 +161,13 @@ class TestAuthSession(unittest.TestCase):
self.assertEqual(query.clauses, ['closed IS FALSE', 'hostip = %(hostip)s', 'id = %(id)i', self.assertEqual(query.clauses, ['closed IS FALSE', 'hostip = %(hostip)s', 'id = %(id)i',
'key = %(key)s']) 'key = %(key)s'])
self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
'renew_time', "date_part('epoch', renew_time)",
'start_time', "date_part('epoch', start_time)", 'start_time', "date_part('epoch', start_time)",
'update_time', "date_part('epoch', update_time)", 'update_time', "date_part('epoch', update_time)",
'user_id']) 'user_id'])
self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
'start_time', 'start_ts', 'update_time', 'update_ts', 'renew_time', 'renew_ts', 'start_time', 'start_ts',
'user_id']) 'update_time', 'update_ts', 'user_id'])
self.assertEqual(query.values, {'id': 123, 'key': 'xyz', 'hostip': 'remote-addr'}) self.assertEqual(query.values, {'id': 123, 'key': 'xyz', 'hostip': 'remote-addr'})
def test_basic_instance(self): def test_basic_instance(self):
@ -196,12 +198,13 @@ class TestAuthSession(unittest.TestCase):
self.assertEqual(query.clauses, ['closed IS FALSE', 'hostip = %(hostip)s', 'id = %(id)i', self.assertEqual(query.clauses, ['closed IS FALSE', 'hostip = %(hostip)s', 'id = %(id)i',
'key = %(key)s']) 'key = %(key)s'])
self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
'renew_time', "date_part('epoch', renew_time)",
'start_time', "date_part('epoch', start_time)", 'start_time', "date_part('epoch', start_time)",
'update_time', "date_part('epoch', update_time)", 'update_time', "date_part('epoch', update_time)",
'user_id']) 'user_id'])
self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
'start_time', 'start_ts', 'update_time', 'update_ts', 'renew_time', 'renew_ts', 'start_time', 'start_ts',
'user_id']) 'update_time', 'update_ts', 'user_id'])
self.assertEqual(query.values, {'id': 123, 'key': 'xyz', 'hostip': 'remote-addr'}) self.assertEqual(query.values, {'id': 123, 'key': 'xyz', 'hostip': 'remote-addr'})
query = self.queries[1] query = self.queries[1]
@ -247,12 +250,13 @@ class TestAuthSession(unittest.TestCase):
self.assertEqual(query.clauses, ['closed IS FALSE', 'hostip = %(hostip)s', 'id = %(id)i', self.assertEqual(query.clauses, ['closed IS FALSE', 'hostip = %(hostip)s', 'id = %(id)i',
'key = %(key)s']) 'key = %(key)s'])
self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.columns, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
'renew_time', "date_part('epoch', renew_time)",
'start_time', "date_part('epoch', start_time)", 'start_time', "date_part('epoch', start_time)",
'update_time', "date_part('epoch', update_time)", 'update_time', "date_part('epoch', update_time)",
'user_id']) 'user_id'])
self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master', self.assertEqual(query.aliases, ['authtype', 'callnum', 'exclusive', 'expired', 'master',
'start_time', 'start_ts', 'update_time', 'update_ts', 'renew_time', 'renew_ts', 'start_time', 'start_ts',
'user_id']) 'update_time', 'update_ts', 'user_id'])
self.assertEqual(query.values, {'id': 123, 'key': 'xyz', 'hostip': 'remote-addr'}) self.assertEqual(query.values, {'id': 123, 'key': 'xyz', 'hostip': 'remote-addr'})
query = self.queries[1] query = self.queries[1]