DatabaseCreation: update_names_and_titles.sql

File update_names_and_titles.sql, 25.8 KB (added by 231136, 2 weeks ago)
Line 
1BEGIN;
2
3-- temporary lookup tables
4CREATE TEMP TABLE tmp_first_names (id SERIAL PRIMARY KEY, name TEXT);
5CREATE TEMP TABLE tmp_last_names (id SERIAL PRIMARY KEY, name TEXT);
6CREATE TEMP TABLE tmp_adjectives (id SERIAL PRIMARY KEY, word TEXT);
7CREATE TEMP TABLE tmp_nouns (id SERIAL PRIMARY KEY, word TEXT);
8
9
10-- first names (~480 entries: 240 female + 240 male)
11INSERT INTO tmp_first_names (name) VALUES
12 -- female
13 ('Emma'),('Olivia'),('Ava'),('Isabella'),('Sophia'),('Charlotte'),('Mia'),('Amelia'),('Harper'),('Evelyn'),
14 ('Abigail'),('Emily'),('Elizabeth'),('Mila'),('Ella'),('Avery'),('Sofia'),('Camila'),('Aria'),('Scarlett'),
15 ('Victoria'),('Madison'),('Luna'),('Grace'),('Chloe'),('Penelope'),('Layla'),('Riley'),('Zoey'),('Nora'),
16 ('Lily'),('Eleanor'),('Hannah'),('Lillian'),('Addison'),('Aubrey'),('Ellie'),('Stella'),('Natalie'),('Zoe'),
17 ('Leah'),('Hazel'),('Violet'),('Aurora'),('Savannah'),('Audrey'),('Brooklyn'),('Bella'),('Claire'),('Skylar'),
18 ('Lucy'),('Paisley'),('Everly'),('Anna'),('Caroline'),('Nova'),('Genesis'),('Emilia'),('Kennedy'),('Samantha'),
19 ('Maya'),('Willow'),('Kinsley'),('Naomi'),('Aaliyah'),('Elena'),('Sarah'),('Ariana'),('Allison'),('Gabriella'),
20 ('Alice'),('Madelyn'),('Cora'),('Ruby'),('Eva'),('Serenity'),('Autumn'),('Adeline'),('Hailey'),('Gianna'),
21 ('Valentina'),('Isla'),('Eliana'),('Quinn'),('Ivy'),('Sadie'),('Piper'),('Lydia'),('Alexa'),('Josephine'),
22 ('Emery'),('Julia'),('Delilah'),('Arianna'),('Vivian'),('Kaylee'),('Sophie'),('Brielle'),('Madeline'),('Peyton'),
23 ('Rylee'),('Clara'),('Hadley'),('Melanie'),('Mackenzie'),('Reagan'),('Liliana'),('Jade'),('Katherine'),('Isabelle'),
24 ('Natalia'),('Maria'),('Athena'),('Alyssa'),('Makayla'),('Daisy'),('Elise'),('Annabelle'),('Nadia'),('Brianna'),
25 ('Laila'),('Faith'),('Kylie'),('Lauren'),('Alexandra'),('Jasmine'),('Kayla'),('Molly'),('Paige'),('Presley'),
26 ('Cecelia'),('Remi'),('Emerson'),('Harlow'),('Daniela'),('Sloane'),('Summer'),('Elaina'),('Esme'),('Fiona'),
27 ('Sienna'),('Vera'),('Zara'),('Arabella'),('Anastasia'),('Mariah'),('Camille'),('Bianca'),('Amara'),('Adriana'),
28 ('Sara'),('Juliana'),('Sasha'),('Tessa'),('Megan'),('Aliyah'),('Amy'),('Jocelyn'),('Destiny'),('Vivienne'),
29 ('Rosalie'),('Genevieve'),('Margot'),('Miriam'),('Selena'),('Carmen'),('Diana'),('Monica'),('Nicole'),('Rachel'),
30 ('Vanessa'),('Melissa'),('Amanda'),('Jessica'),('Ashley'),('Crystal'),('Danielle'),('Jennifer'),('Shannon'),('Stephanie'),
31 ('Whitney'),('Dawn'),('Heather'),('Holly'),('Kimberly'),('Michelle'),('Patricia'),('Rebecca'),('Sandra'),('Susan'),
32 ('Teresa'),('Angela'),('Dorothy'),('Frances'),('Gloria'),('Helen'),('Jane'),('Karen'),('Laura'),('Linda'),
33 ('Margaret'),('Nancy'),('Pamela'),('Paula'),('Ruth'),('Sharon'),('Shirley'),('Virginia'),('Wanda'),('Barbara'),
34 ('Betty'),('Carol'),('Carolyn'),('Catherine'),('Cheryl'),('Christine'),('Cynthia'),('Diane'),('Donna'),('Janet'),
35 ('Jean'),('Joyce'),('Judith'),('Julie'),('Kathleen'),('Kelly'),('Lisa'),('Lori'),('Martha'),('Rose'),
36 ('Beatrice'),('Cecilia'),('Claudia'),('Constance'),('Dolores'),('Edna'),('Elaine'),('Esther'),('Florence'),('Gladys'),
37 -- male
38 ('Liam'),('Noah'),('Oliver'),('Elijah'),('James'),('William'),('Benjamin'),('Lucas'),('Henry'),('Alexander'),
39 ('Mason'),('Ethan'),('Daniel'),('Jacob'),('Logan'),('Jackson'),('Sebastian'),('Jack'),('Aiden'),('Owen'),
40 ('Samuel'),('Joseph'),('Wyatt'),('John'),('David'),('Leo'),('Luke'),('Julian'),('Hudson'),('Grayson'),
41 ('Matthew'),('Mateo'),('Levi'),('Asher'),('Carter'),('Dylan'),('Jayden'),('Gabriel'),('Isaac'),('Anthony'),
42 ('Lincoln'),('Ezra'),('Thomas'),('Maverick'),('Elias'),('Josiah'),('Charles'),('Caleb'),('Christopher'),('Isaiah'),
43 ('Andrew'),('Eli'),('Joshua'),('Nathan'),('Landon'),('Hunter'),('Jonathan'),('Christian'),('Jaxon'),('Nolan'),
44 ('Ezekiel'),('Cameron'),('Connor'),('Jeremiah'),('Adrian'),('Evan'),('Theodore'),('Jordan'),('Jose'),('Aaron'),
45 ('Ian'),('Brooks'),('Carson'),('Jace'),('Everett'),('Nicholas'),('Dominic'),('Xavier'),('Bennett'),('Greyson'),
46 ('Miles'),('Kai'),('Sawyer'),('Jason'),('Axel'),('Cooper'),('Easton'),('Rowan'),('Colton'),('Roman'),
47 ('Leonardo'),('Zion'),('Dawson'),('Bryson'),('Damian'),('Jameson'),('Harrison'),('Xander'),('Emmett'),('Leon'),
48 ('Ryker'),('Silas'),('Brayden'),('Gael'),('Eric'),('Austin'),('Chase'),('Cole'),('Caden'),('Blake'),
49 ('Brody'),('Brandon'),('Brian'),('Bryan'),('Bruce'),('Carl'),('Chad'),('Clayton'),('Clifford'),('Cody'),
50 ('Colin'),('Craig'),('Curtis'),('Dale'),('Damon'),('Darren'),('Derek'),('Desmond'),('Devon'),('Douglas'),
51 ('Dwayne'),('Earl'),('Eddie'),('Edgar'),('Edward'),('Edwin'),('Elliot'),('Erik'),('Floyd'),('Francis'),
52 ('Frank'),('Frederick'),('Gary'),('Gene'),('George'),('Gerald'),('Gilbert'),('Glen'),('Gordon'),('Grant'),
53 ('Gregory'),('Harold'),('Harvey'),('Howard'),('Hugh'),('Jesse'),('Joel'),('Jorge'),('Justin'),('Keith'),
54 ('Kenneth'),('Kevin'),('Kirk'),('Kyle'),('Lance'),('Larry'),('Lawrence'),('Leonard'),('Leroy'),('Lewis'),
55 ('Louis'),('Malcolm'),('Marcus'),('Mark'),('Martin'),('Maurice'),('Michael'),('Miguel'),('Mitchell'),('Neil'),
56 ('Nelson'),('Patrick'),('Paul'),('Peter'),('Philip'),('Randy'),('Raymond'),('Richard'),('Robert'),('Roger'),
57 ('Ronald'),('Ross'),('Ryan'),('Scott'),('Sean'),('Spencer'),('Stanley'),('Stephen'),('Steve'),('Timothy'),
58 ('Todd'),('Travis'),('Trevor'),('Troy'),('Tyler'),('Victor'),('Vincent'),('Walter'),('Wayne'),('Wesley'),
59 ('Zachary'),('Adam'),('Alan'),('Albert'),('Alfred'),('Allen'),('Alvin'),('Andre'),('Antonio'),('Arthur'),
60 ('Barry'),('Bernard'),('Billy'),('Bobby'),('Brad'),('Bradley'),('Brett'),('Brock'),('Byron'),('Calvin'),
61 ('Cedric'),('Chester'),('Clarence'),('Claude'),('Clinton'),('Corey'),('Dennis'),('Donnie'),('Duane'),('Duncan')
62;
63
64-- last names (~400 entries)
65INSERT INTO tmp_last_names (name) VALUES
66 ('Smith'),('Johnson'),('Williams'),('Brown'),('Jones'),('Garcia'),('Miller'),('Davis'),('Rodriguez'),('Martinez'),
67 ('Hernandez'),('Lopez'),('Gonzalez'),('Wilson'),('Anderson'),('Thomas'),('Taylor'),('Moore'),('Jackson'),('Martin'),
68 ('Lee'),('Perez'),('Thompson'),('White'),('Harris'),('Sanchez'),('Clark'),('Ramirez'),('Lewis'),('Robinson'),
69 ('Walker'),('Young'),('Allen'),('King'),('Wright'),('Scott'),('Torres'),('Nguyen'),('Hill'),('Flores'),
70 ('Green'),('Adams'),('Nelson'),('Baker'),('Hall'),('Rivera'),('Campbell'),('Mitchell'),('Carter'),('Roberts'),
71 ('Gomez'),('Phillips'),('Evans'),('Turner'),('Diaz'),('Parker'),('Cruz'),('Edwards'),('Collins'),('Reyes'),
72 ('Stewart'),('Morris'),('Morales'),('Murphy'),('Cook'),('Rogers'),('Gutierrez'),('Ortiz'),('Morgan'),('Cooper'),
73 ('Peterson'),('Bailey'),('Reed'),('Kelly'),('Howard'),('Ramos'),('Kim'),('Cox'),('Ward'),('Richardson'),
74 ('Watson'),('Brooks'),('Chavez'),('Wood'),('James'),('Bennett'),('Gray'),('Mendoza'),('Ruiz'),('Hughes'),
75 ('Price'),('Alvarez'),('Castillo'),('Sanders'),('Patel'),('Myers'),('Long'),('Ross'),('Foster'),('Jimenez'),
76 ('Powell'),('Jenkins'),('Perry'),('Russell'),('Sullivan'),('Bell'),('Coleman'),('Butler'),('Henderson'),('Barnes'),
77 ('Gonzales'),('Fisher'),('Vasquez'),('Simmons'),('Romero'),('Jordan'),('Patterson'),('Alexander'),('Hamilton'),('Graham'),
78 ('Reynolds'),('Griffin'),('Wallace'),('Moreno'),('West'),('Cole'),('Hayes'),('Bryant'),('Herrera'),('Gibson'),
79 ('Ellis'),('Tran'),('Medina'),('Aguilar'),('Stevens'),('Murray'),('Ford'),('Castro'),('Marshall'),('Owens'),
80 ('Harrison'),('Fernandez'),('McDonald'),('Walsh'),('Freeman'),('Webb'),('Bradley'),('Burke'),('Morrison'),('Ryan'),
81 ('Mendez'),('Warren'),('Dixon'),('Rice'),('Schmidt'),('Hunt'),('Tucker'),('Carroll'),('Armstrong'),('Douglas'),
82 ('Fowler'),('Snyder'),('Cunningham'),('Wade'),('Salazar'),('Hicks'),('Garrett'),('Hudson'),('Burgess'),('Banks'),
83 ('Horton'),('Meyer'),('Hawkins'),('Mills'),('Olson'),('Pierce'),('Bishop'),('Ferguson'),('Dunn'),('Gregory'),
84 ('Shaw'),('Barker'),('Swanson'),('Little'),('Hammond'),('Lynch'),('Larson'),('Garza'),('Terry'),('Woods'),
85 ('Spencer'),('Wagner'),('Carr'),('Holt'),('Maldonado'),('Singleton'),('Chambers'),('Newman'),('Rose'),('Davidson'),
86 ('Hansen'),('Fischer'),('Weber'),('Schulz'),('Klein'),('Wolf'),('Schroeder'),('Neumann'),('Braun'),('Hoffmann'),
87 ('Hartmann'),('Ludwig'),('Becker'),('Krause'),('Zimmermann'),('Kramer'),('Schneider'),('Vogel'),('Bauer'),('Werner'),
88 ('Peters'),('Lang'),('Kohler'),('Blackwood'),('Whitfield'),('Ashford'),('Thornton'),('Caldwell'),('Crawford'),('Cummings'),
89 ('Eaton'),('Fleming'),('Glover'),('Graves'),('Hampton'),('Harrington'),('Hart'),('Harvey'),('Hayden'),('Higgins'),
90 ('Hodge'),('Holland'),('Hopkins'),('Horn'),('Howe'),('Howell'),('Huffman'),('Ingram'),('Jensen'),('Johnston'),
91 ('Kemp'),('Kennedy'),('Kent'),('Lambert'),('Lawson'),('Lester'),('Lowe'),('Lucas'),('Marsh'),('Mason'),
92 ('Matthews'),('Mccoy'),('Mckenzie'),('Mckinney'),('Miles'),('Monroe'),('Montgomery'),('Norton'),('Norris'),('Oliver'),
93 ('Page'),('Palmer'),('Parks'),('Payne'),('Potter'),('Ramsey'),('Randolph'),('Reeves'),('Rhodes'),('Riley'),
94 ('Robertson'),('Rojas'),('Rowe'),('Saunders'),('Sharp'),('Sherman'),('Simpson'),('Skinner'),('Solomon'),('Stanton'),
95 ('Sutton'),('Sweeney'),('Todd'),('Underwood'),('Vargas'),('Vega'),('Vincent'),('Walton'),('Warner'),('Washington'),
96 ('Watkins'),('Watts'),('Weaver'),('Welch'),('Wells'),('Wheeler'),('Williamson'),('Willis'),('Winters'),('Wise'),
97 ('Fitzgerald'),('Gallagher'),('Hennessey'),('Kavanagh'),('Malone'),('Nolan'),('Rafferty'),('Sheridan'),('Tully'),('Byrne'),
98 ('Oconnor'),('Mcdonnell'),('Flanagan'),('Donovan'),('Callahan'),('Brennan'),('Mccarthy'),('Foley'),('Quinn'),('Duffy'),
99 ('Delgado'),('Navarro'),('Soto'),
100 ('Nakamura'),('Yamamoto'),('Tanaka'),('Watanabe'),('Ito'),('Suzuki'),('Sato'),('Kobayashi'),('Kato'),('Abe'),
101 ('Chen'),('Wang'),('Li'),('Zhang'),('Liu'),('Yang'),('Huang'),('Wu'),('Zhou'),('Xu')
102;
103
104-- adjectives (~650 entries)
105INSERT INTO tmp_adjectives (word) VALUES
106 ('abandoned'),('absent'),('acoustic'),('aerial'),('ageless'),('alien'),('alive'),('amber'),('ancient'),('angular'),
107 ('arctic'),('ardent'),('arid'),('ashen'),('astral'),('atomic'),('audacious'),('azure'),('bare'),('barren'),
108 ('battered'),('blazing'),('bleak'),('blind'),('blissful'),('bold'),('booming'),('boundless'),('brave'),('breathless'),
109 ('bright'),('broken'),('brooding'),('burning'),('calm'),('carved'),('celestial'),('chaotic'),('charged'),('chrome'),
110 ('clandestine'),('classic'),('clear'),('cobalt'),('cold'),('colossal'),('cosmic'),('crashing'),('crimson'),('crumbling'),
111 ('crystal'),('cursed'),('dark'),('daring'),('dazzling'),('dead'),('deadly'),('deep'),('defiant'),('desolate'),
112 ('desperate'),('digital'),('dim'),('distant'),('divine'),('dormant'),('dramatic'),('dreaming'),('drifting'),('drowning'),
113 ('dusky'),('dynamic'),('dying'),('earthen'),('ebony'),('echoing'),('electric'),('elegant'),('emerald'),('empty'),
114 ('enchanted'),('endless'),('enduring'),('enigmatic'),('ephemeral'),('eternal'),('ethereal'),('euphoric'),('faded'),('fallen'),
115 ('fast'),('fearless'),('fervent'),('fierce'),('final'),('finite'),('flaming'),('fleeting'),('flowing'),('fluid'),
116 ('forgotten'),('fragile'),('frantic'),('free'),('frozen'),('furious'),('gentle'),('ghostly'),('gilded'),('glacial'),
117 ('gleaming'),('glimmering'),('glorious'),('gloomy'),('glowing'),('golden'),('graceful'),('grand'),('grave'),('gritty'),
118 ('hallowed'),('harsh'),('haunted'),('heavy'),('hidden'),('high'),('hollow'),('holy'),('howling'),('humble'),
119 ('hypnotic'),('icy'),('immortal'),('incandescent'),('infinite'),('inner'),('iridescent'),('jagged'),('jubilant'),('keen'),
120 ('kinetic'),('legendary'),('limitless'),('liquid'),('lone'),('lost'),('loud'),('low'),('loyal'),('luminous'),
121 ('lunar'),('lurking'),('magnetic'),('majestic'),('massive'),('melancholic'),('merciful'),('midnight'),('mighty'),('misty'),
122 ('modern'),('molten'),('moonlit'),('mortal'),('mournful'),('murky'),('muted'),('mystic'),('naked'),('narrow'),
123 ('neon'),('noble'),('nocturnal'),('nomadic'),('numb'),('obsidian'),('oceanic'),('old'),('ominous'),('opaque'),
124 ('original'),('pale'),('patient'),('peaceful'),('phantom'),('powerful'),('primal'),('proud'),('pure'),('quiet'),
125 ('radiant'),('raging'),('raw'),('reckless'),('relentless'),('remote'),('resonant'),('restless'),('rising'),('roaming'),
126 ('rough'),('royal'),('rugged'),('ruined'),('sacred'),('scattered'),('scorched'),('serene'),('shattered'),('sharp'),
127 ('shining'),('silent'),('slow'),('smoky'),('soft'),('solar'),('solemn'),('somber'),('sonic'),('spectral'),
128 ('spiritual'),('starlit'),('static'),('still'),('stormy'),('strange'),('strong'),('sublime'),('sunken'),('swift'),
129 ('tattered'),('tender'),('timeless'),('tormented'),('towering'),('transcendent'),('translucent'),('trembling'),('twilight'),('twisted'),
130 ('unbroken'),('uncharted'),('undying'),('unearthly'),('unforgiven'),('unknown'),('untamed'),('vast'),('velvet'),('vibrant'),
131 ('violent'),('violet'),('vivid'),('volcanic'),('wandering'),('weathered'),('weary'),('weeping'),('whispering'),('wicked'),
132 ('wild'),('windswept'),('worn'),('woven'),('wretched'),('young'),('zealous'),('abyssal'),('acidic'),('agile'),
133 ('altered'),('anomalous'),('archaic'),('atmospheric'),('blinding'),('brittle'),('ceaseless'),('chosen'),('cloaked'),('concrete'),
134 ('corrupted'),('covert'),('daunting'),('deathless'),('decaying'),('devout'),('dominant'),('elusive'),('emergent'),('exiled'),
135 ('explosive'),('fearsome'),('fractured'),('galactic'),('ghostlike'),('glassy'),('grinding'),('hazy'),('heated'),('heroic'),
136 ('indigo'),('infernal'),('lawless'),('lofty'),('mechanical'),('meditative'),('mercurial'),('mirrored'),('mythic'),('nuclear'),
137 ('numbing'),('obsessive'),('orbital'),('painted'),('pulsing'),('ravenous'),('reformed'),('renegade'),('ruthless'),('savage'),
138 ('shadowed'),('skeletal'),('soaring'),('steady'),('stellar'),('sunlit'),('swirling'),('tactical'),('thermal'),('thrashing'),
139 ('tranquil'),('unstable'),('vanishing'),('vigilant'),('waning'),('warped'),('wavering'),('accelerating'),('alluring'),('aloof'),
140 ('ambiguous'),('antique'),('arcane'),('asymmetric'),('binary'),('blurred'),('cascading'),('catastrophic'),('charged'),('ciphered'),
141 ('collapsing'),('complex'),('consuming'),('converging'),('cyclical'),('decadent'),('defeated'),('deliberate'),('dense'),('determined'),
142 ('deviant'),('diffuse'),('discordant'),('dispersed'),('dissolving'),('distorted'),('divergent'),('eclipsed'),('elastic'),('elemental'),
143 ('emotive'),('enchanting'),('evanescent'),('evolving'),('expansive'),('ferocious'),('feverish'),('flickering'),('folded'),('forged'),
144 ('fragmented'),('gravitational'),('guiding'),('halcyon'),('harmonic'),('hurtling'),('illuminated'),('impassioned'),('impending'),('incendiary'),
145 ('incisive'),('infernal'),('inflamed'),('intricate'),('kaleidoscopic'),('labyrinthine'),('lashing'),('layered'),('leaping'),('lingering'),
146 ('looming'),('marbled'),('measured'),('migratory'),('monolithic'),('moody'),('oblique'),('obscured'),('oscillating'),('otherworldly'),
147 ('parting'),('penetrating'),('piercing'),('pivotal'),('polar'),('predatory'),('primordial'),('propagating'),('reverberant'),('rhythmic'),
148 ('sapphire'),('searing'),('seething'),('shimmering'),('sinuous'),('slumbering'),('smoking'),('sovereign'),('splitting'),('spreading'),
149 ('subterranean'),('surging'),('suspended'),('sweeping'),('throbbing'),('tidal'),('toppled'),('turbulent'),('unbound'),('undulating'),
150 ('unfolding'),('unquiet'),('veiled'),('venomous'),('volatile'),('wailing'),('worn'),('yearning'),('zealous'),('zenith'),
151 ('abrupt'),('afire'),('alight'),('angular'),('burnished'),('charged'),('clashing'),('cloaked'),('compound'),('contested'),
152 ('cracked'),('crestfallen'),('daunted'),('defiled'),('derelict'),('desiccated'),('disfigured'),('displaced'),('dissolute'),('dormant'),
153 ('dulled'),('encircled'),('encroaching'),('eroding'),('exalted'),('exquisite'),('extinguished'),('exultant'),('fermented'),('fevered'),
154 ('ghosted'),('gilded'),('glistening'),('hallowed'),('impure'),('inclined'),('inert'),('inviolate'),('lamentable'),('languishing'),
155 ('lecherous'),('lethargic'),('lightless'),('listless'),('long-lost'),('lurid'),('maddened'),('manifold'),('marred'),('melting')
156;
157
158-- nouns (~650 entries)
159INSERT INTO tmp_nouns (word) VALUES
160 -- nature / elements
161 ('river'),('mountain'),('storm'),('fire'),('night'),('sky'),('ocean'),('forest'),('desert'),('valley'),
162 ('sunrise'),('sunset'),('moon'),('star'),('thunder'),('lightning'),('rain'),('wind'),('wave'),('tide'),
163 ('flame'),('spark'),('ember'),('ash'),('stone'),('steel'),('iron'),('gold'),('silver'),('crystal'),
164 ('diamond'),('pearl'),('rose'),('thorn'),('glacier'),('volcano'),('canyon'),('plateau'),('tundra'),('prairie'),
165 ('lagoon'),('reef'),('delta'),('fjord'),('crater'),('geyser'),('aurora'),('nebula'),('comet'),('meteor'),
166 ('asteroid'),('constellation'),('galaxy'),('supernova'),('cosmos'),('universe'),('cliff'),('shore'),('sand'),('dust'),
167 ('smoke'),('fog'),('mist'),('cloud'),('peak'),('summit'),('abyss'),('chasm'),('gorge'),('ravine'),
168 ('cavern'),('tidal'),('undertow'),('eddy'),('whirlpool'),('maelstrom'),('tornado'),('avalanche'),('tsunami'),('eruption'),
169 ('torrent'),('deluge'),('inferno'),('wildfire'),('vapor'),('haze'),('blizzard'),('frost'),('flake'),('droplet'),
170 ('ripple'),('splash'),('surge'),('swell'),('current'),('depth'),('horizon'),('frontier'),('wilderness'),('tundra'),
171 -- music / sound
172 ('melody'),('harmony'),('rhythm'),('beat'),('pulse'),('chord'),('note'),('tone'),('pitch'),('timbre'),
173 ('resonance'),('frequency'),('wavelength'),('amplitude'),('oscillation'),('symphony'),('concerto'),('nocturne'),('prelude'),('interlude'),
174 ('coda'),('overture'),('finale'),('movement'),('fugue'),('canon'),('waltz'),('etude'),('serenade'),('rhapsody'),
175 ('sonata'),('aria'),('chorus'),('verse'),('bridge'),('hook'),('lyric'),('anthem'),('ballad'),('opus'),
176 ('requiem'),('elegy'),('hymn'),('saga'),('epic'),('tempo'),('cadence'),('measure'),('string'),('drum'),
177 ('horn'),('bell'),('signal'),('broadcast'),('transmission'),('echo'),('silence'),('whisper'),('scream'),('sigh'),
178 -- emotion / abstract
179 ('dream'),('heart'),('soul'),('spirit'),('shadow'),('light'),('illusion'),('truth'),('lie'),('promise'),
180 ('oath'),('vow'),('bond'),('chain'),('memory'),('age'),('era'),('eternity'),('moment'),('instant'),
181 ('legend'),('myth'),('tale'),('story'),('chapter'),('word'),('name'),('mark'),('sign'),('omen'),
182 ('vision'),('nightmare'),('fantasy'),('reality'),('deception'),('chaos'),('order'),('balance'),('harmony'),('discord'),
183 ('vengeance'),('wrath'),('fury'),('rage'),('sorrow'),('grief'),('joy'),('hope'),('despair'),('faith'),
184 ('doubt'),('glory'),('shame'),('valor'),('honor'),('courage'),('grace'),('mercy'),('justice'),('prophecy'),
185 ('destiny'),('fate'),('chance'),('truth'),('void'),('infinity'),('absence'),('presence'),('essence'),('force'),
186 -- power / energy
187 ('gravity'),('momentum'),('velocity'),('trajectory'),('orbit'),('revolution'),('evolution'),('mutation'),('transformation'),('transcendence'),
188 ('blast'),('roar'),('rumble'),('crash'),('howl'),('cry'),('call'),('flash'),('burst'),('flare'),
189 ('fractal'),('spiral'),('helix'),('prism'),('spectrum'),('corona'),('halo'),('nimbus'),('eclipse'),('singularity'),
190 ('portal'),('vortex'),('dimension'),('matrix'),('grid'),('node'),('protocol'),('algorithm'),('code'),('data'),
191 ('circuit'),('network'),('pulse'),('heartbeat'),('lifeblood'),('nerve'),('vein'),('artery'),('sinew'),('marrow'),
192 -- creatures / animals
193 ('wolf'),('eagle'),('falcon'),('raven'),('phoenix'),('dragon'),('serpent'),('tiger'),('lion'),('bear'),
194 ('hawk'),('crow'),('owl'),('fox'),('deer'),('panther'),('cobra'),('condor'),('albatross'),('whale'),
195 ('dolphin'),('shark'),('kraken'),('leviathan'),('phantom'),('specter'),('wraith'),('shade'),('revenant'),('ghost'),
196 -- structures / symbols
197 ('fortress'),('citadel'),('tower'),('obelisk'),('monument'),('temple'),('cathedral'),('shrine'),('altar'),('throne'),
198 ('kingdom'),('empire'),('crown'),('blade'),('arrow'),('sword'),('shield'),('dagger'),('lance'),('torch'),
199 ('lantern'),('candle'),('beacon'),('lighthouse'),('compass'),('anchor'),('sail'),('rudder'),('helm'),('sextant'),
200 ('mirror'),('lens'),('kaleidoscope'),('talisman'),('amulet'),('relic'),('artifact'),('cipher'),('riddle'),('enigma'),
201 ('threshold'),('crossroads'),('junction'),('passage'),('corridor'),('tunnel'),('gateway'),('veil'),('membrane'),('boundary'),
202 ('skyline'),('pinnacle'),('spire'),('arch'),('dome'),('vault'),('nave'),('cloister'),('ridge'),('crest'),
203 -- time / cycle
204 ('dawn'),('dusk'),('twilight'),('midnight'),('noon'),('solstice'),('equinox'),('epoch'),('century'),('millennium'),
205 ('zenith'),('nadir'),('apex'),('cycle'),('axis'),('pole'),('blink'),('flash'),('era'),('age'),
206 -- additional vivid nouns
207 ('tide'),('undertow'),('cascade'),('torrent'),('vortex'),('drift'),('current'),('eddy'),('rush'),('surge'),
208 ('silence'),('echo'),('resonance'),('signal'),('frequency'),('chord'),('arc'),('path'),('road'),('bridge'),
209 ('voyage'),('quest'),('journey'),('passage'),('drift'),('wandering'),('pilgrimage'),('odyssey'),('sojourn'),('exile'),
210 ('testament'),('scripture'),('oracle'),('sage'),('knight'),('warrior'),('sentinel'),('guardian'),('nomad'),('exile'),
211 ('ember'),('cinder'),('ash'),('smoke'),('torch'),('forge'),('anvil'),('hammer'),('iron'),('steel'),
212 ('crater'),('rift'),('scar'),('fracture'),('wound'),('mark'),('trace'),('imprint'),('echo'),('remnant'),
213 ('fragment'),('shard'),('splinter'),('spark'),('flicker'),('gleam'),('glimmer'),('shimmer'),('glow'),('blaze'),
214 ('tempest'),('squall'),('gale'),('hurricane'),('typhoon'),('cyclone'),('deluge'),('flood'),('drought'),('famine'),
215 ('tide'),('wave'),('ripple'),('splash'),('foam'),('mist'),('dew'),('frost'),('ice'),('snow')
216;
217
218-- 1. users.full_name + username
219-- full_name → "First Last"
220-- username → "first_last_NNN" (NNN is a unique 3-digit suffix 100–999)
221--
222-- CTEs containing random() are NOT guaranteed to be materialized by the
223-- planner, so random() can be re-evaluated and produce different fn_id/ln_id
224-- values for the window function vs. the outer UPDATE — causing collisions.
225-- Solution: write assignments into a real temp table first so random() runs
226-- exactly once per user, then apply the row_number suffix on that stable data.
227--
228-- Suffix uniqueness: gcd(137, 900) = 1, so the sequence
229-- (rn-1)*137 mod 900 visits all 900 values before repeating → every user
230-- in the same name group gets a distinct, non-sequential-looking number.
231CREATE TEMP TABLE tmp_user_assignments AS
232SELECT
233 id,
234 (1 + floor(random() * (SELECT count(*) FROM tmp_first_names)))::int AS fn_id,
235 (1 + floor(random() * (SELECT count(*) FROM tmp_last_names)))::int AS ln_id
236FROM users;
237
238UPDATE users u
239SET
240 full_name = initcap(fn.name) || ' ' || initcap(ln.name),
241 username = lower(fn.name) || '_' || lower(ln.name) || '_' ||
242 (100 + ((sub.rn - 1) * 137 % 900))::text
243FROM (
244 SELECT id, fn_id, ln_id,
245 row_number() OVER (PARTITION BY fn_id, ln_id ORDER BY id) AS rn
246 FROM tmp_user_assignments
247) sub
248JOIN tmp_first_names fn ON fn.id = sub.fn_id
249JOIN tmp_last_names ln ON ln.id = sub.ln_id
250WHERE u.id = sub.id;
251
252DROP TABLE tmp_user_assignments;
253
254-- 2. artists.display_name - 80% "<First> <Last>", 20% single Noun
255UPDATE artists a
256SET display_name = CASE
257 WHEN src.single_word THEN initcap(n.word)
258 ELSE initcap(fn.name) || ' ' || initcap(ln.name)
259END
260FROM (
261 SELECT id,
262 (1 + floor(random() * (SELECT count(*) FROM tmp_first_names)))::int AS fn_id,
263 (1 + floor(random() * (SELECT count(*) FROM tmp_last_names)))::int AS ln_id,
264 (1 + floor(random() * (SELECT count(*) FROM tmp_nouns)))::int AS noun_id,
265 random() < 0.2 AS single_word
266 FROM artists
267) src
268JOIN tmp_first_names fn ON fn.id = src.fn_id
269JOIN tmp_last_names ln ON ln.id = src.ln_id
270JOIN tmp_nouns n ON n.id = src.noun_id
271WHERE a.id = src.id;
272
273
274-- 3. labels.name - format: "<Adjective> <Noun> Records"
275UPDATE labels l
276SET name = initcap(adj.word) || ' ' || initcap(n.word) || ' Records'
277FROM (
278 SELECT id,
279 (1 + floor(random() * (SELECT count(*) FROM tmp_adjectives)))::int AS adj_id,
280 (1 + floor(random() * (SELECT count(*) FROM tmp_nouns)))::int AS noun_id
281 FROM labels
282) src
283JOIN tmp_adjectives adj ON adj.id = src.adj_id
284JOIN tmp_nouns n ON n.id = src.noun_id
285WHERE l.id = src.id;
286
287-- 4. albums.title — 80% "<Adjective> <Noun>", 20% single Noun
288UPDATE albums a
289SET title = CASE
290 WHEN src.single_word THEN initcap(n.word)
291 ELSE initcap(adj.word) || ' ' || initcap(n.word)
292END
293FROM (
294 SELECT id,
295 (1 + floor(random() * (SELECT count(*) FROM tmp_adjectives)))::int AS adj_id,
296 (1 + floor(random() * (SELECT count(*) FROM tmp_nouns)))::int AS noun_id,
297 random() < 0.2 AS single_word
298 FROM albums
299) src
300JOIN tmp_adjectives adj ON adj.id = src.adj_id
301JOIN tmp_nouns n ON n.id = src.noun_id
302WHERE a.id = src.id;
303
304
305-- 5. songs.title — 80% "<Adjective> <Noun>", 20% single Noun
306UPDATE songs s
307SET title = CASE
308 WHEN src.single_word THEN initcap(n.word)
309 ELSE initcap(adj.word) || ' ' || initcap(n.word)
310END
311FROM (
312 SELECT id,
313 (1 + floor(random() * (SELECT count(*) FROM tmp_adjectives)))::int AS adj_id,
314 (1 + floor(random() * (SELECT count(*) FROM tmp_nouns)))::int AS noun_id,
315 random() < 0.2 AS single_word
316 FROM songs
317) src
318JOIN tmp_adjectives adj ON adj.id = src.adj_id
319JOIN tmp_nouns n ON n.id = src.noun_id
320WHERE s.id = src.id;
321
322-- 6. playlists.playlist_name — 80% "<Adjective> <Noun> Mix", 20% "<Noun> Mix"
323UPDATE playlists p
324SET playlist_name = CASE
325 WHEN src.single_word THEN initcap(n.word) || ' Mix'
326 ELSE initcap(adj.word) || ' ' || initcap(n.word) || ' Mix'
327END
328FROM (
329 SELECT id,
330 (1 + floor(random() * (SELECT count(*) FROM tmp_adjectives)))::int AS adj_id,
331 (1 + floor(random() * (SELECT count(*) FROM tmp_nouns)))::int AS noun_id,
332 random() < 0.2 AS single_word
333 FROM playlists
334) src
335JOIN tmp_adjectives adj ON adj.id = src.adj_id
336JOIN tmp_nouns n ON n.id = src.noun_id
337WHERE p.id = src.id;
338
339COMMIT;