| 1 | BEGIN;
|
|---|
| 2 |
|
|---|
| 3 | -- temporary lookup tables
|
|---|
| 4 | CREATE TEMP TABLE tmp_first_names (id SERIAL PRIMARY KEY, name TEXT);
|
|---|
| 5 | CREATE TEMP TABLE tmp_last_names (id SERIAL PRIMARY KEY, name TEXT);
|
|---|
| 6 | CREATE TEMP TABLE tmp_adjectives (id SERIAL PRIMARY KEY, word TEXT);
|
|---|
| 7 | CREATE TEMP TABLE tmp_nouns (id SERIAL PRIMARY KEY, word TEXT);
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 | -- first names (~480 entries: 240 female + 240 male)
|
|---|
| 11 | INSERT 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)
|
|---|
| 65 | INSERT 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)
|
|---|
| 105 | INSERT 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)
|
|---|
| 159 | INSERT 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.
|
|---|
| 231 | CREATE TEMP TABLE tmp_user_assignments AS
|
|---|
| 232 | SELECT
|
|---|
| 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
|
|---|
| 236 | FROM users;
|
|---|
| 237 |
|
|---|
| 238 | UPDATE users u
|
|---|
| 239 | SET
|
|---|
| 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
|
|---|
| 243 | FROM (
|
|---|
| 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
|
|---|
| 248 | JOIN tmp_first_names fn ON fn.id = sub.fn_id
|
|---|
| 249 | JOIN tmp_last_names ln ON ln.id = sub.ln_id
|
|---|
| 250 | WHERE u.id = sub.id;
|
|---|
| 251 |
|
|---|
| 252 | DROP TABLE tmp_user_assignments;
|
|---|
| 253 |
|
|---|
| 254 | -- 2. artists.display_name - 80% "<First> <Last>", 20% single Noun
|
|---|
| 255 | UPDATE artists a
|
|---|
| 256 | SET display_name = CASE
|
|---|
| 257 | WHEN src.single_word THEN initcap(n.word)
|
|---|
| 258 | ELSE initcap(fn.name) || ' ' || initcap(ln.name)
|
|---|
| 259 | END
|
|---|
| 260 | FROM (
|
|---|
| 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
|
|---|
| 268 | JOIN tmp_first_names fn ON fn.id = src.fn_id
|
|---|
| 269 | JOIN tmp_last_names ln ON ln.id = src.ln_id
|
|---|
| 270 | JOIN tmp_nouns n ON n.id = src.noun_id
|
|---|
| 271 | WHERE a.id = src.id;
|
|---|
| 272 |
|
|---|
| 273 |
|
|---|
| 274 | -- 3. labels.name - format: "<Adjective> <Noun> Records"
|
|---|
| 275 | UPDATE labels l
|
|---|
| 276 | SET name = initcap(adj.word) || ' ' || initcap(n.word) || ' Records'
|
|---|
| 277 | FROM (
|
|---|
| 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
|
|---|
| 283 | JOIN tmp_adjectives adj ON adj.id = src.adj_id
|
|---|
| 284 | JOIN tmp_nouns n ON n.id = src.noun_id
|
|---|
| 285 | WHERE l.id = src.id;
|
|---|
| 286 |
|
|---|
| 287 | -- 4. albums.title — 80% "<Adjective> <Noun>", 20% single Noun
|
|---|
| 288 | UPDATE albums a
|
|---|
| 289 | SET title = CASE
|
|---|
| 290 | WHEN src.single_word THEN initcap(n.word)
|
|---|
| 291 | ELSE initcap(adj.word) || ' ' || initcap(n.word)
|
|---|
| 292 | END
|
|---|
| 293 | FROM (
|
|---|
| 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
|
|---|
| 300 | JOIN tmp_adjectives adj ON adj.id = src.adj_id
|
|---|
| 301 | JOIN tmp_nouns n ON n.id = src.noun_id
|
|---|
| 302 | WHERE a.id = src.id;
|
|---|
| 303 |
|
|---|
| 304 |
|
|---|
| 305 | -- 5. songs.title — 80% "<Adjective> <Noun>", 20% single Noun
|
|---|
| 306 | UPDATE songs s
|
|---|
| 307 | SET title = CASE
|
|---|
| 308 | WHEN src.single_word THEN initcap(n.word)
|
|---|
| 309 | ELSE initcap(adj.word) || ' ' || initcap(n.word)
|
|---|
| 310 | END
|
|---|
| 311 | FROM (
|
|---|
| 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
|
|---|
| 318 | JOIN tmp_adjectives adj ON adj.id = src.adj_id
|
|---|
| 319 | JOIN tmp_nouns n ON n.id = src.noun_id
|
|---|
| 320 | WHERE s.id = src.id;
|
|---|
| 321 |
|
|---|
| 322 | -- 6. playlists.playlist_name — 80% "<Adjective> <Noun> Mix", 20% "<Noun> Mix"
|
|---|
| 323 | UPDATE playlists p
|
|---|
| 324 | SET playlist_name = CASE
|
|---|
| 325 | WHEN src.single_word THEN initcap(n.word) || ' Mix'
|
|---|
| 326 | ELSE initcap(adj.word) || ' ' || initcap(n.word) || ' Mix'
|
|---|
| 327 | END
|
|---|
| 328 | FROM (
|
|---|
| 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
|
|---|
| 335 | JOIN tmp_adjectives adj ON adj.id = src.adj_id
|
|---|
| 336 | JOIN tmp_nouns n ON n.id = src.noun_id
|
|---|
| 337 | WHERE p.id = src.id;
|
|---|
| 338 |
|
|---|
| 339 | COMMIT;
|
|---|