1 ALTER TABLE accounts
ADD COLUMN firstname
VARCHAR(255) DEFAULT NULL AFTER email
;
2 ALTER TABLE accounts
ADD COLUMN lastname
VARCHAR(255) DEFAULT NULL AFTER firstname
;
5 INNER JOIN account_profiles
AS ap
ON (ap.uid
= a.uid
AND FIND_IN_SET('owner', ap.perms
))
6 INNER JOIN profile_name_enum
AS le
ON (le.
type = 'lastname')
7 INNER JOIN profile_name_enum
AS ce
ON (ce.
type = 'lastname_ordinary')
8 INNER JOIN profile_name
AS l
ON (ap.pid
= l.pid
AND le.
id = l.typeid
)
9 LEFT JOIN profile_name
AS c
ON (ap.pid
= c.pid
AND ce.
id = c.typeid
)
10 SET a.lastname
= IF(c.pid
IS NULL, IF(l.particle
!= '', l.
name, CONCAT(l.particle
, ' ', l.
name)),
11 IF(c.particle
!= '', c.
name, CONCAT(c.particle
, ' ', c.
name)))
12 WHERE a.
type IN ('x', 'master', 'phd');
15 INNER JOIN account_profiles
AS ap
ON (ap.uid
= a.uid
AND FIND_IN_SET('owner', ap.perms
))
16 INNER JOIN profile_name_enum
AS fe
ON (fe.
type = 'firstname')
17 INNER JOIN profile_name_enum
AS ce
ON (ce.
type = 'firstname_ordinary')
18 INNER JOIN profile_name
AS f
ON (ap.pid
= f.pid
AND fe.
id = f.typeid
)
19 LEFT JOIN profile_name
AS c
ON (ap.pid
= c.pid
AND ce.
id = c.typeid
)
20 SET a.firstname
= IF(c.pid
IS NULL, f.
name, c.
name)
21 WHERE a.
type IN ('x', 'master', 'phd');
23 -- vim:set syntax=mysql: