default_privileges.slt 117 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. mode cockroach
  10. reset-server
  11. # Enable rbac checks.
  12. simple conn=mz_system,user=mz_system
  13. ALTER SYSTEM SET enable_rbac_checks TO true;
  14. ----
  15. COMPLETE 0
  16. simple conn=mz_system,user=mz_system
  17. ALTER SYSTEM SET enable_connection_validation_syntax TO true;
  18. ----
  19. COMPLETE 0
  20. # Test pre-populated default privileges
  21. query TTTTTT rowsort
  22. SELECT * FROM mz_default_privileges
  23. ----
  24. p NULL NULL type p U
  25. p NULL NULL schema s2 U
  26. p NULL NULL cluster s2 U
  27. p NULL NULL database s2 U
  28. statement ok
  29. CREATE TYPE ty AS LIST (ELEMENT TYPE = int4);
  30. query T rowsort
  31. SELECT unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  32. ----
  33. =U/materialize
  34. materialize=U/materialize
  35. statement ok
  36. DROP TYPE ty
  37. # Create helper view
  38. statement ok
  39. CREATE VIEW default_privileges AS
  40. SELECT
  41. (CASE defaults.role_id WHEN 'p' THEN 'PUBLIC' ELSE roles.name END) AS role_name,
  42. databases.name AS database_name,
  43. schemas.name AS schema_name,
  44. defaults.object_type AS object_type,
  45. (CASE defaults.grantee WHEN 'p' THEN 'PUBLIC' ELSE grantees.name END) AS grantee_name,
  46. defaults.privileges AS privileges
  47. FROM mz_default_privileges defaults
  48. LEFT JOIN mz_roles AS roles ON defaults.role_id = roles.id
  49. LEFT JOIN mz_roles AS grantees ON defaults.grantee = grantees.id
  50. LEFT JOIN mz_databases AS databases ON defaults.database_id = databases.id
  51. LEFT JOIN mz_schemas AS schemas ON defaults.schema_id = schemas.id
  52. WHERE grantees.name IS NULL OR grantees.name <> 'mz_support'
  53. ORDER BY role_name, grantee_name
  54. # Test altering default privileges
  55. statement ok
  56. CREATE SCHEMA s0
  57. statement ok
  58. CREATE DATABASE d1
  59. statement ok
  60. CREATE SCHEMA d1.s1
  61. statement ok
  62. CREATE SCHEMA d1.s11
  63. statement ok
  64. CREATE DATABASE d2
  65. statement ok
  66. CREATE SCHEMA d2.s2
  67. statement ok
  68. CREATE SCHEMA d2.s22
  69. statement ok
  70. CREATE ROLE r1
  71. statement ok
  72. CREATE ROLE r2
  73. statement ok
  74. CREATE ROLE r3
  75. statement ok
  76. CREATE ROLE r4
  77. statement ok
  78. CREATE ROLE r5
  79. statement ok
  80. CREATE ROLE r6
  81. simple conn=mz_system,user=mz_system
  82. GRANT CREATECLUSTER, CREATEDB ON SYSTEM TO r6;
  83. ----
  84. COMPLETE 0
  85. statement ok
  86. CREATE ROLE r7
  87. simple conn=mz_system,user=mz_system
  88. GRANT CREATECLUSTER, CREATEDB ON SYSTEM TO r7;
  89. ----
  90. COMPLETE 0
  91. statement ok
  92. CREATE ROLE r8
  93. statement ok
  94. CREATE ROLE r9
  95. simple conn=mz_system,user=mz_system
  96. GRANT CREATECLUSTER, CREATEDB ON SYSTEM TO r9;
  97. ----
  98. COMPLETE 0
  99. statement ok
  100. CREATE ROLE r10
  101. statement ok
  102. CREATE ROLE r11
  103. simple conn=mz_system,user=mz_system
  104. GRANT CREATECLUSTER, CREATEDB ON SYSTEM TO r11;
  105. ----
  106. COMPLETE 0
  107. statement ok
  108. CREATE ROLE r12
  109. statement ok
  110. GRANT r6 TO materialize
  111. statement ok
  112. GRANT r7 TO materialize
  113. statement ok
  114. GRANT r9 TO materialize
  115. statement ok
  116. GRANT r11 TO materialize
  117. simple conn=mz_system,user=mz_system
  118. GRANT CREATE ON SCHEMA materialize.public TO r6, r7;
  119. ----
  120. COMPLETE 0
  121. simple conn=mz_system,user=mz_system
  122. GRANT CREATE, USAGE ON SCHEMA d1.s1, d1.s11, d2.s2, d2.s22 TO r9, r11;
  123. ----
  124. COMPLETE 0
  125. simple conn=mz_system,user=mz_system
  126. GRANT USAGE ON DATABASE d1, d2 TO r9, r11;
  127. ----
  128. COMPLETE 0
  129. simple conn=mz_system,user=mz_system
  130. GRANT CREATE ON DATABASE materialize, d1, d2 TO r6, r7, r9;
  131. ----
  132. COMPLETE 0
  133. simple conn=mz_system,user=mz_system
  134. GRANT CREATE ON CLUSTER quickstart TO r6, r7, r9, r11;
  135. ----
  136. COMPLETE 0
  137. ## Relations
  138. ### Grants
  139. statement ok
  140. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT SELECT ON TABLES TO r1, r2
  141. query TTTTTT rowsort
  142. SELECT * FROM default_privileges
  143. ----
  144. PUBLIC NULL NULL type PUBLIC U
  145. materialize NULL NULL table r1 r
  146. materialize NULL NULL table r2 r
  147. statement ok
  148. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT ALL PRIVILEGES ON TABLES TO r3
  149. query TTTTTT rowsort
  150. SELECT * FROM default_privileges
  151. ----
  152. PUBLIC NULL NULL type PUBLIC U
  153. materialize NULL NULL table r1 r
  154. materialize NULL NULL table r2 r
  155. materialize NULL NULL table r3 arwd
  156. statement ok
  157. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 GRANT INSERT ON TABLES TO r4
  158. query TTTTTT rowsort
  159. SELECT * FROM default_privileges
  160. ----
  161. PUBLIC NULL NULL type PUBLIC U
  162. materialize NULL NULL table r1 r
  163. materialize NULL NULL table r2 r
  164. materialize NULL NULL table r3 arwd
  165. materialize d1 NULL table r4 a
  166. materialize d2 NULL table r4 a
  167. statement ok
  168. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA d1.s1, d2.s2 GRANT DELETE ON TABLES TO r5
  169. query TTTTTT rowsort
  170. SELECT * FROM default_privileges
  171. ----
  172. PUBLIC NULL NULL type PUBLIC U
  173. materialize NULL NULL table r1 r
  174. materialize NULL NULL table r2 r
  175. materialize NULL NULL table r3 arwd
  176. materialize d1 NULL table r4 a
  177. materialize d2 NULL table r4 a
  178. materialize d1 s1 table r5 d
  179. materialize d2 s2 table r5 d
  180. statement ok
  181. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 GRANT SELECT ON TABLES TO r8
  182. query TTTTTT rowsort
  183. SELECT * FROM default_privileges
  184. ----
  185. r6 NULL NULL table r8 r
  186. r7 NULL NULL table r8 r
  187. PUBLIC NULL NULL type PUBLIC U
  188. materialize NULL NULL table r1 r
  189. materialize NULL NULL table r2 r
  190. materialize NULL NULL table r3 arwd
  191. materialize d1 NULL table r4 a
  192. materialize d2 NULL table r4 a
  193. materialize d1 s1 table r5 d
  194. materialize d2 s2 table r5 d
  195. statement ok
  196. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 GRANT INSERT ON TABLES TO r10
  197. query TTTTTT rowsort
  198. SELECT * FROM default_privileges
  199. ----
  200. r6 NULL NULL table r8 r
  201. r7 NULL NULL table r8 r
  202. r9 d1 NULL table r10 a
  203. r9 d2 NULL table r10 a
  204. PUBLIC NULL NULL type PUBLIC U
  205. materialize NULL NULL table r1 r
  206. materialize NULL NULL table r2 r
  207. materialize NULL NULL table r3 arwd
  208. materialize d1 NULL table r4 a
  209. materialize d2 NULL table r4 a
  210. materialize d1 s1 table r5 d
  211. materialize d2 s2 table r5 d
  212. statement ok
  213. ALTER DEFAULT PRIVILEGES FOR ROLE r11 IN SCHEMA d1.s1, d2.s2 GRANT DELETE ON TABLES TO r12
  214. query TTTTTT rowsort
  215. SELECT * FROM default_privileges
  216. ----
  217. r6 NULL NULL table r8 r
  218. r7 NULL NULL table r8 r
  219. r9 d1 NULL table r10 a
  220. r9 d2 NULL table r10 a
  221. PUBLIC NULL NULL type PUBLIC U
  222. r11 d1 s1 table r12 d
  223. r11 d2 s2 table r12 d
  224. materialize NULL NULL table r1 r
  225. materialize NULL NULL table r2 r
  226. materialize NULL NULL table r3 arwd
  227. materialize d1 NULL table r4 a
  228. materialize d2 NULL table r4 a
  229. materialize d1 s1 table r5 d
  230. materialize d2 s2 table r5 d
  231. statement ok
  232. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT UPDATE ON TABLES TO PUBLIC
  233. query TTTTTT rowsort
  234. SELECT * FROM default_privileges
  235. ----
  236. r6 NULL NULL table r8 r
  237. r7 NULL NULL table r8 r
  238. r9 d1 NULL table r10 a
  239. r9 d2 NULL table r10 a
  240. PUBLIC NULL NULL type PUBLIC U
  241. r11 d1 s1 table r12 d
  242. r11 d2 s2 table r12 d
  243. materialize NULL NULL table r1 r
  244. materialize NULL NULL table r2 r
  245. materialize NULL NULL table r3 arwd
  246. materialize d1 NULL table r4 a
  247. materialize d2 NULL table r4 a
  248. materialize NULL NULL table PUBLIC w
  249. materialize d1 s1 table r5 d
  250. materialize d2 s2 table r5 d
  251. statement ok
  252. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT INSERT ON TABLES TO r1
  253. query TTTTTT rowsort
  254. SELECT * FROM default_privileges
  255. ----
  256. r6 NULL NULL table r8 r
  257. r7 NULL NULL table r8 r
  258. r9 d1 NULL table r10 a
  259. r9 d2 NULL table r10 a
  260. PUBLIC NULL NULL type PUBLIC U
  261. r11 d1 s1 table r12 d
  262. r11 d2 s2 table r12 d
  263. materialize NULL NULL table r2 r
  264. materialize NULL NULL table r1 ar
  265. materialize NULL NULL table r3 arwd
  266. materialize d1 NULL table r4 a
  267. materialize d2 NULL table r4 a
  268. materialize NULL NULL table PUBLIC w
  269. materialize d1 s1 table r5 d
  270. materialize d2 s2 table r5 d
  271. statement ok
  272. CREATE TABLE materialize.public.t ()
  273. query TT rowsort
  274. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  275. ----
  276. t =w/materialize
  277. t r2=r/materialize
  278. t r1=ar/materialize
  279. t r3=arwd/materialize
  280. t materialize=arwd/materialize
  281. statement ok
  282. DROP TABLE t
  283. statement ok
  284. CREATE VIEW materialize.public.v AS SELECT 1
  285. query TT rowsort
  286. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  287. ----
  288. v r1=r/materialize
  289. v r2=r/materialize
  290. v r3=r/materialize
  291. v materialize=r/materialize
  292. statement ok
  293. DROP VIEW v
  294. statement ok
  295. CREATE MATERIALIZED VIEW materialize.public.mv AS SELECT 1
  296. query TT rowsort
  297. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  298. ----
  299. mv r1=r/materialize
  300. mv r2=r/materialize
  301. mv r3=r/materialize
  302. mv materialize=r/materialize
  303. statement ok
  304. DROP MATERIALIZED VIEW mv
  305. statement ok
  306. CREATE SOURCE materialize.public.s FROM LOAD GENERATOR COUNTER
  307. query TT rowsort
  308. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  309. ----
  310. s r1=r/materialize
  311. s r2=r/materialize
  312. s r3=r/materialize
  313. s materialize=r/materialize
  314. statement ok
  315. DROP SOURCE s
  316. statement ok
  317. CREATE TABLE d1.s11.t ()
  318. query TT rowsort
  319. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  320. ----
  321. t =w/materialize
  322. t r2=r/materialize
  323. t r4=a/materialize
  324. t r1=ar/materialize
  325. t r3=arwd/materialize
  326. t materialize=arwd/materialize
  327. statement ok
  328. DROP TABLE d1.s11.t
  329. statement ok
  330. CREATE VIEW d1.s11.v AS SELECT 1
  331. query TT rowsort
  332. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  333. ----
  334. v r1=r/materialize
  335. v r2=r/materialize
  336. v r3=r/materialize
  337. v materialize=r/materialize
  338. statement ok
  339. DROP VIEW d1.s11.v
  340. statement ok
  341. CREATE MATERIALIZED VIEW d1.s11.mv AS SELECT 1
  342. query TT rowsort
  343. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  344. ----
  345. mv r1=r/materialize
  346. mv r2=r/materialize
  347. mv r3=r/materialize
  348. mv materialize=r/materialize
  349. statement ok
  350. DROP MATERIALIZED VIEW d1.s11.mv
  351. statement ok
  352. CREATE SOURCE d1.s11.s FROM LOAD GENERATOR COUNTER
  353. query TT rowsort
  354. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  355. ----
  356. s r1=r/materialize
  357. s r2=r/materialize
  358. s r3=r/materialize
  359. s materialize=r/materialize
  360. statement ok
  361. DROP SOURCE d1.s11.s
  362. statement ok
  363. CREATE TABLE d2.s22.t ()
  364. query TT rowsort
  365. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  366. ----
  367. t =w/materialize
  368. t r2=r/materialize
  369. t r4=a/materialize
  370. t r1=ar/materialize
  371. t r3=arwd/materialize
  372. t materialize=arwd/materialize
  373. statement ok
  374. DROP TABLE d2.s22.t
  375. statement ok
  376. CREATE VIEW d2.s22.v AS SELECT 1
  377. query TT rowsort
  378. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  379. ----
  380. v r1=r/materialize
  381. v r2=r/materialize
  382. v r3=r/materialize
  383. v materialize=r/materialize
  384. statement ok
  385. DROP VIEW d2.s22.v
  386. statement ok
  387. CREATE MATERIALIZED VIEW d2.s22.mv AS SELECT 1
  388. query TT rowsort
  389. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  390. ----
  391. mv r1=r/materialize
  392. mv r2=r/materialize
  393. mv r3=r/materialize
  394. mv materialize=r/materialize
  395. statement ok
  396. DROP MATERIALIZED VIEW d2.s22.mv
  397. statement ok
  398. CREATE SOURCE d2.s22.s FROM LOAD GENERATOR COUNTER
  399. query TT rowsort
  400. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  401. ----
  402. s r1=r/materialize
  403. s r2=r/materialize
  404. s r3=r/materialize
  405. s materialize=r/materialize
  406. statement ok
  407. DROP SOURCE d2.s22.s
  408. statement ok
  409. CREATE TABLE d1.s1.t ()
  410. query TT rowsort
  411. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  412. ----
  413. t =w/materialize
  414. t r2=r/materialize
  415. t r4=a/materialize
  416. t r5=d/materialize
  417. t r1=ar/materialize
  418. t r3=arwd/materialize
  419. t materialize=arwd/materialize
  420. statement ok
  421. DROP TABLE d1.s1.t
  422. statement ok
  423. CREATE VIEW d1.s1.v AS SELECT 1
  424. query TT rowsort
  425. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  426. ----
  427. v r1=r/materialize
  428. v r2=r/materialize
  429. v r3=r/materialize
  430. v materialize=r/materialize
  431. statement ok
  432. DROP VIEW d1.s1.v
  433. statement ok
  434. CREATE MATERIALIZED VIEW d1.s1.mv AS SELECT 1
  435. query TT rowsort
  436. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  437. ----
  438. mv r1=r/materialize
  439. mv r2=r/materialize
  440. mv r3=r/materialize
  441. mv materialize=r/materialize
  442. statement ok
  443. DROP MATERIALIZED VIEW d1.s1.mv
  444. statement ok
  445. CREATE SOURCE d1.s1.s FROM LOAD GENERATOR COUNTER
  446. query TT rowsort
  447. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  448. ----
  449. s r1=r/materialize
  450. s r2=r/materialize
  451. s r3=r/materialize
  452. s materialize=r/materialize
  453. statement ok
  454. DROP SOURCE d1.s1.s
  455. statement ok
  456. CREATE TABLE d2.s2.t ()
  457. query TT rowsort
  458. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  459. ----
  460. t =w/materialize
  461. t r2=r/materialize
  462. t r4=a/materialize
  463. t r5=d/materialize
  464. t r1=ar/materialize
  465. t r3=arwd/materialize
  466. t materialize=arwd/materialize
  467. statement ok
  468. DROP TABLE d2.s2.t
  469. statement ok
  470. CREATE VIEW d2.s2.v AS SELECT 1
  471. query TT rowsort
  472. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  473. ----
  474. v r1=r/materialize
  475. v r2=r/materialize
  476. v r3=r/materialize
  477. v materialize=r/materialize
  478. statement ok
  479. DROP VIEW d2.s2.v
  480. statement ok
  481. CREATE MATERIALIZED VIEW d2.s2.mv AS SELECT 1
  482. query TT rowsort
  483. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  484. ----
  485. mv r1=r/materialize
  486. mv r2=r/materialize
  487. mv r3=r/materialize
  488. mv materialize=r/materialize
  489. statement ok
  490. DROP MATERIALIZED VIEW d2.s2.mv
  491. statement ok
  492. CREATE SOURCE d2.s2.s FROM LOAD GENERATOR COUNTER
  493. query TT rowsort
  494. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  495. ----
  496. s r1=r/materialize
  497. s r2=r/materialize
  498. s r3=r/materialize
  499. s materialize=r/materialize
  500. statement ok
  501. DROP SOURCE d2.s2.s
  502. simple conn=r6,user=r6
  503. CREATE TABLE materialize.public.t ();
  504. ----
  505. COMPLETE 0
  506. query TT rowsort
  507. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  508. ----
  509. t r8=r/r6
  510. t r6=arwd/r6
  511. simple conn=r6,user=r6
  512. DROP TABLE materialize.public.t;
  513. ----
  514. COMPLETE 0
  515. simple conn=r6,user=r6
  516. CREATE VIEW materialize.public.v AS SELECT 1;
  517. ----
  518. COMPLETE 0
  519. query TT rowsort
  520. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  521. ----
  522. v r6=r/r6
  523. v r8=r/r6
  524. simple conn=r6,user=r6
  525. DROP VIEW materialize.public.v;
  526. ----
  527. COMPLETE 0
  528. simple conn=r6,user=r6
  529. CREATE MATERIALIZED VIEW materialize.public.mv AS SELECT 1;
  530. ----
  531. COMPLETE 0
  532. query TT rowsort
  533. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  534. ----
  535. mv r6=r/r6
  536. mv r8=r/r6
  537. simple conn=r6,user=r6
  538. DROP MATERIALIZED VIEW materialize.public.mv;
  539. ----
  540. COMPLETE 0
  541. simple conn=r6,user=r6
  542. CREATE SOURCE materialize.public.s FROM LOAD GENERATOR COUNTER;
  543. ----
  544. COMPLETE 0
  545. query TT rowsort
  546. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  547. ----
  548. s r6=r/r6
  549. s r8=r/r6
  550. simple conn=r6,user=r6
  551. DROP SOURCE materialize.public.s;
  552. ----
  553. COMPLETE 0
  554. simple conn=r7,user=r7
  555. CREATE TABLE materialize.public.t ();
  556. ----
  557. COMPLETE 0
  558. query TT rowsort
  559. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  560. ----
  561. t r8=r/r7
  562. t r7=arwd/r7
  563. simple conn=r7,user=r7
  564. DROP TABLE materialize.public.t;
  565. ----
  566. COMPLETE 0
  567. simple conn=r7,user=r7
  568. CREATE VIEW materialize.public.v AS SELECT 1;
  569. ----
  570. COMPLETE 0
  571. query TT rowsort
  572. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  573. ----
  574. v r7=r/r7
  575. v r8=r/r7
  576. simple conn=r7,user=r7
  577. DROP VIEW materialize.public.v;
  578. ----
  579. COMPLETE 0
  580. simple conn=r7,user=r7
  581. CREATE MATERIALIZED VIEW materialize.public.mv AS SELECT 1;
  582. ----
  583. COMPLETE 0
  584. query TT rowsort
  585. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  586. ----
  587. mv r7=r/r7
  588. mv r8=r/r7
  589. simple conn=r7,user=r7
  590. DROP MATERIALIZED VIEW materialize.public.mv;
  591. ----
  592. COMPLETE 0
  593. simple conn=r7,user=r7
  594. CREATE SOURCE materialize.public.s FROM LOAD GENERATOR COUNTER;
  595. ----
  596. COMPLETE 0
  597. query TT rowsort
  598. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  599. ----
  600. s r7=r/r7
  601. s r8=r/r7
  602. simple conn=r7,user=r7
  603. DROP SOURCE materialize.public.s;
  604. ----
  605. COMPLETE 0
  606. simple conn=r9,user=r9
  607. CREATE TABLE d1.s1.t ();
  608. ----
  609. COMPLETE 0
  610. query TT rowsort
  611. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  612. ----
  613. t r10=a/r9
  614. t r9=arwd/r9
  615. simple conn=r9,user=r9
  616. DROP TABLE d1.s1.t;
  617. ----
  618. COMPLETE 0
  619. simple conn=r9,user=r9
  620. CREATE VIEW d1.s1.v AS SELECT 1;
  621. ----
  622. COMPLETE 0
  623. query TT rowsort
  624. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  625. ----
  626. v r9=r/r9
  627. simple conn=r9,user=r9
  628. DROP VIEW d1.s1.v;
  629. ----
  630. COMPLETE 0
  631. simple conn=r9,user=r9
  632. CREATE MATERIALIZED VIEW d1.s1.mv AS SELECT 1;
  633. ----
  634. COMPLETE 0
  635. query TT rowsort
  636. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  637. ----
  638. mv r9=r/r9
  639. simple conn=r9,user=r9
  640. DROP MATERIALIZED VIEW d1.s1.mv;
  641. ----
  642. COMPLETE 0
  643. simple conn=r9,user=r9
  644. CREATE SOURCE d1.s1.s FROM LOAD GENERATOR COUNTER;
  645. ----
  646. COMPLETE 0
  647. query TT rowsort
  648. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  649. ----
  650. s r9=r/r9
  651. simple conn=r9,user=r9
  652. DROP SOURCE d1.s1.s;
  653. ----
  654. COMPLETE 0
  655. simple conn=r9,user=r9
  656. CREATE TABLE d2.s2.t ();
  657. ----
  658. COMPLETE 0
  659. query TT rowsort
  660. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  661. ----
  662. t r10=a/r9
  663. t r9=arwd/r9
  664. simple conn=r9,user=r9
  665. DROP TABLE d2.s2.t;
  666. ----
  667. COMPLETE 0
  668. simple conn=r9,user=r9
  669. CREATE VIEW d2.s2.v AS SELECT 1;
  670. ----
  671. COMPLETE 0
  672. query TT rowsort
  673. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  674. ----
  675. v r9=r/r9
  676. simple conn=r9,user=r9
  677. DROP VIEW d2.s2.v;
  678. ----
  679. COMPLETE 0
  680. simple conn=r9,user=r9
  681. CREATE MATERIALIZED VIEW d2.s2.mv AS SELECT 1;
  682. ----
  683. COMPLETE 0
  684. query TT rowsort
  685. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  686. ----
  687. mv r9=r/r9
  688. simple conn=r9,user=r9
  689. DROP MATERIALIZED VIEW d2.s2.mv;
  690. ----
  691. COMPLETE 0
  692. simple conn=r9,user=r9
  693. CREATE SOURCE d2.s2.s FROM LOAD GENERATOR COUNTER;
  694. ----
  695. COMPLETE 0
  696. query TT rowsort
  697. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  698. ----
  699. s r9=r/r9
  700. simple conn=r9,user=r9
  701. DROP SOURCE d2.s2.s;
  702. ----
  703. COMPLETE 0
  704. simple conn=r11,user=r11
  705. CREATE TABLE d1.s1.t ();
  706. ----
  707. COMPLETE 0
  708. query TT rowsort
  709. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  710. ----
  711. t r12=d/r11
  712. t r11=arwd/r11
  713. simple conn=r11,user=r11
  714. DROP TABLE d1.s1.t;
  715. ----
  716. COMPLETE 0
  717. simple conn=r11,user=r11
  718. CREATE VIEW d1.s1.v AS SELECT 1;
  719. ----
  720. COMPLETE 0
  721. query TT rowsort
  722. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  723. ----
  724. v r11=r/r11
  725. simple conn=r11,user=r11
  726. DROP VIEW d1.s1.v;
  727. ----
  728. COMPLETE 0
  729. simple conn=r11,user=r11
  730. CREATE MATERIALIZED VIEW d1.s1.mv AS SELECT 1;
  731. ----
  732. COMPLETE 0
  733. query TT rowsort
  734. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  735. ----
  736. mv r11=r/r11
  737. simple conn=r11,user=r11
  738. DROP MATERIALIZED VIEW d1.s1.mv;
  739. ----
  740. COMPLETE 0
  741. simple conn=r11,user=r11
  742. CREATE SOURCE d1.s1.s FROM LOAD GENERATOR COUNTER;
  743. ----
  744. COMPLETE 0
  745. query TT rowsort
  746. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  747. ----
  748. s r11=r/r11
  749. simple conn=r11,user=r11
  750. DROP SOURCE d1.s1.s;
  751. ----
  752. COMPLETE 0
  753. simple conn=r11,user=r11
  754. CREATE TABLE d1.s11.t ();
  755. ----
  756. COMPLETE 0
  757. query TT rowsort
  758. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  759. ----
  760. t r11=arwd/r11
  761. simple conn=r11,user=r11
  762. DROP TABLE d1.s11.t;
  763. ----
  764. COMPLETE 0
  765. simple conn=r11,user=r11
  766. CREATE VIEW d1.s11.v AS SELECT 1;
  767. ----
  768. COMPLETE 0
  769. query TT rowsort
  770. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  771. ----
  772. v r11=r/r11
  773. simple conn=r11,user=r11
  774. DROP VIEW d1.s11.v;
  775. ----
  776. COMPLETE 0
  777. simple conn=r11,user=r11
  778. CREATE MATERIALIZED VIEW d1.s11.mv AS SELECT 1;
  779. ----
  780. COMPLETE 0
  781. query TT rowsort
  782. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  783. ----
  784. mv r11=r/r11
  785. simple conn=r11,user=r11
  786. DROP MATERIALIZED VIEW d1.s11.mv;
  787. ----
  788. COMPLETE 0
  789. simple conn=r11,user=r11
  790. CREATE SOURCE d1.s11.s FROM LOAD GENERATOR COUNTER;
  791. ----
  792. COMPLETE 0
  793. query TT rowsort
  794. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  795. ----
  796. s r11=r/r11
  797. simple conn=r11,user=r11
  798. DROP SOURCE d1.s11.s;
  799. ----
  800. COMPLETE 0
  801. simple conn=r11,user=r11
  802. CREATE TABLE d2.s2.t ();
  803. ----
  804. COMPLETE 0
  805. query TT rowsort
  806. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  807. ----
  808. t r12=d/r11
  809. t r11=arwd/r11
  810. simple conn=r11,user=r11
  811. DROP TABLE d2.s2.t;
  812. ----
  813. COMPLETE 0
  814. simple conn=r11,user=r11
  815. CREATE VIEW d2.s2.v AS SELECT 1;
  816. ----
  817. COMPLETE 0
  818. query TT rowsort
  819. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  820. ----
  821. v r11=r/r11
  822. simple conn=r11,user=r11
  823. DROP VIEW d2.s2.v;
  824. ----
  825. COMPLETE 0
  826. simple conn=r11,user=r11
  827. CREATE MATERIALIZED VIEW d2.s2.mv AS SELECT 1;
  828. ----
  829. COMPLETE 0
  830. query TT rowsort
  831. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  832. ----
  833. mv r11=r/r11
  834. simple conn=r11,user=r11
  835. DROP MATERIALIZED VIEW d2.s2.mv;
  836. ----
  837. COMPLETE 0
  838. simple conn=r11,user=r11
  839. CREATE SOURCE d2.s2.s FROM LOAD GENERATOR COUNTER;
  840. ----
  841. COMPLETE 0
  842. query TT rowsort
  843. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  844. ----
  845. s r11=r/r11
  846. simple conn=r11,user=r11
  847. DROP SOURCE d2.s2.s;
  848. ----
  849. COMPLETE 0
  850. simple conn=r11,user=r11
  851. CREATE TABLE d2.s22.t ();
  852. ----
  853. COMPLETE 0
  854. query TT rowsort
  855. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  856. ----
  857. t r11=arwd/r11
  858. simple conn=r11,user=r11
  859. DROP TABLE d2.s22.t;
  860. ----
  861. COMPLETE 0
  862. simple conn=r11,user=r11
  863. CREATE VIEW d2.s22.v AS SELECT 1;
  864. ----
  865. COMPLETE 0
  866. query TT rowsort
  867. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  868. ----
  869. v r11=r/r11
  870. simple conn=r11,user=r11
  871. DROP VIEW d2.s22.v;
  872. ----
  873. COMPLETE 0
  874. simple conn=r11,user=r11
  875. CREATE MATERIALIZED VIEW d2.s22.mv AS SELECT 1;
  876. ----
  877. COMPLETE 0
  878. query TT rowsort
  879. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  880. ----
  881. mv r11=r/r11
  882. simple conn=r11,user=r11
  883. DROP MATERIALIZED VIEW d2.s22.mv;
  884. ----
  885. COMPLETE 0
  886. simple conn=r11,user=r11
  887. CREATE SOURCE d2.s22.s FROM LOAD GENERATOR COUNTER;
  888. ----
  889. COMPLETE 0
  890. query TT rowsort
  891. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  892. ----
  893. s r11=r/r11
  894. simple conn=r11,user=r11
  895. DROP SOURCE d2.s22.s;
  896. ----
  897. COMPLETE 0
  898. ### Revokes
  899. statement ok
  900. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE SELECT ON TABLES FROM r1, r2
  901. query TTTTTT rowsort
  902. SELECT * FROM default_privileges
  903. ----
  904. r6 NULL NULL table r8 r
  905. r7 NULL NULL table r8 r
  906. r9 d1 NULL table r10 a
  907. r9 d2 NULL table r10 a
  908. PUBLIC NULL NULL type PUBLIC U
  909. r11 d1 s1 table r12 d
  910. r11 d2 s2 table r12 d
  911. materialize NULL NULL table r1 a
  912. materialize NULL NULL table r3 arwd
  913. materialize d1 NULL table r4 a
  914. materialize d2 NULL table r4 a
  915. materialize NULL NULL table PUBLIC w
  916. materialize d1 s1 table r5 d
  917. materialize d2 s2 table r5 d
  918. statement ok
  919. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE ALL PRIVILEGES ON TABLES FROM r3
  920. query TTTTTT rowsort
  921. SELECT * FROM default_privileges
  922. ----
  923. r6 NULL NULL table r8 r
  924. r7 NULL NULL table r8 r
  925. r9 d1 NULL table r10 a
  926. r9 d2 NULL table r10 a
  927. PUBLIC NULL NULL type PUBLIC U
  928. r11 d1 s1 table r12 d
  929. r11 d2 s2 table r12 d
  930. materialize NULL NULL table r1 a
  931. materialize d1 NULL table r4 a
  932. materialize d2 NULL table r4 a
  933. materialize NULL NULL table PUBLIC w
  934. materialize d1 s1 table r5 d
  935. materialize d2 s2 table r5 d
  936. statement ok
  937. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 REVOKE INSERT ON TABLES FROM r4
  938. query TTTTTT rowsort
  939. SELECT * FROM default_privileges
  940. ----
  941. r6 NULL NULL table r8 r
  942. r7 NULL NULL table r8 r
  943. r9 d1 NULL table r10 a
  944. r9 d2 NULL table r10 a
  945. PUBLIC NULL NULL type PUBLIC U
  946. r11 d1 s1 table r12 d
  947. r11 d2 s2 table r12 d
  948. materialize NULL NULL table r1 a
  949. materialize NULL NULL table PUBLIC w
  950. materialize d1 s1 table r5 d
  951. materialize d2 s2 table r5 d
  952. statement ok
  953. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA d1.s1, d2.s2 REVOKE DELETE ON TABLES FROM r5
  954. query TTTTTT rowsort
  955. SELECT * FROM default_privileges
  956. ----
  957. r6 NULL NULL table r8 r
  958. r7 NULL NULL table r8 r
  959. r9 d1 NULL table r10 a
  960. r9 d2 NULL table r10 a
  961. PUBLIC NULL NULL type PUBLIC U
  962. r11 d1 s1 table r12 d
  963. r11 d2 s2 table r12 d
  964. materialize NULL NULL table r1 a
  965. materialize NULL NULL table PUBLIC w
  966. statement ok
  967. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 REVOKE SELECT ON TABLES FROM r8
  968. query TTTTTT rowsort
  969. SELECT * FROM default_privileges
  970. ----
  971. r9 d1 NULL table r10 a
  972. r9 d2 NULL table r10 a
  973. PUBLIC NULL NULL type PUBLIC U
  974. r11 d1 s1 table r12 d
  975. r11 d2 s2 table r12 d
  976. materialize NULL NULL table r1 a
  977. materialize NULL NULL table PUBLIC w
  978. statement ok
  979. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 REVOKE INSERT ON TABLES FROM r10
  980. query TTTTTT rowsort
  981. SELECT * FROM default_privileges
  982. ----
  983. PUBLIC NULL NULL type PUBLIC U
  984. r11 d1 s1 table r12 d
  985. r11 d2 s2 table r12 d
  986. materialize NULL NULL table r1 a
  987. materialize NULL NULL table PUBLIC w
  988. statement ok
  989. ALTER DEFAULT PRIVILEGES FOR ROLE r11 IN SCHEMA d1.s1, d2.s2 REVOKE DELETE ON TABLES FROM r12
  990. query TTTTTT rowsort
  991. SELECT * FROM default_privileges
  992. ----
  993. PUBLIC NULL NULL type PUBLIC U
  994. materialize NULL NULL table r1 a
  995. materialize NULL NULL table PUBLIC w
  996. statement ok
  997. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE UPDATE ON TABLES FROM PUBLIC
  998. query TTTTTT rowsort
  999. SELECT * FROM default_privileges
  1000. ----
  1001. PUBLIC NULL NULL type PUBLIC U
  1002. materialize NULL NULL table r1 a
  1003. statement ok
  1004. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE INSERT ON TABLES FROM r1
  1005. query TTTTTT rowsort
  1006. SELECT * FROM default_privileges
  1007. ----
  1008. PUBLIC NULL NULL type PUBLIC U
  1009. statement ok
  1010. CREATE TABLE materialize.public.t ()
  1011. query TT rowsort
  1012. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1013. ----
  1014. t materialize=arwd/materialize
  1015. statement ok
  1016. DROP TABLE t
  1017. statement ok
  1018. CREATE VIEW materialize.public.v AS SELECT 1
  1019. query TT rowsort
  1020. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1021. ----
  1022. v materialize=r/materialize
  1023. statement ok
  1024. DROP VIEW v
  1025. statement ok
  1026. CREATE MATERIALIZED VIEW materialize.public.mv AS SELECT 1
  1027. query TT rowsort
  1028. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1029. ----
  1030. mv materialize=r/materialize
  1031. statement ok
  1032. DROP MATERIALIZED VIEW mv
  1033. statement ok
  1034. CREATE SOURCE materialize.public.s FROM LOAD GENERATOR COUNTER
  1035. query TT rowsort
  1036. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1037. ----
  1038. s materialize=r/materialize
  1039. statement ok
  1040. DROP SOURCE s
  1041. statement ok
  1042. CREATE TABLE d1.s11.t ()
  1043. query TT rowsort
  1044. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1045. ----
  1046. t materialize=arwd/materialize
  1047. statement ok
  1048. DROP TABLE d1.s11.t
  1049. statement ok
  1050. CREATE VIEW d1.s11.v AS SELECT 1
  1051. query TT rowsort
  1052. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1053. ----
  1054. v materialize=r/materialize
  1055. statement ok
  1056. DROP VIEW d1.s11.v
  1057. statement ok
  1058. CREATE MATERIALIZED VIEW d1.s11.mv AS SELECT 1
  1059. query TT rowsort
  1060. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1061. ----
  1062. mv materialize=r/materialize
  1063. statement ok
  1064. DROP MATERIALIZED VIEW d1.s11.mv
  1065. statement ok
  1066. CREATE SOURCE d1.s11.s FROM LOAD GENERATOR COUNTER
  1067. query TT rowsort
  1068. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1069. ----
  1070. s materialize=r/materialize
  1071. statement ok
  1072. DROP SOURCE d1.s11.s
  1073. statement ok
  1074. CREATE TABLE d2.s22.t ()
  1075. query TT rowsort
  1076. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1077. ----
  1078. t materialize=arwd/materialize
  1079. statement ok
  1080. DROP TABLE d2.s22.t
  1081. statement ok
  1082. CREATE VIEW d2.s22.v AS SELECT 1
  1083. query TT rowsort
  1084. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1085. ----
  1086. v materialize=r/materialize
  1087. statement ok
  1088. DROP VIEW d2.s22.v
  1089. statement ok
  1090. CREATE MATERIALIZED VIEW d2.s22.mv AS SELECT 1
  1091. query TT rowsort
  1092. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1093. ----
  1094. mv materialize=r/materialize
  1095. statement ok
  1096. DROP MATERIALIZED VIEW d2.s22.mv
  1097. statement ok
  1098. CREATE SOURCE d2.s22.s FROM LOAD GENERATOR COUNTER
  1099. query TT rowsort
  1100. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1101. ----
  1102. s materialize=r/materialize
  1103. statement ok
  1104. DROP SOURCE d2.s22.s
  1105. statement ok
  1106. CREATE TABLE d1.s1.t ()
  1107. query TT rowsort
  1108. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1109. ----
  1110. t materialize=arwd/materialize
  1111. statement ok
  1112. DROP TABLE d1.s1.t
  1113. statement ok
  1114. CREATE VIEW d1.s1.v AS SELECT 1
  1115. query TT rowsort
  1116. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1117. ----
  1118. v materialize=r/materialize
  1119. statement ok
  1120. DROP VIEW d1.s1.v
  1121. statement ok
  1122. CREATE MATERIALIZED VIEW d1.s1.mv AS SELECT 1
  1123. query TT rowsort
  1124. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1125. ----
  1126. mv materialize=r/materialize
  1127. statement ok
  1128. DROP MATERIALIZED VIEW d1.s1.mv
  1129. statement ok
  1130. CREATE SOURCE d1.s1.s FROM LOAD GENERATOR COUNTER
  1131. query TT rowsort
  1132. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1133. ----
  1134. s materialize=r/materialize
  1135. statement ok
  1136. DROP SOURCE d1.s1.s
  1137. statement ok
  1138. CREATE TABLE d2.s2.t ()
  1139. query TT rowsort
  1140. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1141. ----
  1142. t materialize=arwd/materialize
  1143. statement ok
  1144. DROP TABLE d2.s2.t
  1145. statement ok
  1146. CREATE VIEW d2.s2.v AS SELECT 1
  1147. query TT rowsort
  1148. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1149. ----
  1150. v materialize=r/materialize
  1151. statement ok
  1152. DROP VIEW d2.s2.v
  1153. statement ok
  1154. CREATE MATERIALIZED VIEW d2.s2.mv AS SELECT 1
  1155. query TT rowsort
  1156. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1157. ----
  1158. mv materialize=r/materialize
  1159. statement ok
  1160. DROP MATERIALIZED VIEW d2.s2.mv
  1161. statement ok
  1162. CREATE SOURCE d2.s2.s FROM LOAD GENERATOR COUNTER
  1163. query TT rowsort
  1164. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1165. ----
  1166. s materialize=r/materialize
  1167. statement ok
  1168. DROP SOURCE d2.s2.s
  1169. simple conn=r6,user=r6
  1170. CREATE TABLE materialize.public.t ();
  1171. ----
  1172. COMPLETE 0
  1173. query TT rowsort
  1174. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1175. ----
  1176. t r6=arwd/r6
  1177. simple conn=r6,user=r6
  1178. DROP TABLE materialize.public.t;
  1179. ----
  1180. COMPLETE 0
  1181. simple conn=r6,user=r6
  1182. CREATE VIEW materialize.public.v AS SELECT 1;
  1183. ----
  1184. COMPLETE 0
  1185. query TT rowsort
  1186. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1187. ----
  1188. v r6=r/r6
  1189. simple conn=r6,user=r6
  1190. DROP VIEW materialize.public.v;
  1191. ----
  1192. COMPLETE 0
  1193. simple conn=r6,user=r6
  1194. CREATE MATERIALIZED VIEW materialize.public.mv AS SELECT 1;
  1195. ----
  1196. COMPLETE 0
  1197. query TT rowsort
  1198. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1199. ----
  1200. mv r6=r/r6
  1201. simple conn=r6,user=r6
  1202. DROP MATERIALIZED VIEW materialize.public.mv;
  1203. ----
  1204. COMPLETE 0
  1205. simple conn=r6,user=r6
  1206. CREATE SOURCE materialize.public.s FROM LOAD GENERATOR COUNTER;
  1207. ----
  1208. COMPLETE 0
  1209. query TT rowsort
  1210. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1211. ----
  1212. s r6=r/r6
  1213. simple conn=r6,user=r6
  1214. DROP SOURCE materialize.public.s;
  1215. ----
  1216. COMPLETE 0
  1217. simple conn=r7,user=r7
  1218. CREATE TABLE materialize.public.t ();
  1219. ----
  1220. COMPLETE 0
  1221. query TT rowsort
  1222. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1223. ----
  1224. t r7=arwd/r7
  1225. simple conn=r7,user=r7
  1226. DROP TABLE materialize.public.t;
  1227. ----
  1228. COMPLETE 0
  1229. simple conn=r7,user=r7
  1230. CREATE VIEW materialize.public.v AS SELECT 1;
  1231. ----
  1232. COMPLETE 0
  1233. query TT rowsort
  1234. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1235. ----
  1236. v r7=r/r7
  1237. simple conn=r7,user=r7
  1238. DROP VIEW materialize.public.v;
  1239. ----
  1240. COMPLETE 0
  1241. simple conn=r7,user=r7
  1242. CREATE MATERIALIZED VIEW materialize.public.mv AS SELECT 1;
  1243. ----
  1244. COMPLETE 0
  1245. query TT rowsort
  1246. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1247. ----
  1248. mv r7=r/r7
  1249. simple conn=r7,user=r7
  1250. DROP MATERIALIZED VIEW materialize.public.mv;
  1251. ----
  1252. COMPLETE 0
  1253. simple conn=r7,user=r7
  1254. CREATE SOURCE materialize.public.s FROM LOAD GENERATOR COUNTER;
  1255. ----
  1256. COMPLETE 0
  1257. query TT rowsort
  1258. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1259. ----
  1260. s r7=r/r7
  1261. simple conn=r7,user=r7
  1262. DROP SOURCE materialize.public.s;
  1263. ----
  1264. COMPLETE 0
  1265. simple conn=r9,user=r9
  1266. CREATE TABLE d1.s1.t ();
  1267. ----
  1268. COMPLETE 0
  1269. query TT rowsort
  1270. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1271. ----
  1272. t r9=arwd/r9
  1273. simple conn=r9,user=r9
  1274. DROP TABLE d1.s1.t;
  1275. ----
  1276. COMPLETE 0
  1277. simple conn=r9,user=r9
  1278. CREATE VIEW d1.s1.v AS SELECT 1;
  1279. ----
  1280. COMPLETE 0
  1281. query TT rowsort
  1282. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1283. ----
  1284. v r9=r/r9
  1285. simple conn=r9,user=r9
  1286. DROP VIEW d1.s1.v;
  1287. ----
  1288. COMPLETE 0
  1289. simple conn=r9,user=r9
  1290. CREATE MATERIALIZED VIEW d1.s1.mv AS SELECT 1;
  1291. ----
  1292. COMPLETE 0
  1293. query TT rowsort
  1294. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1295. ----
  1296. mv r9=r/r9
  1297. simple conn=r9,user=r9
  1298. DROP MATERIALIZED VIEW d1.s1.mv;
  1299. ----
  1300. COMPLETE 0
  1301. simple conn=r9,user=r9
  1302. CREATE SOURCE d1.s1.s FROM LOAD GENERATOR COUNTER;
  1303. ----
  1304. COMPLETE 0
  1305. query TT rowsort
  1306. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1307. ----
  1308. s r9=r/r9
  1309. simple conn=r9,user=r9
  1310. DROP SOURCE d1.s1.s;
  1311. ----
  1312. COMPLETE 0
  1313. simple conn=r9,user=r9
  1314. CREATE TABLE d2.s2.t ();
  1315. ----
  1316. COMPLETE 0
  1317. query TT rowsort
  1318. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1319. ----
  1320. t r9=arwd/r9
  1321. simple conn=r9,user=r9
  1322. DROP TABLE d2.s2.t;
  1323. ----
  1324. COMPLETE 0
  1325. simple conn=r9,user=r9
  1326. CREATE VIEW d2.s2.v AS SELECT 1;
  1327. ----
  1328. COMPLETE 0
  1329. query TT rowsort
  1330. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1331. ----
  1332. v r9=r/r9
  1333. simple conn=r9,user=r9
  1334. DROP VIEW d2.s2.v;
  1335. ----
  1336. COMPLETE 0
  1337. simple conn=r9,user=r9
  1338. CREATE MATERIALIZED VIEW d2.s2.mv AS SELECT 1;
  1339. ----
  1340. COMPLETE 0
  1341. query TT rowsort
  1342. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1343. ----
  1344. mv r9=r/r9
  1345. simple conn=r9,user=r9
  1346. DROP MATERIALIZED VIEW d2.s2.mv;
  1347. ----
  1348. COMPLETE 0
  1349. simple conn=r9,user=r9
  1350. CREATE SOURCE d2.s2.s FROM LOAD GENERATOR COUNTER;
  1351. ----
  1352. COMPLETE 0
  1353. query TT rowsort
  1354. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1355. ----
  1356. s r9=r/r9
  1357. simple conn=r9,user=r9
  1358. DROP SOURCE d2.s2.s;
  1359. ----
  1360. COMPLETE 0
  1361. simple conn=r11,user=r11
  1362. CREATE TABLE d1.s1.t ();
  1363. ----
  1364. COMPLETE 0
  1365. query TT rowsort
  1366. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1367. ----
  1368. t r11=arwd/r11
  1369. simple conn=r11,user=r11
  1370. DROP TABLE d1.s1.t;
  1371. ----
  1372. COMPLETE 0
  1373. simple conn=r11,user=r11
  1374. CREATE VIEW d1.s1.v AS SELECT 1;
  1375. ----
  1376. COMPLETE 0
  1377. query TT rowsort
  1378. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1379. ----
  1380. v r11=r/r11
  1381. simple conn=r11,user=r11
  1382. DROP VIEW d1.s1.v;
  1383. ----
  1384. COMPLETE 0
  1385. simple conn=r11,user=r11
  1386. CREATE MATERIALIZED VIEW d1.s1.mv AS SELECT 1;
  1387. ----
  1388. COMPLETE 0
  1389. query TT rowsort
  1390. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1391. ----
  1392. mv r11=r/r11
  1393. simple conn=r11,user=r11
  1394. DROP MATERIALIZED VIEW d1.s1.mv;
  1395. ----
  1396. COMPLETE 0
  1397. simple conn=r11,user=r11
  1398. CREATE SOURCE d1.s1.s FROM LOAD GENERATOR COUNTER;
  1399. ----
  1400. COMPLETE 0
  1401. query TT rowsort
  1402. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1403. ----
  1404. s r11=r/r11
  1405. simple conn=r11,user=r11
  1406. DROP SOURCE d1.s1.s;
  1407. ----
  1408. COMPLETE 0
  1409. simple conn=r11,user=r11
  1410. CREATE TABLE d1.s11.t ();
  1411. ----
  1412. COMPLETE 0
  1413. query TT rowsort
  1414. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1415. ----
  1416. t r11=arwd/r11
  1417. simple conn=r11,user=r11
  1418. DROP TABLE d1.s11.t;
  1419. ----
  1420. COMPLETE 0
  1421. simple conn=r11,user=r11
  1422. CREATE VIEW d1.s11.v AS SELECT 1;
  1423. ----
  1424. COMPLETE 0
  1425. query TT rowsort
  1426. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1427. ----
  1428. v r11=r/r11
  1429. simple conn=r11,user=r11
  1430. DROP VIEW d1.s11.v;
  1431. ----
  1432. COMPLETE 0
  1433. simple conn=r11,user=r11
  1434. CREATE MATERIALIZED VIEW d1.s11.mv AS SELECT 1;
  1435. ----
  1436. COMPLETE 0
  1437. query TT rowsort
  1438. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1439. ----
  1440. mv r11=r/r11
  1441. simple conn=r11,user=r11
  1442. DROP MATERIALIZED VIEW d1.s11.mv;
  1443. ----
  1444. COMPLETE 0
  1445. simple conn=r11,user=r11
  1446. CREATE SOURCE d1.s11.s FROM LOAD GENERATOR COUNTER;
  1447. ----
  1448. COMPLETE 0
  1449. query TT rowsort
  1450. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1451. ----
  1452. s r11=r/r11
  1453. simple conn=r11,user=r11
  1454. DROP SOURCE d1.s11.s;
  1455. ----
  1456. COMPLETE 0
  1457. simple conn=r11,user=r11
  1458. CREATE TABLE d2.s2.t ();
  1459. ----
  1460. COMPLETE 0
  1461. query TT rowsort
  1462. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1463. ----
  1464. t r11=arwd/r11
  1465. simple conn=r11,user=r11
  1466. DROP TABLE d2.s2.t;
  1467. ----
  1468. COMPLETE 0
  1469. simple conn=r11,user=r11
  1470. CREATE VIEW d2.s2.v AS SELECT 1;
  1471. ----
  1472. COMPLETE 0
  1473. query TT rowsort
  1474. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1475. ----
  1476. v r11=r/r11
  1477. simple conn=r11,user=r11
  1478. DROP VIEW d2.s2.v;
  1479. ----
  1480. COMPLETE 0
  1481. simple conn=r11,user=r11
  1482. CREATE MATERIALIZED VIEW d2.s2.mv AS SELECT 1;
  1483. ----
  1484. COMPLETE 0
  1485. query TT rowsort
  1486. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1487. ----
  1488. mv r11=r/r11
  1489. simple conn=r11,user=r11
  1490. DROP MATERIALIZED VIEW d2.s2.mv;
  1491. ----
  1492. COMPLETE 0
  1493. simple conn=r11,user=r11
  1494. CREATE SOURCE d2.s2.s FROM LOAD GENERATOR COUNTER;
  1495. ----
  1496. COMPLETE 0
  1497. query TT rowsort
  1498. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1499. ----
  1500. s r11=r/r11
  1501. simple conn=r11,user=r11
  1502. DROP SOURCE d2.s2.s;
  1503. ----
  1504. COMPLETE 0
  1505. simple conn=r11,user=r11
  1506. CREATE TABLE d2.s22.t ();
  1507. ----
  1508. COMPLETE 0
  1509. query TT rowsort
  1510. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  1511. ----
  1512. t r11=arwd/r11
  1513. simple conn=r11,user=r11
  1514. DROP TABLE d2.s22.t;
  1515. ----
  1516. COMPLETE 0
  1517. simple conn=r11,user=r11
  1518. CREATE VIEW d2.s22.v AS SELECT 1;
  1519. ----
  1520. COMPLETE 0
  1521. query TT rowsort
  1522. SELECT name, unnest(privileges)::text FROM mz_views WHERE name = 'v'
  1523. ----
  1524. v r11=r/r11
  1525. simple conn=r11,user=r11
  1526. DROP VIEW d2.s22.v;
  1527. ----
  1528. COMPLETE 0
  1529. simple conn=r11,user=r11
  1530. CREATE MATERIALIZED VIEW d2.s22.mv AS SELECT 1;
  1531. ----
  1532. COMPLETE 0
  1533. query TT rowsort
  1534. SELECT name, unnest(privileges)::text FROM mz_materialized_views WHERE name = 'mv'
  1535. ----
  1536. mv r11=r/r11
  1537. simple conn=r11,user=r11
  1538. DROP MATERIALIZED VIEW d2.s22.mv;
  1539. ----
  1540. COMPLETE 0
  1541. simple conn=r11,user=r11
  1542. CREATE SOURCE d2.s22.s FROM LOAD GENERATOR COUNTER;
  1543. ----
  1544. COMPLETE 0
  1545. query TT rowsort
  1546. SELECT name, unnest(privileges)::text FROM mz_sources WHERE name = 's'
  1547. ----
  1548. s r11=r/r11
  1549. simple conn=r11,user=r11
  1550. DROP SOURCE d2.s22.s;
  1551. ----
  1552. COMPLETE 0
  1553. ## Types
  1554. ### Grants
  1555. statement ok
  1556. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON TYPES TO r1, r2
  1557. query TTTTTT rowsort
  1558. SELECT * FROM default_privileges
  1559. ----
  1560. PUBLIC NULL NULL type PUBLIC U
  1561. materialize NULL NULL type r1 U
  1562. materialize NULL NULL type r2 U
  1563. statement ok
  1564. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT ALL PRIVILEGES ON TYPES TO r3
  1565. query TTTTTT rowsort
  1566. SELECT * FROM default_privileges
  1567. ----
  1568. PUBLIC NULL NULL type PUBLIC U
  1569. materialize NULL NULL type r1 U
  1570. materialize NULL NULL type r2 U
  1571. materialize NULL NULL type r3 U
  1572. statement ok
  1573. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 GRANT USAGE ON TYPES TO r4
  1574. query TTTTTT rowsort
  1575. SELECT * FROM default_privileges
  1576. ----
  1577. PUBLIC NULL NULL type PUBLIC U
  1578. materialize NULL NULL type r1 U
  1579. materialize NULL NULL type r2 U
  1580. materialize NULL NULL type r3 U
  1581. materialize d1 NULL type r4 U
  1582. materialize d2 NULL type r4 U
  1583. statement ok
  1584. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA d1.s1, d2.s2 GRANT USAGE ON TYPES TO r5
  1585. query TTTTTT rowsort
  1586. SELECT * FROM default_privileges
  1587. ----
  1588. PUBLIC NULL NULL type PUBLIC U
  1589. materialize NULL NULL type r1 U
  1590. materialize NULL NULL type r2 U
  1591. materialize NULL NULL type r3 U
  1592. materialize d1 NULL type r4 U
  1593. materialize d2 NULL type r4 U
  1594. materialize d1 s1 type r5 U
  1595. materialize d2 s2 type r5 U
  1596. statement ok
  1597. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 GRANT USAGE ON TYPES TO r8
  1598. query TTTTTT rowsort
  1599. SELECT * FROM default_privileges
  1600. ----
  1601. r6 NULL NULL type r8 U
  1602. r7 NULL NULL type r8 U
  1603. PUBLIC NULL NULL type PUBLIC U
  1604. materialize NULL NULL type r1 U
  1605. materialize NULL NULL type r2 U
  1606. materialize NULL NULL type r3 U
  1607. materialize d1 NULL type r4 U
  1608. materialize d2 NULL type r4 U
  1609. materialize d1 s1 type r5 U
  1610. materialize d2 s2 type r5 U
  1611. statement ok
  1612. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 GRANT USAGE ON TYPES TO r10
  1613. query TTTTTT rowsort
  1614. SELECT * FROM default_privileges
  1615. ----
  1616. r6 NULL NULL type r8 U
  1617. r7 NULL NULL type r8 U
  1618. r9 d1 NULL type r10 U
  1619. r9 d2 NULL type r10 U
  1620. PUBLIC NULL NULL type PUBLIC U
  1621. materialize NULL NULL type r1 U
  1622. materialize NULL NULL type r2 U
  1623. materialize NULL NULL type r3 U
  1624. materialize d1 NULL type r4 U
  1625. materialize d2 NULL type r4 U
  1626. materialize d1 s1 type r5 U
  1627. materialize d2 s2 type r5 U
  1628. statement ok
  1629. ALTER DEFAULT PRIVILEGES FOR ROLE r11 IN SCHEMA d1.s1, d2.s2 GRANT USAGE ON TYPES TO r12
  1630. query TTTTTT rowsort
  1631. SELECT * FROM default_privileges
  1632. ----
  1633. r6 NULL NULL type r8 U
  1634. r7 NULL NULL type r8 U
  1635. r9 d1 NULL type r10 U
  1636. r9 d2 NULL type r10 U
  1637. r11 d1 s1 type r12 U
  1638. r11 d2 s2 type r12 U
  1639. PUBLIC NULL NULL type PUBLIC U
  1640. materialize NULL NULL type r1 U
  1641. materialize NULL NULL type r2 U
  1642. materialize NULL NULL type r3 U
  1643. materialize d1 NULL type r4 U
  1644. materialize d2 NULL type r4 U
  1645. materialize d1 s1 type r5 U
  1646. materialize d2 s2 type r5 U
  1647. statement ok
  1648. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON TYPES TO PUBLIC
  1649. query TTTTTT rowsort
  1650. SELECT * FROM default_privileges
  1651. ----
  1652. r6 NULL NULL type r8 U
  1653. r7 NULL NULL type r8 U
  1654. r9 d1 NULL type r10 U
  1655. r9 d2 NULL type r10 U
  1656. r11 d1 s1 type r12 U
  1657. r11 d2 s2 type r12 U
  1658. PUBLIC NULL NULL type PUBLIC U
  1659. materialize NULL NULL type r1 U
  1660. materialize NULL NULL type r2 U
  1661. materialize NULL NULL type r3 U
  1662. materialize d1 NULL type r4 U
  1663. materialize d2 NULL type r4 U
  1664. materialize NULL NULL type PUBLIC U
  1665. materialize d1 s1 type r5 U
  1666. materialize d2 s2 type r5 U
  1667. statement ok
  1668. CREATE TYPE materialize.public.ty as (a int)
  1669. query TT rowsort
  1670. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1671. ----
  1672. ty =U/materialize
  1673. ty r1=U/materialize
  1674. ty r2=U/materialize
  1675. ty r3=U/materialize
  1676. ty materialize=U/materialize
  1677. statement ok
  1678. DROP TYPE ty
  1679. statement ok
  1680. CREATE TYPE d1.s11.ty as (a int)
  1681. query TT rowsort
  1682. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1683. ----
  1684. ty =U/materialize
  1685. ty r1=U/materialize
  1686. ty r2=U/materialize
  1687. ty r3=U/materialize
  1688. ty r4=U/materialize
  1689. ty materialize=U/materialize
  1690. statement ok
  1691. DROP TYPE d1.s11.ty
  1692. statement ok
  1693. CREATE TYPE d2.s22.ty as (a int)
  1694. query TT rowsort
  1695. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1696. ----
  1697. ty =U/materialize
  1698. ty r1=U/materialize
  1699. ty r2=U/materialize
  1700. ty r3=U/materialize
  1701. ty r4=U/materialize
  1702. ty materialize=U/materialize
  1703. statement ok
  1704. DROP TYPE d2.s22.ty
  1705. statement ok
  1706. CREATE TYPE d1.s1.ty as (a int)
  1707. query TT rowsort
  1708. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1709. ----
  1710. ty =U/materialize
  1711. ty r1=U/materialize
  1712. ty r2=U/materialize
  1713. ty r3=U/materialize
  1714. ty r4=U/materialize
  1715. ty r5=U/materialize
  1716. ty materialize=U/materialize
  1717. statement ok
  1718. DROP TYPE d1.s1.ty
  1719. statement ok
  1720. CREATE TYPE d2.s2.ty as (a int)
  1721. query TT rowsort
  1722. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1723. ----
  1724. ty =U/materialize
  1725. ty r1=U/materialize
  1726. ty r2=U/materialize
  1727. ty r3=U/materialize
  1728. ty r4=U/materialize
  1729. ty r5=U/materialize
  1730. ty materialize=U/materialize
  1731. statement ok
  1732. DROP TYPE d2.s2.ty
  1733. simple conn=r6,user=r6
  1734. CREATE TYPE materialize.public.ty as (a int)
  1735. ----
  1736. COMPLETE 0
  1737. query TT rowsort
  1738. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1739. ----
  1740. ty =U/r6
  1741. ty r6=U/r6
  1742. ty r8=U/r6
  1743. simple conn=r6,user=r6
  1744. DROP TYPE materialize.public.ty;
  1745. ----
  1746. COMPLETE 0
  1747. simple conn=r7,user=r7
  1748. CREATE TYPE materialize.public.ty as (a int)
  1749. ----
  1750. COMPLETE 0
  1751. query TT rowsort
  1752. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1753. ----
  1754. ty =U/r7
  1755. ty r7=U/r7
  1756. ty r8=U/r7
  1757. simple conn=r7,user=r7
  1758. DROP TYPE materialize.public.ty;
  1759. ----
  1760. COMPLETE 0
  1761. simple conn=r9,user=r9
  1762. CREATE TYPE d1.s1.ty as (a int)
  1763. ----
  1764. COMPLETE 0
  1765. query TT rowsort
  1766. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1767. ----
  1768. ty =U/r9
  1769. ty r9=U/r9
  1770. ty r10=U/r9
  1771. simple conn=r9,user=r9
  1772. DROP TYPE d1.s1.ty;
  1773. ----
  1774. COMPLETE 0
  1775. simple conn=r9,user=r9
  1776. CREATE TYPE d2.s2.ty as (a int)
  1777. ----
  1778. COMPLETE 0
  1779. query TT rowsort
  1780. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1781. ----
  1782. ty =U/r9
  1783. ty r9=U/r9
  1784. ty r10=U/r9
  1785. simple conn=r9,user=r9
  1786. DROP TYPE d2.s2.ty;
  1787. ----
  1788. COMPLETE 0
  1789. simple conn=r11,user=r11
  1790. CREATE TYPE d1.s1.ty as (a int)
  1791. ----
  1792. COMPLETE 0
  1793. query TT rowsort
  1794. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1795. ----
  1796. ty =U/r11
  1797. ty r11=U/r11
  1798. ty r12=U/r11
  1799. simple conn=r11,user=r11
  1800. DROP TYPE d1.s1.ty;
  1801. ----
  1802. COMPLETE 0
  1803. simple conn=r11,user=r11
  1804. CREATE TYPE d1.s11.ty as (a int)
  1805. ----
  1806. COMPLETE 0
  1807. query TT rowsort
  1808. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1809. ----
  1810. ty =U/r11
  1811. ty r11=U/r11
  1812. simple conn=r11,user=r11
  1813. DROP TYPE d1.s11.ty;
  1814. ----
  1815. COMPLETE 0
  1816. simple conn=r11,user=r11
  1817. CREATE TYPE d2.s2.ty as (a int)
  1818. ----
  1819. COMPLETE 0
  1820. query TT rowsort
  1821. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1822. ----
  1823. ty =U/r11
  1824. ty r11=U/r11
  1825. ty r12=U/r11
  1826. simple conn=r11,user=r11
  1827. DROP TYPE d2.s2.ty;
  1828. ----
  1829. COMPLETE 0
  1830. simple conn=r11,user=r11
  1831. CREATE TYPE d2.s22.ty as (a int)
  1832. ----
  1833. COMPLETE 0
  1834. query TT rowsort
  1835. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1836. ----
  1837. ty =U/r11
  1838. ty r11=U/r11
  1839. simple conn=r11,user=r11
  1840. DROP TYPE d2.s22.ty;
  1841. ----
  1842. COMPLETE 0
  1843. ### Revokes
  1844. statement ok
  1845. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON TYPES FROM r1, r2
  1846. query TTTTTT rowsort
  1847. SELECT * FROM default_privileges
  1848. ----
  1849. r6 NULL NULL type r8 U
  1850. r7 NULL NULL type r8 U
  1851. r9 d1 NULL type r10 U
  1852. r9 d2 NULL type r10 U
  1853. r11 d1 s1 type r12 U
  1854. r11 d2 s2 type r12 U
  1855. PUBLIC NULL NULL type PUBLIC U
  1856. materialize NULL NULL type r3 U
  1857. materialize d1 NULL type r4 U
  1858. materialize d2 NULL type r4 U
  1859. materialize NULL NULL type PUBLIC U
  1860. materialize d1 s1 type r5 U
  1861. materialize d2 s2 type r5 U
  1862. statement ok
  1863. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE ALL PRIVILEGES ON TYPES FROM r3
  1864. query TTTTTT rowsort
  1865. SELECT * FROM default_privileges
  1866. ----
  1867. r6 NULL NULL type r8 U
  1868. r7 NULL NULL type r8 U
  1869. r9 d1 NULL type r10 U
  1870. r9 d2 NULL type r10 U
  1871. r11 d1 s1 type r12 U
  1872. r11 d2 s2 type r12 U
  1873. PUBLIC NULL NULL type PUBLIC U
  1874. materialize d1 NULL type r4 U
  1875. materialize d2 NULL type r4 U
  1876. materialize NULL NULL type PUBLIC U
  1877. materialize d1 s1 type r5 U
  1878. materialize d2 s2 type r5 U
  1879. statement ok
  1880. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 REVOKE USAGE ON TYPES FROM r4
  1881. query TTTTTT rowsort
  1882. SELECT * FROM default_privileges
  1883. ----
  1884. r6 NULL NULL type r8 U
  1885. r7 NULL NULL type r8 U
  1886. r9 d1 NULL type r10 U
  1887. r9 d2 NULL type r10 U
  1888. r11 d1 s1 type r12 U
  1889. r11 d2 s2 type r12 U
  1890. PUBLIC NULL NULL type PUBLIC U
  1891. materialize NULL NULL type PUBLIC U
  1892. materialize d1 s1 type r5 U
  1893. materialize d2 s2 type r5 U
  1894. statement ok
  1895. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA d1.s1, d2.s2 REVOKE USAGE ON TYPES FROM r5
  1896. query TTTTTT rowsort
  1897. SELECT * FROM default_privileges
  1898. ----
  1899. r6 NULL NULL type r8 U
  1900. r7 NULL NULL type r8 U
  1901. r9 d1 NULL type r10 U
  1902. r9 d2 NULL type r10 U
  1903. r11 d1 s1 type r12 U
  1904. r11 d2 s2 type r12 U
  1905. PUBLIC NULL NULL type PUBLIC U
  1906. materialize NULL NULL type PUBLIC U
  1907. statement ok
  1908. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 REVOKE USAGE ON TYPES FROM r8
  1909. query TTTTTT rowsort
  1910. SELECT * FROM default_privileges
  1911. ----
  1912. r9 d1 NULL type r10 U
  1913. r9 d2 NULL type r10 U
  1914. r11 d1 s1 type r12 U
  1915. r11 d2 s2 type r12 U
  1916. PUBLIC NULL NULL type PUBLIC U
  1917. materialize NULL NULL type PUBLIC U
  1918. statement ok
  1919. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 REVOKE USAGE ON TYPES FROM r10
  1920. query TTTTTT rowsort
  1921. SELECT * FROM default_privileges
  1922. ----
  1923. r11 d1 s1 type r12 U
  1924. r11 d2 s2 type r12 U
  1925. PUBLIC NULL NULL type PUBLIC U
  1926. materialize NULL NULL type PUBLIC U
  1927. statement ok
  1928. ALTER DEFAULT PRIVILEGES FOR ROLE r11 IN SCHEMA d1.s1, d2.s2 REVOKE USAGE ON TYPES FROM r12
  1929. query TTTTTT rowsort
  1930. SELECT * FROM default_privileges
  1931. ----
  1932. PUBLIC NULL NULL type PUBLIC U
  1933. materialize NULL NULL type PUBLIC U
  1934. statement ok
  1935. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON TYPES FROM PUBLIC
  1936. query TTTTTT rowsort
  1937. SELECT * FROM default_privileges
  1938. ----
  1939. PUBLIC NULL NULL type PUBLIC U
  1940. statement ok
  1941. CREATE TYPE materialize.public.ty as (a int)
  1942. query TT rowsort
  1943. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1944. ----
  1945. ty =U/materialize
  1946. ty materialize=U/materialize
  1947. statement ok
  1948. DROP TYPE ty
  1949. statement ok
  1950. CREATE TYPE d1.s11.ty as (a int)
  1951. query TT rowsort
  1952. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1953. ----
  1954. ty =U/materialize
  1955. ty materialize=U/materialize
  1956. statement ok
  1957. DROP TYPE d1.s11.ty
  1958. statement ok
  1959. CREATE TYPE d2.s22.ty as (a int)
  1960. query TT rowsort
  1961. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1962. ----
  1963. ty =U/materialize
  1964. ty materialize=U/materialize
  1965. statement ok
  1966. DROP TYPE d2.s22.ty
  1967. statement ok
  1968. CREATE TYPE d1.s1.ty as (a int)
  1969. query TT rowsort
  1970. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1971. ----
  1972. ty =U/materialize
  1973. ty materialize=U/materialize
  1974. statement ok
  1975. DROP TYPE d1.s1.ty
  1976. statement ok
  1977. CREATE TYPE d2.s2.ty as (a int)
  1978. query TT rowsort
  1979. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1980. ----
  1981. ty =U/materialize
  1982. ty materialize=U/materialize
  1983. statement ok
  1984. DROP TYPE d2.s2.ty
  1985. simple conn=r6,user=r6
  1986. CREATE TYPE materialize.public.ty as (a int)
  1987. ----
  1988. COMPLETE 0
  1989. query TT rowsort
  1990. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  1991. ----
  1992. ty =U/r6
  1993. ty r6=U/r6
  1994. simple conn=r6,user=r6
  1995. DROP TYPE materialize.public.ty;
  1996. ----
  1997. COMPLETE 0
  1998. simple conn=r7,user=r7
  1999. CREATE TYPE materialize.public.ty as (a int)
  2000. ----
  2001. COMPLETE 0
  2002. query TT rowsort
  2003. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  2004. ----
  2005. ty =U/r7
  2006. ty r7=U/r7
  2007. simple conn=r7,user=r7
  2008. DROP TYPE materialize.public.ty;
  2009. ----
  2010. COMPLETE 0
  2011. simple conn=r9,user=r9
  2012. CREATE TYPE d1.s1.ty as (a int)
  2013. ----
  2014. COMPLETE 0
  2015. query TT rowsort
  2016. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  2017. ----
  2018. ty =U/r9
  2019. ty r9=U/r9
  2020. simple conn=r9,user=r9
  2021. DROP TYPE d1.s1.ty;
  2022. ----
  2023. COMPLETE 0
  2024. simple conn=r9,user=r9
  2025. CREATE TYPE d2.s2.ty as (a int)
  2026. ----
  2027. COMPLETE 0
  2028. query TT rowsort
  2029. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  2030. ----
  2031. ty =U/r9
  2032. ty r9=U/r9
  2033. simple conn=r9,user=r9
  2034. DROP TYPE d2.s2.ty;
  2035. ----
  2036. COMPLETE 0
  2037. simple conn=r11,user=r11
  2038. CREATE TYPE d1.s1.ty as (a int)
  2039. ----
  2040. COMPLETE 0
  2041. query TT rowsort
  2042. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  2043. ----
  2044. ty =U/r11
  2045. ty r11=U/r11
  2046. simple conn=r11,user=r11
  2047. DROP TYPE d1.s1.ty;
  2048. ----
  2049. COMPLETE 0
  2050. simple conn=r11,user=r11
  2051. CREATE TYPE d1.s11.ty as (a int)
  2052. ----
  2053. COMPLETE 0
  2054. query TT rowsort
  2055. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  2056. ----
  2057. ty =U/r11
  2058. ty r11=U/r11
  2059. simple conn=r11,user=r11
  2060. DROP TYPE d1.s11.ty;
  2061. ----
  2062. COMPLETE 0
  2063. simple conn=r11,user=r11
  2064. CREATE TYPE d2.s2.ty as (a int)
  2065. ----
  2066. COMPLETE 0
  2067. query TT rowsort
  2068. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  2069. ----
  2070. ty =U/r11
  2071. ty r11=U/r11
  2072. simple conn=r11,user=r11
  2073. DROP TYPE d2.s2.ty;
  2074. ----
  2075. COMPLETE 0
  2076. simple conn=r11,user=r11
  2077. CREATE TYPE d2.s22.ty as (a int)
  2078. ----
  2079. COMPLETE 0
  2080. query TT rowsort
  2081. SELECT name, unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  2082. ----
  2083. ty =U/r11
  2084. ty r11=U/r11
  2085. simple conn=r11,user=r11
  2086. DROP TYPE d2.s22.ty;
  2087. ----
  2088. COMPLETE 0
  2089. ## Secrets
  2090. ### Grants
  2091. statement ok
  2092. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON SECRETS TO r1, r2
  2093. query TTTTTT rowsort
  2094. SELECT * FROM default_privileges
  2095. ----
  2096. PUBLIC NULL NULL type PUBLIC U
  2097. materialize NULL NULL secret r1 U
  2098. materialize NULL NULL secret r2 U
  2099. statement ok
  2100. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT ALL PRIVILEGES ON SECRETS TO r3
  2101. query TTTTTT rowsort
  2102. SELECT * FROM default_privileges
  2103. ----
  2104. PUBLIC NULL NULL type PUBLIC U
  2105. materialize NULL NULL secret r1 U
  2106. materialize NULL NULL secret r2 U
  2107. materialize NULL NULL secret r3 U
  2108. statement ok
  2109. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 GRANT USAGE ON SECRETS TO r4
  2110. query TTTTTT rowsort
  2111. SELECT * FROM default_privileges
  2112. ----
  2113. PUBLIC NULL NULL type PUBLIC U
  2114. materialize NULL NULL secret r1 U
  2115. materialize NULL NULL secret r2 U
  2116. materialize NULL NULL secret r3 U
  2117. materialize d1 NULL secret r4 U
  2118. materialize d2 NULL secret r4 U
  2119. statement ok
  2120. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA d1.s1, d2.s2 GRANT USAGE ON SECRETS TO r5
  2121. query TTTTTT rowsort
  2122. SELECT * FROM default_privileges
  2123. ----
  2124. PUBLIC NULL NULL type PUBLIC U
  2125. materialize NULL NULL secret r1 U
  2126. materialize NULL NULL secret r2 U
  2127. materialize NULL NULL secret r3 U
  2128. materialize d1 NULL secret r4 U
  2129. materialize d2 NULL secret r4 U
  2130. materialize d1 s1 secret r5 U
  2131. materialize d2 s2 secret r5 U
  2132. statement ok
  2133. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 GRANT USAGE ON SECRETS TO r8
  2134. query TTTTTT rowsort
  2135. SELECT * FROM default_privileges
  2136. ----
  2137. r6 NULL NULL secret r8 U
  2138. r7 NULL NULL secret r8 U
  2139. PUBLIC NULL NULL type PUBLIC U
  2140. materialize NULL NULL secret r1 U
  2141. materialize NULL NULL secret r2 U
  2142. materialize NULL NULL secret r3 U
  2143. materialize d1 NULL secret r4 U
  2144. materialize d2 NULL secret r4 U
  2145. materialize d1 s1 secret r5 U
  2146. materialize d2 s2 secret r5 U
  2147. statement ok
  2148. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 GRANT USAGE ON SECRETS TO r10
  2149. query TTTTTT rowsort
  2150. SELECT * FROM default_privileges
  2151. ----
  2152. r6 NULL NULL secret r8 U
  2153. r7 NULL NULL secret r8 U
  2154. r9 d1 NULL secret r10 U
  2155. r9 d2 NULL secret r10 U
  2156. PUBLIC NULL NULL type PUBLIC U
  2157. materialize NULL NULL secret r1 U
  2158. materialize NULL NULL secret r2 U
  2159. materialize NULL NULL secret r3 U
  2160. materialize d1 NULL secret r4 U
  2161. materialize d2 NULL secret r4 U
  2162. materialize d1 s1 secret r5 U
  2163. materialize d2 s2 secret r5 U
  2164. statement ok
  2165. ALTER DEFAULT PRIVILEGES FOR ROLE r11 IN SCHEMA d1.s1, d2.s2 GRANT USAGE ON SECRETS TO r12
  2166. query TTTTTT rowsort
  2167. SELECT * FROM default_privileges
  2168. ----
  2169. r6 NULL NULL secret r8 U
  2170. r7 NULL NULL secret r8 U
  2171. r9 d1 NULL secret r10 U
  2172. r9 d2 NULL secret r10 U
  2173. PUBLIC NULL NULL type PUBLIC U
  2174. r11 d1 s1 secret r12 U
  2175. r11 d2 s2 secret r12 U
  2176. materialize NULL NULL secret r1 U
  2177. materialize NULL NULL secret r2 U
  2178. materialize NULL NULL secret r3 U
  2179. materialize d1 NULL secret r4 U
  2180. materialize d2 NULL secret r4 U
  2181. materialize d1 s1 secret r5 U
  2182. materialize d2 s2 secret r5 U
  2183. statement ok
  2184. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON SECRETS TO PUBLIC
  2185. query TTTTTT rowsort
  2186. SELECT * FROM default_privileges
  2187. ----
  2188. r6 NULL NULL secret r8 U
  2189. r7 NULL NULL secret r8 U
  2190. r9 d1 NULL secret r10 U
  2191. r9 d2 NULL secret r10 U
  2192. PUBLIC NULL NULL type PUBLIC U
  2193. r11 d1 s1 secret r12 U
  2194. r11 d2 s2 secret r12 U
  2195. materialize NULL NULL secret r1 U
  2196. materialize NULL NULL secret r2 U
  2197. materialize NULL NULL secret r3 U
  2198. materialize d1 NULL secret r4 U
  2199. materialize d2 NULL secret r4 U
  2200. materialize NULL NULL secret PUBLIC U
  2201. materialize d1 s1 secret r5 U
  2202. materialize d2 s2 secret r5 U
  2203. statement ok
  2204. CREATE SECRET materialize.public.se AS decode('c2VjcmV0Cg==', 'base64')
  2205. query TT rowsort
  2206. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2207. ----
  2208. se =U/materialize
  2209. se r1=U/materialize
  2210. se r2=U/materialize
  2211. se r3=U/materialize
  2212. se materialize=U/materialize
  2213. statement ok
  2214. DROP SECRET se
  2215. statement ok
  2216. CREATE SECRET d1.s11.se AS decode('c2VjcmV0Cg==', 'base64')
  2217. query TT rowsort
  2218. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2219. ----
  2220. se =U/materialize
  2221. se r1=U/materialize
  2222. se r2=U/materialize
  2223. se r3=U/materialize
  2224. se r4=U/materialize
  2225. se materialize=U/materialize
  2226. statement ok
  2227. DROP SECRET d1.s11.se
  2228. statement ok
  2229. CREATE SECRET d2.s22.se AS decode('c2VjcmV0Cg==', 'base64')
  2230. query TT rowsort
  2231. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2232. ----
  2233. se =U/materialize
  2234. se r1=U/materialize
  2235. se r2=U/materialize
  2236. se r3=U/materialize
  2237. se r4=U/materialize
  2238. se materialize=U/materialize
  2239. statement ok
  2240. DROP SECRET d2.s22.se
  2241. statement ok
  2242. CREATE SECRET d1.s1.se AS decode('c2VjcmV0Cg==', 'base64')
  2243. query TT rowsort
  2244. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2245. ----
  2246. se =U/materialize
  2247. se r1=U/materialize
  2248. se r2=U/materialize
  2249. se r3=U/materialize
  2250. se r4=U/materialize
  2251. se r5=U/materialize
  2252. se materialize=U/materialize
  2253. statement ok
  2254. DROP SECRET d1.s1.se
  2255. statement ok
  2256. CREATE SECRET d2.s2.se AS decode('c2VjcmV0Cg==', 'base64')
  2257. query TT rowsort
  2258. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2259. ----
  2260. se =U/materialize
  2261. se r1=U/materialize
  2262. se r2=U/materialize
  2263. se r3=U/materialize
  2264. se r4=U/materialize
  2265. se r5=U/materialize
  2266. se materialize=U/materialize
  2267. statement ok
  2268. DROP SECRET d2.s2.se
  2269. simple conn=r6,user=r6
  2270. CREATE SECRET materialize.public.se AS decode('c2VjcmV0Cg==', 'base64')
  2271. ----
  2272. COMPLETE 0
  2273. query TT rowsort
  2274. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2275. ----
  2276. se r6=U/r6
  2277. se r8=U/r6
  2278. simple conn=r6,user=r6
  2279. DROP SECRET materialize.public.se;
  2280. ----
  2281. COMPLETE 0
  2282. simple conn=r7,user=r7
  2283. CREATE SECRET materialize.public.se AS decode('c2VjcmV0Cg==', 'base64')
  2284. ----
  2285. COMPLETE 0
  2286. query TT rowsort
  2287. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2288. ----
  2289. se r7=U/r7
  2290. se r8=U/r7
  2291. simple conn=r7,user=r7
  2292. DROP SECRET materialize.public.se;
  2293. ----
  2294. COMPLETE 0
  2295. simple conn=r9,user=r9
  2296. CREATE SECRET d1.s1.se AS decode('c2VjcmV0Cg==', 'base64')
  2297. ----
  2298. COMPLETE 0
  2299. query TT rowsort
  2300. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2301. ----
  2302. se r9=U/r9
  2303. se r10=U/r9
  2304. simple conn=r9,user=r9
  2305. DROP SECRET d1.s1.se;
  2306. ----
  2307. COMPLETE 0
  2308. simple conn=r9,user=r9
  2309. CREATE SECRET d2.s2.se AS decode('c2VjcmV0Cg==', 'base64')
  2310. ----
  2311. COMPLETE 0
  2312. query TT rowsort
  2313. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2314. ----
  2315. se r9=U/r9
  2316. se r10=U/r9
  2317. simple conn=r9,user=r9
  2318. DROP SECRET d2.s2.se;
  2319. ----
  2320. COMPLETE 0
  2321. simple conn=r11,user=r11
  2322. CREATE SECRET d1.s1.se AS decode('c2VjcmV0Cg==', 'base64')
  2323. ----
  2324. COMPLETE 0
  2325. query TT rowsort
  2326. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2327. ----
  2328. se r11=U/r11
  2329. se r12=U/r11
  2330. simple conn=r11,user=r11
  2331. DROP SECRET d1.s1.se;
  2332. ----
  2333. COMPLETE 0
  2334. simple conn=r11,user=r11
  2335. CREATE SECRET d1.s11.se AS decode('c2VjcmV0Cg==', 'base64')
  2336. ----
  2337. COMPLETE 0
  2338. query TT rowsort
  2339. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2340. ----
  2341. se r11=U/r11
  2342. simple conn=r11,user=r11
  2343. DROP SECRET d1.s11.se;
  2344. ----
  2345. COMPLETE 0
  2346. simple conn=r11,user=r11
  2347. CREATE SECRET d2.s2.se AS decode('c2VjcmV0Cg==', 'base64')
  2348. ----
  2349. COMPLETE 0
  2350. query TT rowsort
  2351. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2352. ----
  2353. se r11=U/r11
  2354. se r12=U/r11
  2355. simple conn=r11,user=r11
  2356. DROP SECRET d2.s2.se;
  2357. ----
  2358. COMPLETE 0
  2359. simple conn=r11,user=r11
  2360. CREATE SECRET d2.s22.se AS decode('c2VjcmV0Cg==', 'base64')
  2361. ----
  2362. COMPLETE 0
  2363. query TT rowsort
  2364. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2365. ----
  2366. se r11=U/r11
  2367. simple conn=r11,user=r11
  2368. DROP SECRET d2.s22.se;
  2369. ----
  2370. COMPLETE 0
  2371. ### Revokes
  2372. statement ok
  2373. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON SECRETS FROM r1, r2
  2374. query TTTTTT rowsort
  2375. SELECT * FROM default_privileges
  2376. ----
  2377. r6 NULL NULL secret r8 U
  2378. r7 NULL NULL secret r8 U
  2379. r9 d1 NULL secret r10 U
  2380. r9 d2 NULL secret r10 U
  2381. PUBLIC NULL NULL type PUBLIC U
  2382. r11 d1 s1 secret r12 U
  2383. r11 d2 s2 secret r12 U
  2384. materialize NULL NULL secret r3 U
  2385. materialize d1 NULL secret r4 U
  2386. materialize d2 NULL secret r4 U
  2387. materialize NULL NULL secret PUBLIC U
  2388. materialize d1 s1 secret r5 U
  2389. materialize d2 s2 secret r5 U
  2390. statement ok
  2391. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE ALL PRIVILEGES ON SECRETS FROM r3
  2392. query TTTTTT rowsort
  2393. SELECT * FROM default_privileges
  2394. ----
  2395. r6 NULL NULL secret r8 U
  2396. r7 NULL NULL secret r8 U
  2397. r9 d1 NULL secret r10 U
  2398. r9 d2 NULL secret r10 U
  2399. PUBLIC NULL NULL type PUBLIC U
  2400. r11 d1 s1 secret r12 U
  2401. r11 d2 s2 secret r12 U
  2402. materialize d1 NULL secret r4 U
  2403. materialize d2 NULL secret r4 U
  2404. materialize NULL NULL secret PUBLIC U
  2405. materialize d1 s1 secret r5 U
  2406. materialize d2 s2 secret r5 U
  2407. statement ok
  2408. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 REVOKE USAGE ON SECRETS FROM r4
  2409. query TTTTTT rowsort
  2410. SELECT * FROM default_privileges
  2411. ----
  2412. r6 NULL NULL secret r8 U
  2413. r7 NULL NULL secret r8 U
  2414. r9 d1 NULL secret r10 U
  2415. r9 d2 NULL secret r10 U
  2416. PUBLIC NULL NULL type PUBLIC U
  2417. r11 d1 s1 secret r12 U
  2418. r11 d2 s2 secret r12 U
  2419. materialize NULL NULL secret PUBLIC U
  2420. materialize d1 s1 secret r5 U
  2421. materialize d2 s2 secret r5 U
  2422. statement ok
  2423. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA d1.s1, d2.s2 REVOKE USAGE ON SECRETS FROM r5
  2424. query TTTTTT rowsort
  2425. SELECT * FROM default_privileges
  2426. ----
  2427. r6 NULL NULL secret r8 U
  2428. r7 NULL NULL secret r8 U
  2429. r9 d1 NULL secret r10 U
  2430. r9 d2 NULL secret r10 U
  2431. PUBLIC NULL NULL type PUBLIC U
  2432. r11 d1 s1 secret r12 U
  2433. r11 d2 s2 secret r12 U
  2434. materialize NULL NULL secret PUBLIC U
  2435. statement ok
  2436. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 REVOKE USAGE ON SECRETS FROM r8
  2437. query TTTTTT rowsort
  2438. SELECT * FROM default_privileges
  2439. ----
  2440. r9 d1 NULL secret r10 U
  2441. r9 d2 NULL secret r10 U
  2442. PUBLIC NULL NULL type PUBLIC U
  2443. r11 d1 s1 secret r12 U
  2444. r11 d2 s2 secret r12 U
  2445. materialize NULL NULL secret PUBLIC U
  2446. statement ok
  2447. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 REVOKE USAGE ON SECRETS FROM r10
  2448. query TTTTTT rowsort
  2449. SELECT * FROM default_privileges
  2450. ----
  2451. PUBLIC NULL NULL type PUBLIC U
  2452. r11 d1 s1 secret r12 U
  2453. r11 d2 s2 secret r12 U
  2454. materialize NULL NULL secret PUBLIC U
  2455. statement ok
  2456. ALTER DEFAULT PRIVILEGES FOR ROLE r11 IN SCHEMA d1.s1, d2.s2 REVOKE USAGE ON SECRETS FROM r12
  2457. query TTTTTT rowsort
  2458. SELECT * FROM default_privileges
  2459. ----
  2460. PUBLIC NULL NULL type PUBLIC U
  2461. materialize NULL NULL secret PUBLIC U
  2462. statement ok
  2463. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON SECRETS FROM PUBLIC
  2464. query TTTTTT rowsort
  2465. SELECT * FROM default_privileges
  2466. ----
  2467. PUBLIC NULL NULL type PUBLIC U
  2468. statement ok
  2469. CREATE SECRET materialize.public.se AS decode('c2VjcmV0Cg==', 'base64')
  2470. query TT rowsort
  2471. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2472. ----
  2473. se materialize=U/materialize
  2474. statement ok
  2475. DROP SECRET se
  2476. statement ok
  2477. CREATE SECRET d1.s11.se AS decode('c2VjcmV0Cg==', 'base64')
  2478. query TT rowsort
  2479. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2480. ----
  2481. se materialize=U/materialize
  2482. statement ok
  2483. DROP SECRET d1.s11.se
  2484. statement ok
  2485. CREATE SECRET d2.s22.se AS decode('c2VjcmV0Cg==', 'base64')
  2486. query TT rowsort
  2487. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2488. ----
  2489. se materialize=U/materialize
  2490. statement ok
  2491. DROP SECRET d2.s22.se
  2492. statement ok
  2493. CREATE SECRET d1.s1.se AS decode('c2VjcmV0Cg==', 'base64')
  2494. query TT rowsort
  2495. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2496. ----
  2497. se materialize=U/materialize
  2498. statement ok
  2499. DROP SECRET d1.s1.se
  2500. statement ok
  2501. CREATE SECRET d2.s2.se AS decode('c2VjcmV0Cg==', 'base64')
  2502. query TT rowsort
  2503. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2504. ----
  2505. se materialize=U/materialize
  2506. statement ok
  2507. DROP SECRET d2.s2.se
  2508. simple conn=r6,user=r6
  2509. CREATE SECRET materialize.public.se AS decode('c2VjcmV0Cg==', 'base64')
  2510. ----
  2511. COMPLETE 0
  2512. query TT rowsort
  2513. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2514. ----
  2515. se r6=U/r6
  2516. simple conn=r6,user=r6
  2517. DROP SECRET materialize.public.se;
  2518. ----
  2519. COMPLETE 0
  2520. simple conn=r7,user=r7
  2521. CREATE SECRET materialize.public.se AS decode('c2VjcmV0Cg==', 'base64')
  2522. ----
  2523. COMPLETE 0
  2524. query TT rowsort
  2525. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2526. ----
  2527. se r7=U/r7
  2528. simple conn=r7,user=r7
  2529. DROP SECRET materialize.public.se;
  2530. ----
  2531. COMPLETE 0
  2532. simple conn=r9,user=r9
  2533. CREATE SECRET d1.s1.se AS decode('c2VjcmV0Cg==', 'base64')
  2534. ----
  2535. COMPLETE 0
  2536. query TT rowsort
  2537. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2538. ----
  2539. se r9=U/r9
  2540. simple conn=r9,user=r9
  2541. DROP SECRET d1.s1.se;
  2542. ----
  2543. COMPLETE 0
  2544. simple conn=r9,user=r9
  2545. CREATE SECRET d2.s2.se AS decode('c2VjcmV0Cg==', 'base64')
  2546. ----
  2547. COMPLETE 0
  2548. query TT rowsort
  2549. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2550. ----
  2551. se r9=U/r9
  2552. simple conn=r9,user=r9
  2553. DROP SECRET d2.s2.se;
  2554. ----
  2555. COMPLETE 0
  2556. simple conn=r11,user=r11
  2557. CREATE SECRET d1.s1.se AS decode('c2VjcmV0Cg==', 'base64')
  2558. ----
  2559. COMPLETE 0
  2560. query TT rowsort
  2561. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2562. ----
  2563. se r11=U/r11
  2564. simple conn=r11,user=r11
  2565. DROP SECRET d1.s1.se;
  2566. ----
  2567. COMPLETE 0
  2568. simple conn=r11,user=r11
  2569. CREATE SECRET d1.s11.se AS decode('c2VjcmV0Cg==', 'base64')
  2570. ----
  2571. COMPLETE 0
  2572. query TT rowsort
  2573. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2574. ----
  2575. se r11=U/r11
  2576. simple conn=r11,user=r11
  2577. DROP SECRET d1.s11.se;
  2578. ----
  2579. COMPLETE 0
  2580. simple conn=r11,user=r11
  2581. CREATE SECRET d2.s2.se AS decode('c2VjcmV0Cg==', 'base64')
  2582. ----
  2583. COMPLETE 0
  2584. query TT rowsort
  2585. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2586. ----
  2587. se r11=U/r11
  2588. simple conn=r11,user=r11
  2589. DROP SECRET d2.s2.se;
  2590. ----
  2591. COMPLETE 0
  2592. simple conn=r11,user=r11
  2593. CREATE SECRET d2.s22.se AS decode('c2VjcmV0Cg==', 'base64')
  2594. ----
  2595. COMPLETE 0
  2596. query TT rowsort
  2597. SELECT name, unnest(privileges)::text FROM mz_secrets WHERE name = 'se'
  2598. ----
  2599. se r11=U/r11
  2600. simple conn=r11,user=r11
  2601. DROP SECRET d2.s22.se;
  2602. ----
  2603. COMPLETE 0
  2604. ## Connection
  2605. ### Grants
  2606. statement ok
  2607. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON CONNECTIONS TO r1, r2
  2608. query TTTTTT rowsort
  2609. SELECT * FROM default_privileges
  2610. ----
  2611. PUBLIC NULL NULL type PUBLIC U
  2612. materialize NULL NULL connection r1 U
  2613. materialize NULL NULL connection r2 U
  2614. statement ok
  2615. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT ALL PRIVILEGES ON CONNECTIONS TO r3
  2616. query TTTTTT rowsort
  2617. SELECT * FROM default_privileges
  2618. ----
  2619. PUBLIC NULL NULL type PUBLIC U
  2620. materialize NULL NULL connection r1 U
  2621. materialize NULL NULL connection r2 U
  2622. materialize NULL NULL connection r3 U
  2623. statement ok
  2624. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 GRANT USAGE ON CONNECTIONS TO r4
  2625. query TTTTTT rowsort
  2626. SELECT * FROM default_privileges
  2627. ----
  2628. PUBLIC NULL NULL type PUBLIC U
  2629. materialize NULL NULL connection r1 U
  2630. materialize NULL NULL connection r2 U
  2631. materialize NULL NULL connection r3 U
  2632. materialize d1 NULL connection r4 U
  2633. materialize d2 NULL connection r4 U
  2634. statement ok
  2635. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA d1.s1, d2.s2 GRANT USAGE ON CONNECTIONS TO r5
  2636. query TTTTTT rowsort
  2637. SELECT * FROM default_privileges
  2638. ----
  2639. PUBLIC NULL NULL type PUBLIC U
  2640. materialize NULL NULL connection r1 U
  2641. materialize NULL NULL connection r2 U
  2642. materialize NULL NULL connection r3 U
  2643. materialize d1 NULL connection r4 U
  2644. materialize d2 NULL connection r4 U
  2645. materialize d1 s1 connection r5 U
  2646. materialize d2 s2 connection r5 U
  2647. statement ok
  2648. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 GRANT USAGE ON CONNECTIONS TO r8
  2649. query TTTTTT rowsort
  2650. SELECT * FROM default_privileges
  2651. ----
  2652. r6 NULL NULL connection r8 U
  2653. r7 NULL NULL connection r8 U
  2654. PUBLIC NULL NULL type PUBLIC U
  2655. materialize NULL NULL connection r1 U
  2656. materialize NULL NULL connection r2 U
  2657. materialize NULL NULL connection r3 U
  2658. materialize d1 NULL connection r4 U
  2659. materialize d2 NULL connection r4 U
  2660. materialize d1 s1 connection r5 U
  2661. materialize d2 s2 connection r5 U
  2662. statement ok
  2663. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 GRANT USAGE ON CONNECTIONS TO r10
  2664. query TTTTTT rowsort
  2665. SELECT * FROM default_privileges
  2666. ----
  2667. r6 NULL NULL connection r8 U
  2668. r7 NULL NULL connection r8 U
  2669. PUBLIC NULL NULL type PUBLIC U
  2670. r9 d1 NULL connection r10 U
  2671. r9 d2 NULL connection r10 U
  2672. materialize NULL NULL connection r1 U
  2673. materialize NULL NULL connection r2 U
  2674. materialize NULL NULL connection r3 U
  2675. materialize d1 NULL connection r4 U
  2676. materialize d2 NULL connection r4 U
  2677. materialize d1 s1 connection r5 U
  2678. materialize d2 s2 connection r5 U
  2679. statement ok
  2680. ALTER DEFAULT PRIVILEGES FOR ROLE r11 IN SCHEMA d1.s1, d2.s2 GRANT USAGE ON CONNECTIONS TO r12
  2681. query TTTTTT rowsort
  2682. SELECT * FROM default_privileges
  2683. ----
  2684. r6 NULL NULL connection r8 U
  2685. r7 NULL NULL connection r8 U
  2686. PUBLIC NULL NULL type PUBLIC U
  2687. r9 d1 NULL connection r10 U
  2688. r9 d2 NULL connection r10 U
  2689. r11 d1 s1 connection r12 U
  2690. r11 d2 s2 connection r12 U
  2691. materialize NULL NULL connection r1 U
  2692. materialize NULL NULL connection r2 U
  2693. materialize NULL NULL connection r3 U
  2694. materialize d1 NULL connection r4 U
  2695. materialize d2 NULL connection r4 U
  2696. materialize d1 s1 connection r5 U
  2697. materialize d2 s2 connection r5 U
  2698. statement ok
  2699. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON CONNECTIONS TO PUBLIC
  2700. query TTTTTT rowsort
  2701. SELECT * FROM default_privileges
  2702. ----
  2703. r6 NULL NULL connection r8 U
  2704. r7 NULL NULL connection r8 U
  2705. PUBLIC NULL NULL type PUBLIC U
  2706. r9 d1 NULL connection r10 U
  2707. r9 d2 NULL connection r10 U
  2708. r11 d1 s1 connection r12 U
  2709. r11 d2 s2 connection r12 U
  2710. materialize NULL NULL connection r1 U
  2711. materialize NULL NULL connection r2 U
  2712. materialize NULL NULL connection r3 U
  2713. materialize d1 NULL connection r4 U
  2714. materialize d2 NULL connection r4 U
  2715. materialize NULL NULL connection PUBLIC U
  2716. materialize d1 s1 connection r5 U
  2717. materialize d2 s2 connection r5 U
  2718. statement ok
  2719. CREATE CONNECTION materialize.public.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2720. query TT rowsort
  2721. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2722. ----
  2723. c =U/materialize
  2724. c r1=U/materialize
  2725. c r2=U/materialize
  2726. c r3=U/materialize
  2727. c materialize=U/materialize
  2728. statement ok
  2729. DROP CONNECTION c
  2730. statement ok
  2731. CREATE SECRET s3_api_secret_key as 'secret_key';
  2732. statement ok
  2733. CREATE CONNECTION materialize.public.a TO AWS (ACCESS KEY ID = 'access_key', SECRET ACCESS KEY = SECRET s3_api_secret_key) WITH (VALIDATE = false);
  2734. query TT rowsort
  2735. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'a'
  2736. ----
  2737. a =U/materialize
  2738. a r1=U/materialize
  2739. a r2=U/materialize
  2740. a r3=U/materialize
  2741. a materialize=U/materialize
  2742. statement ok
  2743. DROP CONNECTION a
  2744. statement ok
  2745. DROP SECRET s3_api_secret_key;
  2746. statement ok
  2747. CREATE CONNECTION d1.s11.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2748. query TT rowsort
  2749. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2750. ----
  2751. c =U/materialize
  2752. c r1=U/materialize
  2753. c r2=U/materialize
  2754. c r3=U/materialize
  2755. c r4=U/materialize
  2756. c materialize=U/materialize
  2757. statement ok
  2758. DROP CONNECTION d1.s11.c
  2759. statement ok
  2760. CREATE CONNECTION d2.s22.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2761. query TT rowsort
  2762. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2763. ----
  2764. c =U/materialize
  2765. c r1=U/materialize
  2766. c r2=U/materialize
  2767. c r3=U/materialize
  2768. c r4=U/materialize
  2769. c materialize=U/materialize
  2770. statement ok
  2771. DROP CONNECTION d2.s22.c
  2772. statement ok
  2773. CREATE CONNECTION d1.s1.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2774. query TT rowsort
  2775. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2776. ----
  2777. c =U/materialize
  2778. c r1=U/materialize
  2779. c r2=U/materialize
  2780. c r3=U/materialize
  2781. c r4=U/materialize
  2782. c r5=U/materialize
  2783. c materialize=U/materialize
  2784. statement ok
  2785. DROP CONNECTION d1.s1.c
  2786. statement ok
  2787. CREATE CONNECTION d2.s2.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2788. query TT rowsort
  2789. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2790. ----
  2791. c =U/materialize
  2792. c r1=U/materialize
  2793. c r2=U/materialize
  2794. c r3=U/materialize
  2795. c r4=U/materialize
  2796. c r5=U/materialize
  2797. c materialize=U/materialize
  2798. statement ok
  2799. DROP CONNECTION d2.s2.c
  2800. simple conn=r6,user=r6
  2801. CREATE CONNECTION materialize.public.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2802. ----
  2803. COMPLETE 0
  2804. query TT rowsort
  2805. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2806. ----
  2807. c r6=U/r6
  2808. c r8=U/r6
  2809. simple conn=r6,user=r6
  2810. DROP CONNECTION materialize.public.c;
  2811. ----
  2812. COMPLETE 0
  2813. simple conn=r7,user=r7
  2814. CREATE CONNECTION materialize.public.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2815. ----
  2816. COMPLETE 0
  2817. query TT rowsort
  2818. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2819. ----
  2820. c r7=U/r7
  2821. c r8=U/r7
  2822. simple conn=r7,user=r7
  2823. DROP CONNECTION materialize.public.c;
  2824. ----
  2825. COMPLETE 0
  2826. simple conn=r9,user=r9
  2827. CREATE CONNECTION d1.s1.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2828. ----
  2829. COMPLETE 0
  2830. query TT rowsort
  2831. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2832. ----
  2833. c r9=U/r9
  2834. c r10=U/r9
  2835. simple conn=r9,user=r9
  2836. DROP CONNECTION d1.s1.c;
  2837. ----
  2838. COMPLETE 0
  2839. simple conn=r9,user=r9
  2840. CREATE CONNECTION d2.s2.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2841. ----
  2842. COMPLETE 0
  2843. query TT rowsort
  2844. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2845. ----
  2846. c r9=U/r9
  2847. c r10=U/r9
  2848. simple conn=r9,user=r9
  2849. DROP CONNECTION d2.s2.c;
  2850. ----
  2851. COMPLETE 0
  2852. simple conn=r11,user=r11
  2853. CREATE CONNECTION d1.s1.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2854. ----
  2855. COMPLETE 0
  2856. query TT rowsort
  2857. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2858. ----
  2859. c r11=U/r11
  2860. c r12=U/r11
  2861. simple conn=r11,user=r11
  2862. DROP CONNECTION d1.s1.c;
  2863. ----
  2864. COMPLETE 0
  2865. simple conn=r11,user=r11
  2866. CREATE CONNECTION d1.s11.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2867. ----
  2868. COMPLETE 0
  2869. query TT rowsort
  2870. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2871. ----
  2872. c r11=U/r11
  2873. simple conn=r11,user=r11
  2874. DROP CONNECTION d1.s11.c;
  2875. ----
  2876. COMPLETE 0
  2877. simple conn=r11,user=r11
  2878. CREATE CONNECTION d2.s2.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2879. ----
  2880. COMPLETE 0
  2881. query TT rowsort
  2882. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2883. ----
  2884. c r11=U/r11
  2885. c r12=U/r11
  2886. simple conn=r11,user=r11
  2887. DROP CONNECTION d2.s2.c;
  2888. ----
  2889. COMPLETE 0
  2890. simple conn=r11,user=r11
  2891. CREATE CONNECTION d2.s22.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  2892. ----
  2893. COMPLETE 0
  2894. query TT rowsort
  2895. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  2896. ----
  2897. c r11=U/r11
  2898. simple conn=r11,user=r11
  2899. DROP CONNECTION d2.s22.c;
  2900. ----
  2901. COMPLETE 0
  2902. ### Revokes
  2903. statement ok
  2904. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON CONNECTIONS FROM r1, r2
  2905. query TTTTTT rowsort
  2906. SELECT * FROM default_privileges
  2907. ----
  2908. r6 NULL NULL connection r8 U
  2909. r7 NULL NULL connection r8 U
  2910. PUBLIC NULL NULL type PUBLIC U
  2911. r9 d1 NULL connection r10 U
  2912. r9 d2 NULL connection r10 U
  2913. r11 d1 s1 connection r12 U
  2914. r11 d2 s2 connection r12 U
  2915. materialize NULL NULL connection r3 U
  2916. materialize d1 NULL connection r4 U
  2917. materialize d2 NULL connection r4 U
  2918. materialize NULL NULL connection PUBLIC U
  2919. materialize d1 s1 connection r5 U
  2920. materialize d2 s2 connection r5 U
  2921. statement ok
  2922. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE ALL PRIVILEGES ON CONNECTIONS FROM r3
  2923. query TTTTTT rowsort
  2924. SELECT * FROM default_privileges
  2925. ----
  2926. r6 NULL NULL connection r8 U
  2927. r7 NULL NULL connection r8 U
  2928. PUBLIC NULL NULL type PUBLIC U
  2929. r9 d1 NULL connection r10 U
  2930. r9 d2 NULL connection r10 U
  2931. r11 d1 s1 connection r12 U
  2932. r11 d2 s2 connection r12 U
  2933. materialize d1 NULL connection r4 U
  2934. materialize d2 NULL connection r4 U
  2935. materialize NULL NULL connection PUBLIC U
  2936. materialize d1 s1 connection r5 U
  2937. materialize d2 s2 connection r5 U
  2938. statement ok
  2939. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 REVOKE USAGE ON CONNECTIONS FROM r4
  2940. query TTTTTT rowsort
  2941. SELECT * FROM default_privileges
  2942. ----
  2943. r6 NULL NULL connection r8 U
  2944. r7 NULL NULL connection r8 U
  2945. PUBLIC NULL NULL type PUBLIC U
  2946. r9 d1 NULL connection r10 U
  2947. r9 d2 NULL connection r10 U
  2948. r11 d1 s1 connection r12 U
  2949. r11 d2 s2 connection r12 U
  2950. materialize NULL NULL connection PUBLIC U
  2951. materialize d1 s1 connection r5 U
  2952. materialize d2 s2 connection r5 U
  2953. statement ok
  2954. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA d1.s1, d2.s2 REVOKE USAGE ON CONNECTIONS FROM r5
  2955. query TTTTTT rowsort
  2956. SELECT * FROM default_privileges
  2957. ----
  2958. r6 NULL NULL connection r8 U
  2959. r7 NULL NULL connection r8 U
  2960. PUBLIC NULL NULL type PUBLIC U
  2961. r9 d1 NULL connection r10 U
  2962. r9 d2 NULL connection r10 U
  2963. r11 d1 s1 connection r12 U
  2964. r11 d2 s2 connection r12 U
  2965. materialize NULL NULL connection PUBLIC U
  2966. statement ok
  2967. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 REVOKE USAGE ON CONNECTIONS FROM r8
  2968. query TTTTTT rowsort
  2969. SELECT * FROM default_privileges
  2970. ----
  2971. PUBLIC NULL NULL type PUBLIC U
  2972. r9 d1 NULL connection r10 U
  2973. r9 d2 NULL connection r10 U
  2974. r11 d1 s1 connection r12 U
  2975. r11 d2 s2 connection r12 U
  2976. materialize NULL NULL connection PUBLIC U
  2977. statement ok
  2978. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 REVOKE USAGE ON CONNECTIONS FROM r10
  2979. query TTTTTT rowsort
  2980. SELECT * FROM default_privileges
  2981. ----
  2982. PUBLIC NULL NULL type PUBLIC U
  2983. r11 d1 s1 connection r12 U
  2984. r11 d2 s2 connection r12 U
  2985. materialize NULL NULL connection PUBLIC U
  2986. statement ok
  2987. ALTER DEFAULT PRIVILEGES FOR ROLE r11 IN SCHEMA d1.s1, d2.s2 REVOKE USAGE ON CONNECTIONS FROM r12
  2988. query TTTTTT rowsort
  2989. SELECT * FROM default_privileges
  2990. ----
  2991. PUBLIC NULL NULL type PUBLIC U
  2992. materialize NULL NULL connection PUBLIC U
  2993. statement ok
  2994. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON CONNECTIONS FROM PUBLIC
  2995. query TTTTTT rowsort
  2996. SELECT * FROM default_privileges
  2997. ----
  2998. PUBLIC NULL NULL type PUBLIC U
  2999. statement ok
  3000. CREATE CONNECTION materialize.public.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3001. query TT rowsort
  3002. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3003. ----
  3004. c materialize=U/materialize
  3005. statement ok
  3006. DROP CONNECTION c
  3007. statement ok
  3008. CREATE CONNECTION d1.s11.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3009. query TT rowsort
  3010. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3011. ----
  3012. c materialize=U/materialize
  3013. statement ok
  3014. DROP CONNECTION d1.s11.c
  3015. statement ok
  3016. CREATE CONNECTION d2.s22.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3017. query TT rowsort
  3018. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3019. ----
  3020. c materialize=U/materialize
  3021. statement ok
  3022. DROP CONNECTION d2.s22.c
  3023. statement ok
  3024. CREATE CONNECTION d1.s1.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3025. query TT rowsort
  3026. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3027. ----
  3028. c materialize=U/materialize
  3029. statement ok
  3030. DROP CONNECTION d1.s1.c
  3031. statement ok
  3032. CREATE CONNECTION d2.s2.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3033. query TT rowsort
  3034. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3035. ----
  3036. c materialize=U/materialize
  3037. statement ok
  3038. DROP CONNECTION d2.s2.c
  3039. simple conn=r6,user=r6
  3040. CREATE CONNECTION materialize.public.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3041. ----
  3042. COMPLETE 0
  3043. query TT rowsort
  3044. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3045. ----
  3046. c r6=U/r6
  3047. simple conn=r6,user=r6
  3048. DROP CONNECTION materialize.public.c;
  3049. ----
  3050. COMPLETE 0
  3051. simple conn=r7,user=r7
  3052. CREATE CONNECTION materialize.public.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3053. ----
  3054. COMPLETE 0
  3055. query TT rowsort
  3056. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3057. ----
  3058. c r7=U/r7
  3059. simple conn=r7,user=r7
  3060. DROP CONNECTION materialize.public.c;
  3061. ----
  3062. COMPLETE 0
  3063. simple conn=r9,user=r9
  3064. CREATE CONNECTION d1.s1.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3065. ----
  3066. COMPLETE 0
  3067. query TT rowsort
  3068. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3069. ----
  3070. c r9=U/r9
  3071. simple conn=r9,user=r9
  3072. DROP CONNECTION d1.s1.c;
  3073. ----
  3074. COMPLETE 0
  3075. simple conn=r9,user=r9
  3076. CREATE CONNECTION d2.s2.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3077. ----
  3078. COMPLETE 0
  3079. query TT rowsort
  3080. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3081. ----
  3082. c r9=U/r9
  3083. simple conn=r9,user=r9
  3084. DROP CONNECTION d2.s2.c;
  3085. ----
  3086. COMPLETE 0
  3087. simple conn=r11,user=r11
  3088. CREATE CONNECTION d1.s1.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3089. ----
  3090. COMPLETE 0
  3091. query TT rowsort
  3092. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3093. ----
  3094. c r11=U/r11
  3095. simple conn=r11,user=r11
  3096. DROP CONNECTION d1.s1.c;
  3097. ----
  3098. COMPLETE 0
  3099. simple conn=r11,user=r11
  3100. CREATE CONNECTION d1.s11.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3101. ----
  3102. COMPLETE 0
  3103. query TT rowsort
  3104. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3105. ----
  3106. c r11=U/r11
  3107. simple conn=r11,user=r11
  3108. DROP CONNECTION d1.s11.c;
  3109. ----
  3110. COMPLETE 0
  3111. simple conn=r11,user=r11
  3112. CREATE CONNECTION d2.s2.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3113. ----
  3114. COMPLETE 0
  3115. query TT rowsort
  3116. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3117. ----
  3118. c r11=U/r11
  3119. simple conn=r11,user=r11
  3120. DROP CONNECTION d2.s2.c;
  3121. ----
  3122. COMPLETE 0
  3123. simple conn=r11,user=r11
  3124. CREATE CONNECTION d2.s22.c TO KAFKA (BROKER 'localhost:9092', SECURITY PROTOCOL PLAINTEXT) WITH (VALIDATE = false);
  3125. ----
  3126. COMPLETE 0
  3127. query TT rowsort
  3128. SELECT name, unnest(privileges)::text FROM mz_connections WHERE name = 'c'
  3129. ----
  3130. c r11=U/r11
  3131. simple conn=r11,user=r11
  3132. DROP CONNECTION d2.s22.c;
  3133. ----
  3134. COMPLETE 0
  3135. ## Schemas
  3136. ### Grants
  3137. statement ok
  3138. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON SCHEMAS TO r1, r2
  3139. query TTTTTT rowsort
  3140. SELECT * FROM default_privileges
  3141. ----
  3142. PUBLIC NULL NULL type PUBLIC U
  3143. materialize NULL NULL schema r1 U
  3144. materialize NULL NULL schema r2 U
  3145. statement ok
  3146. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT ALL ON SCHEMAS TO r3
  3147. query TTTTTT rowsort
  3148. SELECT * FROM default_privileges
  3149. ----
  3150. PUBLIC NULL NULL type PUBLIC U
  3151. materialize NULL NULL schema r1 U
  3152. materialize NULL NULL schema r2 U
  3153. materialize NULL NULL schema r3 UC
  3154. statement ok
  3155. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 GRANT CREATE ON SCHEMAS TO r4
  3156. query TTTTTT rowsort
  3157. SELECT * FROM default_privileges
  3158. ----
  3159. PUBLIC NULL NULL type PUBLIC U
  3160. materialize NULL NULL schema r1 U
  3161. materialize NULL NULL schema r2 U
  3162. materialize NULL NULL schema r3 UC
  3163. materialize d1 NULL schema r4 C
  3164. materialize d2 NULL schema r4 C
  3165. statement ok
  3166. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 GRANT CREATE ON SCHEMAS TO r8
  3167. query TTTTTT rowsort
  3168. SELECT * FROM default_privileges
  3169. ----
  3170. r6 NULL NULL schema r8 C
  3171. r7 NULL NULL schema r8 C
  3172. PUBLIC NULL NULL type PUBLIC U
  3173. materialize NULL NULL schema r1 U
  3174. materialize NULL NULL schema r2 U
  3175. materialize NULL NULL schema r3 UC
  3176. materialize d1 NULL schema r4 C
  3177. materialize d2 NULL schema r4 C
  3178. statement ok
  3179. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 GRANT CREATE ON SCHEMAS TO r10
  3180. query TTTTTT rowsort
  3181. SELECT * FROM default_privileges
  3182. ----
  3183. r6 NULL NULL schema r8 C
  3184. r7 NULL NULL schema r8 C
  3185. r9 d1 NULL schema r10 C
  3186. r9 d2 NULL schema r10 C
  3187. PUBLIC NULL NULL type PUBLIC U
  3188. materialize NULL NULL schema r1 U
  3189. materialize NULL NULL schema r2 U
  3190. materialize NULL NULL schema r3 UC
  3191. materialize d1 NULL schema r4 C
  3192. materialize d2 NULL schema r4 C
  3193. statement ok
  3194. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT CREATE ON SCHEMAS TO PUBLIC
  3195. query TTTTTT rowsort
  3196. SELECT * FROM default_privileges
  3197. ----
  3198. r6 NULL NULL schema r8 C
  3199. r7 NULL NULL schema r8 C
  3200. r9 d1 NULL schema r10 C
  3201. r9 d2 NULL schema r10 C
  3202. PUBLIC NULL NULL type PUBLIC U
  3203. materialize NULL NULL schema r1 U
  3204. materialize NULL NULL schema r2 U
  3205. materialize NULL NULL schema r3 UC
  3206. materialize d1 NULL schema r4 C
  3207. materialize d2 NULL schema r4 C
  3208. materialize NULL NULL schema PUBLIC C
  3209. statement ok
  3210. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT CREATE ON SCHEMAS TO r1
  3211. query TTTTTT rowsort
  3212. SELECT * FROM default_privileges
  3213. ----
  3214. r6 NULL NULL schema r8 C
  3215. r7 NULL NULL schema r8 C
  3216. r9 d1 NULL schema r10 C
  3217. r9 d2 NULL schema r10 C
  3218. PUBLIC NULL NULL type PUBLIC U
  3219. materialize NULL NULL schema r2 U
  3220. materialize NULL NULL schema r1 UC
  3221. materialize NULL NULL schema r3 UC
  3222. materialize d1 NULL schema r4 C
  3223. materialize d2 NULL schema r4 C
  3224. materialize NULL NULL schema PUBLIC C
  3225. statement ok
  3226. CREATE SCHEMA materialize.sch
  3227. query TT rowsort
  3228. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3229. ----
  3230. sch =C/materialize
  3231. sch r2=U/materialize
  3232. sch r1=UC/materialize
  3233. sch r3=UC/materialize
  3234. sch materialize=UC/materialize
  3235. sch mz_support=U/materialize
  3236. statement ok
  3237. DROP SCHEMA sch
  3238. statement ok
  3239. CREATE SCHEMA d1.sch
  3240. query TT rowsort
  3241. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3242. ----
  3243. sch =C/materialize
  3244. sch r2=U/materialize
  3245. sch r4=C/materialize
  3246. sch r1=UC/materialize
  3247. sch r3=UC/materialize
  3248. sch materialize=UC/materialize
  3249. sch mz_support=U/materialize
  3250. statement ok
  3251. DROP SCHEMA d1.sch
  3252. statement ok
  3253. CREATE SCHEMA d2.sch
  3254. query TT rowsort
  3255. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3256. ----
  3257. sch =C/materialize
  3258. sch r2=U/materialize
  3259. sch r4=C/materialize
  3260. sch r1=UC/materialize
  3261. sch r3=UC/materialize
  3262. sch materialize=UC/materialize
  3263. sch mz_support=U/materialize
  3264. statement ok
  3265. DROP SCHEMA d2.sch
  3266. simple conn=r6,user=r6
  3267. CREATE SCHEMA materialize.sch
  3268. ----
  3269. COMPLETE 0
  3270. query TT rowsort
  3271. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3272. ----
  3273. sch r8=C/r6
  3274. sch r6=UC/r6
  3275. sch mz_support=U/r6
  3276. simple conn=r6,user=r6
  3277. DROP SCHEMA materialize.sch
  3278. ----
  3279. COMPLETE 0
  3280. simple conn=r7,user=r7
  3281. CREATE SCHEMA materialize.sch
  3282. ----
  3283. COMPLETE 0
  3284. query TT rowsort
  3285. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3286. ----
  3287. sch r8=C/r7
  3288. sch r7=UC/r7
  3289. sch mz_support=U/r7
  3290. simple conn=r7,user=r7
  3291. DROP SCHEMA materialize.sch
  3292. ----
  3293. COMPLETE 0
  3294. simple conn=r9,user=r9
  3295. CREATE SCHEMA d1.sch
  3296. ----
  3297. COMPLETE 0
  3298. query TT rowsort
  3299. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3300. ----
  3301. sch r10=C/r9
  3302. sch r9=UC/r9
  3303. sch mz_support=U/r9
  3304. simple conn=r9,user=r9
  3305. DROP SCHEMA d1.sch
  3306. ----
  3307. COMPLETE 0
  3308. simple conn=r9,user=r9
  3309. CREATE SCHEMA d2.sch
  3310. ----
  3311. COMPLETE 0
  3312. query TT rowsort
  3313. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3314. ----
  3315. sch r10=C/r9
  3316. sch r9=UC/r9
  3317. sch mz_support=U/r9
  3318. simple conn=r9,user=r9
  3319. DROP SCHEMA d2.sch
  3320. ----
  3321. COMPLETE 0
  3322. ### Revokes
  3323. statement ok
  3324. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON SCHEMAS FROM r1, r2
  3325. query TTTTTT rowsort
  3326. SELECT * FROM default_privileges
  3327. ----
  3328. r6 NULL NULL schema r8 C
  3329. r7 NULL NULL schema r8 C
  3330. r9 d1 NULL schema r10 C
  3331. r9 d2 NULL schema r10 C
  3332. PUBLIC NULL NULL type PUBLIC U
  3333. materialize NULL NULL schema r1 C
  3334. materialize NULL NULL schema r3 UC
  3335. materialize d1 NULL schema r4 C
  3336. materialize d2 NULL schema r4 C
  3337. materialize NULL NULL schema PUBLIC C
  3338. statement ok
  3339. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE ALL ON SCHEMAS FROM r3
  3340. query TTTTTT rowsort
  3341. SELECT * FROM default_privileges
  3342. ----
  3343. r6 NULL NULL schema r8 C
  3344. r7 NULL NULL schema r8 C
  3345. r9 d1 NULL schema r10 C
  3346. r9 d2 NULL schema r10 C
  3347. PUBLIC NULL NULL type PUBLIC U
  3348. materialize NULL NULL schema r1 C
  3349. materialize d1 NULL schema r4 C
  3350. materialize d2 NULL schema r4 C
  3351. materialize NULL NULL schema PUBLIC C
  3352. statement ok
  3353. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d1, d2 REVOKE CREATE ON SCHEMAS FROM r4
  3354. query TTTTTT rowsort
  3355. SELECT * FROM default_privileges
  3356. ----
  3357. r6 NULL NULL schema r8 C
  3358. r7 NULL NULL schema r8 C
  3359. r9 d1 NULL schema r10 C
  3360. r9 d2 NULL schema r10 C
  3361. PUBLIC NULL NULL type PUBLIC U
  3362. materialize NULL NULL schema r1 C
  3363. materialize NULL NULL schema PUBLIC C
  3364. statement ok
  3365. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 REVOKE CREATE ON SCHEMAS FROM r8
  3366. query TTTTTT rowsort
  3367. SELECT * FROM default_privileges
  3368. ----
  3369. r9 d1 NULL schema r10 C
  3370. r9 d2 NULL schema r10 C
  3371. PUBLIC NULL NULL type PUBLIC U
  3372. materialize NULL NULL schema r1 C
  3373. materialize NULL NULL schema PUBLIC C
  3374. statement ok
  3375. ALTER DEFAULT PRIVILEGES FOR ROLE r9 IN DATABASE d1, d2 REVOKE CREATE ON SCHEMAS FROM r10
  3376. query TTTTTT rowsort
  3377. SELECT * FROM default_privileges
  3378. ----
  3379. PUBLIC NULL NULL type PUBLIC U
  3380. materialize NULL NULL schema r1 C
  3381. materialize NULL NULL schema PUBLIC C
  3382. statement ok
  3383. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE CREATE ON SCHEMAS FROM PUBLIC
  3384. query TTTTTT rowsort
  3385. SELECT * FROM default_privileges
  3386. ----
  3387. PUBLIC NULL NULL type PUBLIC U
  3388. materialize NULL NULL schema r1 C
  3389. statement ok
  3390. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE CREATE ON SCHEMAS FROM r1
  3391. query TTTTTT rowsort
  3392. SELECT * FROM default_privileges
  3393. ----
  3394. PUBLIC NULL NULL type PUBLIC U
  3395. statement ok
  3396. CREATE SCHEMA materialize.sch
  3397. query TT rowsort
  3398. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3399. ----
  3400. sch materialize=UC/materialize
  3401. sch mz_support=U/materialize
  3402. statement ok
  3403. DROP SCHEMA sch
  3404. statement ok
  3405. CREATE SCHEMA d1.sch
  3406. query TT rowsort
  3407. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3408. ----
  3409. sch materialize=UC/materialize
  3410. sch mz_support=U/materialize
  3411. statement ok
  3412. DROP SCHEMA d1.sch
  3413. statement ok
  3414. CREATE SCHEMA d2.sch
  3415. query TT rowsort
  3416. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3417. ----
  3418. sch materialize=UC/materialize
  3419. sch mz_support=U/materialize
  3420. statement ok
  3421. DROP SCHEMA d2.sch
  3422. simple conn=r6,user=r6
  3423. CREATE SCHEMA materialize.sch
  3424. ----
  3425. COMPLETE 0
  3426. query TT rowsort
  3427. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3428. ----
  3429. sch r6=UC/r6
  3430. sch mz_support=U/r6
  3431. simple conn=r6,user=r6
  3432. DROP SCHEMA materialize.sch
  3433. ----
  3434. COMPLETE 0
  3435. simple conn=r7,user=r7
  3436. CREATE SCHEMA materialize.sch
  3437. ----
  3438. COMPLETE 0
  3439. query TT rowsort
  3440. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3441. ----
  3442. sch r7=UC/r7
  3443. sch mz_support=U/r7
  3444. simple conn=r7,user=r7
  3445. DROP SCHEMA materialize.sch
  3446. ----
  3447. COMPLETE 0
  3448. simple conn=r9,user=r9
  3449. CREATE SCHEMA d1.sch
  3450. ----
  3451. COMPLETE 0
  3452. query TT rowsort
  3453. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3454. ----
  3455. sch r9=UC/r9
  3456. sch mz_support=U/r9
  3457. simple conn=r9,user=r9
  3458. DROP SCHEMA d1.sch
  3459. ----
  3460. COMPLETE 0
  3461. simple conn=r9,user=r9
  3462. CREATE SCHEMA d2.sch
  3463. ----
  3464. COMPLETE 0
  3465. query TT rowsort
  3466. SELECT name, unnest(privileges)::text FROM mz_schemas WHERE name = 'sch'
  3467. ----
  3468. sch r9=UC/r9
  3469. sch mz_support=U/r9
  3470. simple conn=r9,user=r9
  3471. DROP SCHEMA d2.sch
  3472. ----
  3473. COMPLETE 0
  3474. ## Databases
  3475. ### Grants
  3476. statement ok
  3477. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON DATABASES TO r1, r2
  3478. query TTTTTT rowsort
  3479. SELECT * FROM default_privileges
  3480. ----
  3481. PUBLIC NULL NULL type PUBLIC U
  3482. materialize NULL NULL database r1 U
  3483. materialize NULL NULL database r2 U
  3484. statement ok
  3485. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT ALL ON DATABASES TO r3
  3486. query TTTTTT rowsort
  3487. SELECT * FROM default_privileges
  3488. ----
  3489. PUBLIC NULL NULL type PUBLIC U
  3490. materialize NULL NULL database r1 U
  3491. materialize NULL NULL database r2 U
  3492. materialize NULL NULL database r3 UC
  3493. statement ok
  3494. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 GRANT CREATE ON DATABASES TO r8
  3495. query TTTTTT rowsort
  3496. SELECT * FROM default_privileges
  3497. ----
  3498. r6 NULL NULL database r8 C
  3499. r7 NULL NULL database r8 C
  3500. PUBLIC NULL NULL type PUBLIC U
  3501. materialize NULL NULL database r1 U
  3502. materialize NULL NULL database r2 U
  3503. materialize NULL NULL database r3 UC
  3504. statement ok
  3505. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT CREATE ON DATABASES TO PUBLIC
  3506. query TTTTTT rowsort
  3507. SELECT * FROM default_privileges
  3508. ----
  3509. r6 NULL NULL database r8 C
  3510. r7 NULL NULL database r8 C
  3511. PUBLIC NULL NULL type PUBLIC U
  3512. materialize NULL NULL database r1 U
  3513. materialize NULL NULL database r2 U
  3514. materialize NULL NULL database r3 UC
  3515. materialize NULL NULL database PUBLIC C
  3516. statement ok
  3517. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT CREATE ON DATABASES TO r1
  3518. query TTTTTT rowsort
  3519. SELECT * FROM default_privileges
  3520. ----
  3521. r6 NULL NULL database r8 C
  3522. r7 NULL NULL database r8 C
  3523. PUBLIC NULL NULL type PUBLIC U
  3524. materialize NULL NULL database r2 U
  3525. materialize NULL NULL database r1 UC
  3526. materialize NULL NULL database r3 UC
  3527. materialize NULL NULL database PUBLIC C
  3528. statement ok
  3529. CREATE DATABASE d
  3530. query TT rowsort
  3531. SELECT name, unnest(privileges)::text FROM mz_databases WHERE name = 'd'
  3532. ----
  3533. d =C/materialize
  3534. d r2=U/materialize
  3535. d r1=UC/materialize
  3536. d r3=UC/materialize
  3537. d materialize=UC/materialize
  3538. d mz_support=U/materialize
  3539. statement ok
  3540. DROP DATABASE d
  3541. simple conn=r6,user=r6
  3542. CREATE DATABASE d
  3543. ----
  3544. COMPLETE 0
  3545. query TT rowsort
  3546. SELECT name, unnest(privileges)::text FROM mz_databases WHERE name = 'd'
  3547. ----
  3548. d r8=C/r6
  3549. d r6=UC/r6
  3550. d mz_support=U/r6
  3551. simple conn=r6,user=r6
  3552. DROP DATABASE d
  3553. ----
  3554. COMPLETE 0
  3555. simple conn=r7,user=r7
  3556. CREATE DATABASE d
  3557. ----
  3558. COMPLETE 0
  3559. query TT rowsort
  3560. SELECT name, unnest(privileges)::text FROM mz_databases WHERE name = 'd'
  3561. ----
  3562. d r8=C/r7
  3563. d r7=UC/r7
  3564. d mz_support=U/r7
  3565. simple conn=r7,user=r7
  3566. DROP DATABASE d
  3567. ----
  3568. COMPLETE 0
  3569. simple conn=r9,user=r9
  3570. CREATE DATABASE d
  3571. ----
  3572. COMPLETE 0
  3573. query TT rowsort
  3574. SELECT name, unnest(privileges)::text FROM mz_databases WHERE name = 'd'
  3575. ----
  3576. d r9=UC/r9
  3577. d mz_support=U/r9
  3578. simple conn=r9,user=r9
  3579. DROP DATABASE d
  3580. ----
  3581. COMPLETE 0
  3582. ### Revokes
  3583. statement ok
  3584. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON DATABASES FROM r1, r2
  3585. query TTTTTT rowsort
  3586. SELECT * FROM default_privileges
  3587. ----
  3588. r6 NULL NULL database r8 C
  3589. r7 NULL NULL database r8 C
  3590. PUBLIC NULL NULL type PUBLIC U
  3591. materialize NULL NULL database r1 C
  3592. materialize NULL NULL database r3 UC
  3593. materialize NULL NULL database PUBLIC C
  3594. statement ok
  3595. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE ALL ON DATABASES FROM r3
  3596. query TTTTTT rowsort
  3597. SELECT * FROM default_privileges
  3598. ----
  3599. r6 NULL NULL database r8 C
  3600. r7 NULL NULL database r8 C
  3601. PUBLIC NULL NULL type PUBLIC U
  3602. materialize NULL NULL database r1 C
  3603. materialize NULL NULL database PUBLIC C
  3604. statement ok
  3605. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 REVOKE CREATE ON DATABASES FROM r8
  3606. query TTTTTT rowsort
  3607. SELECT * FROM default_privileges
  3608. ----
  3609. PUBLIC NULL NULL type PUBLIC U
  3610. materialize NULL NULL database r1 C
  3611. materialize NULL NULL database PUBLIC C
  3612. statement ok
  3613. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE CREATE ON DATABASES FROM PUBLIC
  3614. query TTTTTT rowsort
  3615. SELECT * FROM default_privileges
  3616. ----
  3617. PUBLIC NULL NULL type PUBLIC U
  3618. materialize NULL NULL database r1 C
  3619. statement ok
  3620. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE CREATE ON DATABASES FROM r1
  3621. query TTTTTT rowsort
  3622. SELECT * FROM default_privileges
  3623. ----
  3624. PUBLIC NULL NULL type PUBLIC U
  3625. statement ok
  3626. CREATE DATABASE d
  3627. query TT rowsort
  3628. SELECT name, unnest(privileges)::text FROM mz_databases WHERE name = 'd'
  3629. ----
  3630. d materialize=UC/materialize
  3631. d mz_support=U/materialize
  3632. statement ok
  3633. DROP DATABASE d
  3634. simple conn=r6,user=r6
  3635. CREATE DATABASE d
  3636. ----
  3637. COMPLETE 0
  3638. query TT rowsort
  3639. SELECT name, unnest(privileges)::text FROM mz_databases WHERE name = 'd'
  3640. ----
  3641. d r6=UC/r6
  3642. d mz_support=U/r6
  3643. simple conn=r6,user=r6
  3644. DROP DATABASE d
  3645. ----
  3646. COMPLETE 0
  3647. simple conn=r7,user=r7
  3648. CREATE DATABASE d
  3649. ----
  3650. COMPLETE 0
  3651. query TT rowsort
  3652. SELECT name, unnest(privileges)::text FROM mz_databases WHERE name = 'd'
  3653. ----
  3654. d r7=UC/r7
  3655. d mz_support=U/r7
  3656. simple conn=r7,user=r7
  3657. DROP DATABASE d
  3658. ----
  3659. COMPLETE 0
  3660. simple conn=r9,user=r9
  3661. CREATE DATABASE d
  3662. ----
  3663. COMPLETE 0
  3664. query TT rowsort
  3665. SELECT name, unnest(privileges)::text FROM mz_databases WHERE name = 'd'
  3666. ----
  3667. d r9=UC/r9
  3668. d mz_support=U/r9
  3669. simple conn=r9,user=r9
  3670. DROP DATABASE d
  3671. ----
  3672. COMPLETE 0
  3673. ## Clusters
  3674. ### Grants
  3675. statement ok
  3676. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON CLUSTERS TO r1, r2
  3677. query TTTTTT rowsort
  3678. SELECT * FROM default_privileges
  3679. ----
  3680. PUBLIC NULL NULL type PUBLIC U
  3681. materialize NULL NULL cluster r1 U
  3682. materialize NULL NULL cluster r2 U
  3683. statement ok
  3684. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT ALL ON CLUSTERS TO r3
  3685. query TTTTTT rowsort
  3686. SELECT * FROM default_privileges
  3687. ----
  3688. PUBLIC NULL NULL type PUBLIC U
  3689. materialize NULL NULL cluster r1 U
  3690. materialize NULL NULL cluster r2 U
  3691. materialize NULL NULL cluster r3 UC
  3692. statement ok
  3693. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 GRANT CREATE ON CLUSTERS TO r8
  3694. query TTTTTT rowsort
  3695. SELECT * FROM default_privileges
  3696. ----
  3697. r6 NULL NULL cluster r8 C
  3698. r7 NULL NULL cluster r8 C
  3699. PUBLIC NULL NULL type PUBLIC U
  3700. materialize NULL NULL cluster r1 U
  3701. materialize NULL NULL cluster r2 U
  3702. materialize NULL NULL cluster r3 UC
  3703. statement ok
  3704. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT CREATE ON CLUSTERS TO PUBLIC
  3705. query TTTTTT rowsort
  3706. SELECT * FROM default_privileges
  3707. ----
  3708. r6 NULL NULL cluster r8 C
  3709. r7 NULL NULL cluster r8 C
  3710. PUBLIC NULL NULL type PUBLIC U
  3711. materialize NULL NULL cluster r1 U
  3712. materialize NULL NULL cluster r2 U
  3713. materialize NULL NULL cluster r3 UC
  3714. materialize NULL NULL cluster PUBLIC C
  3715. statement ok
  3716. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT CREATE ON CLUSTERS TO r1
  3717. query TTTTTT rowsort
  3718. SELECT * FROM default_privileges
  3719. ----
  3720. r6 NULL NULL cluster r8 C
  3721. r7 NULL NULL cluster r8 C
  3722. PUBLIC NULL NULL type PUBLIC U
  3723. materialize NULL NULL cluster r2 U
  3724. materialize NULL NULL cluster r1 UC
  3725. materialize NULL NULL cluster r3 UC
  3726. materialize NULL NULL cluster PUBLIC C
  3727. statement ok
  3728. CREATE CLUSTER c REPLICAS (r1 (SIZE '1'))
  3729. query TT rowsort
  3730. SELECT name, unnest(privileges)::text FROM mz_clusters WHERE name = 'c'
  3731. ----
  3732. c =C/materialize
  3733. c r2=U/materialize
  3734. c r1=UC/materialize
  3735. c r3=UC/materialize
  3736. c materialize=UC/materialize
  3737. c mz_support=U/materialize
  3738. statement ok
  3739. DROP CLUSTER c
  3740. simple conn=r6,user=r6
  3741. CREATE CLUSTER c REPLICAS (r1 (SIZE '1'))
  3742. ----
  3743. COMPLETE 0
  3744. query TT rowsort
  3745. SELECT name, unnest(privileges)::text FROM mz_clusters WHERE name = 'c'
  3746. ----
  3747. c r8=C/r6
  3748. c r6=UC/r6
  3749. c mz_support=U/r6
  3750. simple conn=r6,user=r6
  3751. DROP CLUSTER c
  3752. ----
  3753. COMPLETE 0
  3754. simple conn=r7,user=r7
  3755. CREATE CLUSTER c REPLICAS (r1 (SIZE '1'))
  3756. ----
  3757. COMPLETE 0
  3758. query TT rowsort
  3759. SELECT name, unnest(privileges)::text FROM mz_clusters WHERE name = 'c'
  3760. ----
  3761. c r8=C/r7
  3762. c r7=UC/r7
  3763. c mz_support=U/r7
  3764. simple conn=r7,user=r7
  3765. DROP CLUSTER c
  3766. ----
  3767. COMPLETE 0
  3768. simple conn=r9,user=r9
  3769. CREATE CLUSTER c REPLICAS (r1 (SIZE '1'))
  3770. ----
  3771. COMPLETE 0
  3772. query TT rowsort
  3773. SELECT name, unnest(privileges)::text FROM mz_clusters WHERE name = 'c'
  3774. ----
  3775. c r9=UC/r9
  3776. c mz_support=U/r9
  3777. simple conn=r9,user=r9
  3778. DROP CLUSTER c
  3779. ----
  3780. COMPLETE 0
  3781. ### Revokes
  3782. statement ok
  3783. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON CLUSTERS FROM r1, r2
  3784. query TTTTTT rowsort
  3785. SELECT * FROM default_privileges
  3786. ----
  3787. r6 NULL NULL cluster r8 C
  3788. r7 NULL NULL cluster r8 C
  3789. PUBLIC NULL NULL type PUBLIC U
  3790. materialize NULL NULL cluster r1 C
  3791. materialize NULL NULL cluster r3 UC
  3792. materialize NULL NULL cluster PUBLIC C
  3793. statement ok
  3794. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE ALL ON CLUSTERS FROM r3
  3795. query TTTTTT rowsort
  3796. SELECT * FROM default_privileges
  3797. ----
  3798. r6 NULL NULL cluster r8 C
  3799. r7 NULL NULL cluster r8 C
  3800. PUBLIC NULL NULL type PUBLIC U
  3801. materialize NULL NULL cluster r1 C
  3802. materialize NULL NULL cluster PUBLIC C
  3803. statement ok
  3804. ALTER DEFAULT PRIVILEGES FOR ROLE r6, r7 REVOKE CREATE ON CLUSTERS FROM r8
  3805. query TTTTTT rowsort
  3806. SELECT * FROM default_privileges
  3807. ----
  3808. PUBLIC NULL NULL type PUBLIC U
  3809. materialize NULL NULL cluster r1 C
  3810. materialize NULL NULL cluster PUBLIC C
  3811. statement ok
  3812. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE CREATE ON CLUSTERS FROM PUBLIC
  3813. query TTTTTT rowsort
  3814. SELECT * FROM default_privileges
  3815. ----
  3816. PUBLIC NULL NULL type PUBLIC U
  3817. materialize NULL NULL cluster r1 C
  3818. statement ok
  3819. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE CREATE ON CLUSTERS FROM r1
  3820. query TTTTTT rowsort
  3821. SELECT * FROM default_privileges
  3822. ----
  3823. PUBLIC NULL NULL type PUBLIC U
  3824. statement ok
  3825. CREATE CLUSTER c REPLICAS (r1 (SIZE '1'))
  3826. query TT rowsort
  3827. SELECT name, unnest(privileges)::text FROM mz_clusters WHERE name = 'c'
  3828. ----
  3829. c materialize=UC/materialize
  3830. c mz_support=U/materialize
  3831. statement ok
  3832. DROP CLUSTER c
  3833. simple conn=r6,user=r6
  3834. CREATE CLUSTER c REPLICAS (r1 (SIZE '1'))
  3835. ----
  3836. COMPLETE 0
  3837. query TT rowsort
  3838. SELECT name, unnest(privileges)::text FROM mz_clusters WHERE name = 'c'
  3839. ----
  3840. c r6=UC/r6
  3841. c mz_support=U/r6
  3842. simple conn=r6,user=r6
  3843. DROP CLUSTER c
  3844. ----
  3845. COMPLETE 0
  3846. simple conn=r7,user=r7
  3847. CREATE CLUSTER c REPLICAS (r1 (SIZE '1'))
  3848. ----
  3849. COMPLETE 0
  3850. query TT rowsort
  3851. SELECT name, unnest(privileges)::text FROM mz_clusters WHERE name = 'c'
  3852. ----
  3853. c r7=UC/r7
  3854. c mz_support=U/r7
  3855. simple conn=r7,user=r7
  3856. DROP CLUSTER c
  3857. ----
  3858. COMPLETE 0
  3859. simple conn=r9,user=r9
  3860. CREATE CLUSTER c REPLICAS (r1 (SIZE '1'))
  3861. ----
  3862. COMPLETE 0
  3863. query TT rowsort
  3864. SELECT name, unnest(privileges)::text FROM mz_clusters WHERE name = 'c'
  3865. ----
  3866. c r9=UC/r9
  3867. c mz_support=U/r9
  3868. simple conn=r9,user=r9
  3869. DROP CLUSTER c
  3870. ----
  3871. COMPLETE 0
  3872. simple conn=mz_system,user=mz_system
  3873. REVOKE CREATE ON SCHEMA materialize.public FROM r6, r7;
  3874. ----
  3875. COMPLETE 0
  3876. simple conn=mz_system,user=mz_system
  3877. REVOKE CREATE, USAGE ON SCHEMA d1.s1, d1.s11, d2.s2, d2.s22 FROM r9, r11;
  3878. ----
  3879. COMPLETE 0
  3880. simple conn=mz_system,user=mz_system
  3881. REVOKE USAGE ON DATABASE d1, d2 FROM r9, r11;
  3882. ----
  3883. COMPLETE 0
  3884. simple conn=mz_system,user=mz_system
  3885. REVOKE CREATE ON DATABASE materialize, d1, d2 FROM r6, r7, r9;
  3886. ----
  3887. COMPLETE 0
  3888. simple conn=mz_system,user=mz_system
  3889. REVOKE CREATE ON CLUSTER quickstart FROM r6, r7, r9, r11;
  3890. ----
  3891. COMPLETE 0
  3892. statement ok
  3893. DROP ROLE r1
  3894. statement ok
  3895. DROP ROLE r2
  3896. statement ok
  3897. DROP ROLE r3
  3898. statement ok
  3899. DROP ROLE r4
  3900. statement ok
  3901. DROP ROLE r5
  3902. simple conn=mz_system,user=mz_system
  3903. REVOKE CREATECLUSTER, CREATEDB ON SYSTEM FROM r6;
  3904. ----
  3905. COMPLETE 0
  3906. statement ok
  3907. DROP ROLE r6
  3908. simple conn=mz_system,user=mz_system
  3909. REVOKE CREATECLUSTER, CREATEDB ON SYSTEM FROM r7;
  3910. ----
  3911. COMPLETE 0
  3912. statement ok
  3913. DROP ROLE r7
  3914. statement ok
  3915. DROP ROLE r8
  3916. simple conn=mz_system,user=mz_system
  3917. REVOKE CREATECLUSTER, CREATEDB ON SYSTEM FROM r9;
  3918. ----
  3919. COMPLETE 0
  3920. statement ok
  3921. DROP ROLE r9
  3922. statement ok
  3923. DROP ROLE r10
  3924. simple conn=mz_system,user=mz_system
  3925. REVOKE CREATECLUSTER, CREATEDB ON SYSTEM FROM r11;
  3926. ----
  3927. COMPLETE 0
  3928. statement ok
  3929. DROP ROLE r11
  3930. statement ok
  3931. DROP ROLE r12
  3932. # Test that default privileges prevent dropping a role
  3933. statement ok
  3934. CREATE ROLE r1
  3935. statement ok
  3936. GRANT r1 TO materialize
  3937. statement ok
  3938. ALTER DEFAULT PRIVILEGES FOR ROLE r1 GRANT SELECT ON TABLES TO materialize
  3939. simple conn=materialize,user=materialize
  3940. DROP ROLE r1
  3941. ----
  3942. db error: ERROR: role "r1" cannot be dropped because some objects depend on it
  3943. DETAIL: r1: default privileges on TABLES created by r1
  3944. statement ok
  3945. ALTER DEFAULT PRIVILEGES FOR ROLE r1 REVOKE SELECT ON TABLES FROM materialize
  3946. statement ok
  3947. DROP ROLE r1
  3948. statement ok
  3949. CREATE ROLE r1
  3950. statement ok
  3951. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON CONNECTIONS TO r1
  3952. simple conn=materialize,user=materialize
  3953. DROP ROLE r1
  3954. ----
  3955. db error: ERROR: role "r1" cannot be dropped because some objects depend on it
  3956. DETAIL: r1: default privileges on CONNECTIONS granted to r1
  3957. statement ok
  3958. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON CONNECTIONS FROM r1
  3959. statement ok
  3960. DROP ROLE r1
  3961. # Test ALL ROLES variant
  3962. statement ok
  3963. CREATE ROLE r1
  3964. statement error permission denied to ALTER DEFAULT PRIVILEGES FOR ALL ROLES
  3965. ALTER DEFAULT PRIVILEGES FOR ALL ROLES GRANT INSERT ON TABLES TO r1
  3966. simple conn=mz_system,user=mz_system
  3967. ALTER DEFAULT PRIVILEGES FOR ALL ROLES GRANT INSERT ON TABLES TO r1;
  3968. ----
  3969. COMPLETE 0
  3970. query TTTTTT rowsort
  3971. SELECT * FROM default_privileges
  3972. ----
  3973. PUBLIC NULL NULL table r1 a
  3974. PUBLIC NULL NULL type PUBLIC U
  3975. statement ok
  3976. CREATE ROLE r2
  3977. simple conn=mz_system,user=mz_system
  3978. GRANT CREATE ON SCHEMA materialize.public TO r2;
  3979. ----
  3980. COMPLETE 0
  3981. simple conn=r2,user=r2
  3982. CREATE TABLE t ();
  3983. ----
  3984. COMPLETE 0
  3985. query TT rowsort
  3986. SELECT name, unnest(privileges)::text FROM mz_tables WHERE name = 't'
  3987. ----
  3988. t r1=a/r2
  3989. t r2=arwd/r2
  3990. simple conn=r2,user=r2
  3991. DROP TABLE t;
  3992. ----
  3993. COMPLETE 0
  3994. simple conn=mz_system,user=mz_system
  3995. REVOKE CREATE ON SCHEMA materialize.public FROM r2;
  3996. ----
  3997. COMPLETE 0
  3998. statement ok
  3999. DROP ROLE r2
  4000. statement error permission denied to ALTER DEFAULT PRIVILEGES FOR ALL ROLES
  4001. ALTER DEFAULT PRIVILEGES FOR ALL ROLES REVOKE INSERT ON TABLES FROM r1
  4002. simple conn=mz_system,user=mz_system
  4003. ALTER DEFAULT PRIVILEGES FOR ALL ROLES REVOKE INSERT ON TABLES FROM r1;
  4004. ----
  4005. COMPLETE 0
  4006. query TTTTTT rowsort
  4007. SELECT * FROM default_privileges
  4008. ----
  4009. PUBLIC NULL NULL type PUBLIC U
  4010. statement ok
  4011. DROP ROLE r1
  4012. ## Test that we can remove pre-populated global default privileges.
  4013. simple conn=mz_system,user=mz_system
  4014. ALTER DEFAULT PRIVILEGES FOR ALL ROLES REVOKE USAGE ON TYPES FROM PUBLIC;
  4015. ----
  4016. COMPLETE 0
  4017. query TTTTTT rowsort
  4018. SELECT * FROM default_privileges
  4019. ----
  4020. statement ok
  4021. CREATE TYPE ty AS LIST (ELEMENT TYPE = int4);
  4022. query T rowsort
  4023. SELECT unnest(privileges)::text FROM mz_types WHERE name = 'ty'
  4024. ----
  4025. materialize=U/materialize
  4026. statement ok
  4027. DROP TYPE ty;
  4028. simple conn=mz_system,user=mz_system
  4029. ALTER DEFAULT PRIVILEGES FOR ALL ROLES GRANT USAGE ON TYPES TO PUBLIC;
  4030. ----
  4031. COMPLETE 0
  4032. query TTTTTT rowsort
  4033. SELECT * FROM default_privileges
  4034. ----
  4035. PUBLIC NULL NULL type PUBLIC U
  4036. ## Test that you can also specify PUBLIC in target role list
  4037. statement error permission denied to ALTER DEFAULT PRIVILEGES FOR ALL ROLES
  4038. ALTER DEFAULT PRIVILEGES FOR ROLE PUBLIC GRANT CREATE ON CLUSTERS TO materialize
  4039. simple conn=mz_system,user=mz_system
  4040. ALTER DEFAULT PRIVILEGES FOR ROLE PUBLIC GRANT CREATE ON CLUSTERS TO materialize
  4041. ----
  4042. COMPLETE 0
  4043. query TTTTTT rowsort
  4044. SELECT * FROM default_privileges
  4045. ----
  4046. PUBLIC NULL NULL type PUBLIC U
  4047. PUBLIC NULL NULL cluster materialize C
  4048. statement error permission denied to ALTER DEFAULT PRIVILEGES FOR ALL ROLES
  4049. ALTER DEFAULT PRIVILEGES FOR ROLE PUBLIC REVOKE CREATE ON CLUSTERS FROM materialize
  4050. simple conn=mz_system,user=mz_system
  4051. ALTER DEFAULT PRIVILEGES FOR ROLE PUBLIC REVOKE CREATE ON CLUSTERS FROM materialize
  4052. ----
  4053. COMPLETE 0
  4054. query TTTTTT rowsort
  4055. SELECT * FROM default_privileges
  4056. ----
  4057. PUBLIC NULL NULL type PUBLIC U
  4058. # Test that DROP OWNED drops default privileges
  4059. statement ok
  4060. CREATE ROLE r1
  4061. statement ok
  4062. GRANT r1 TO materialize
  4063. statement ok
  4064. ALTER DEFAULT PRIVILEGES FOR ROLE r1 GRANT SELECT ON TABLES TO materialize
  4065. query TTTTTT rowsort
  4066. SELECT * FROM default_privileges
  4067. ----
  4068. PUBLIC NULL NULL type PUBLIC U
  4069. r1 NULL NULL table materialize r
  4070. statement ok
  4071. DROP OWNED BY r1
  4072. query TTTTTT rowsort
  4073. SELECT * FROM default_privileges
  4074. ----
  4075. PUBLIC NULL NULL type PUBLIC U
  4076. statement ok
  4077. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT SELECT ON TABLES TO r1
  4078. query TTTTTT rowsort
  4079. SELECT * FROM default_privileges
  4080. ----
  4081. PUBLIC NULL NULL type PUBLIC U
  4082. materialize NULL NULL table r1 r
  4083. statement ok
  4084. DROP OWNED BY r1
  4085. query TTTTTT rowsort
  4086. SELECT * FROM default_privileges
  4087. ----
  4088. PUBLIC NULL NULL type PUBLIC U
  4089. statement ok
  4090. DROP ROLE r1
  4091. # Test error scenarios
  4092. statement error For object type VIEW, you must specify 'TABLE' or omit the object type
  4093. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT SELECT ON VIEWS TO PUBLIC
  4094. statement error For object type MATERIALIZED VIEW, you must specify 'TABLE' or omit the object type
  4095. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT SELECT ON MATERIALIZED VIEWS TO PUBLIC
  4096. statement error For object type SOURCE, you must specify 'TABLE' or omit the object type
  4097. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT SELECT ON SOURCES TO PUBLIC
  4098. statement error Unsupported GRANT on SINK
  4099. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON SINKS TO PUBLIC
  4100. statement error Unsupported GRANT on CLUSTER REPLICA
  4101. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON CLUSTER REPLICAS TO PUBLIC
  4102. statement error Unsupported GRANT on ROLE
  4103. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON ROLES TO PUBLIC
  4104. statement error Unsupported GRANT on INDEX
  4105. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON INDEXES TO PUBLIC
  4106. statement error Expected one of TABLES or TYPES or SECRETS or CONNECTIONS or SCHEMAS or DATABASES or CLUSTERS
  4107. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT USAGE ON FUNCTIONS TO PUBLIC
  4108. statement error cannot specify CLUSTERS and IN DATABASE
  4109. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE materialize GRANT USAGE ON CLUSTERS TO PUBLIC
  4110. statement error cannot specify DATABASES and IN DATABASE
  4111. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE materialize GRANT USAGE ON DATABASES TO PUBLIC
  4112. statement error cannot specify CLUSTERS and IN SCHEMA
  4113. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA public GRANT USAGE ON CLUSTERS TO PUBLIC
  4114. statement error cannot specify DATABASES and IN SCHEMA
  4115. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA public GRANT USAGE ON DATABASES TO PUBLIC
  4116. statement error cannot specify SCHEMAS and IN SCHEMA
  4117. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA public GRANT USAGE ON SCHEMAS TO PUBLIC
  4118. statement error invalid privilege types INSERT for TYPE
  4119. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT INSERT ON TYPES TO PUBLIC
  4120. statement error invalid privilege types DELETE for CLUSTER
  4121. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT DELETE ON CLUSTERS TO PUBLIC
  4122. simple conn=mz_system,user=mz_system
  4123. ALTER DEFAULT PRIVILEGES FOR ROLE mz_introspection GRANT SELECT ON TABLES TO PUBLIC
  4124. ----
  4125. db error: ERROR: unknown role 'mz_introspection'
  4126. simple conn=mz_system,user=mz_system
  4127. ALTER DEFAULT PRIVILEGES FOR ROLE mz_support GRANT SELECT ON TABLES TO PUBLIC
  4128. ----
  4129. db error: ERROR: must be a member of "mz_support"
  4130. statement error system schema 'mz_catalog' cannot be modified
  4131. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA mz_catalog GRANT INSERT ON TABLES TO PUBLIC
  4132. statement error role name "mz_system" is reserved
  4133. ALTER DEFAULT PRIVILEGES FOR ROLE materialize GRANT INSERT ON TABLES TO mz_system
  4134. statement error role name "mz_support" is reserved
  4135. ALTER DEFAULT PRIVILEGES FOR ROLE materialize REVOKE USAGE ON CLUSTERS FROM mz_support
  4136. # Test that we don't retain dangling pointers in default privileges
  4137. statement ok
  4138. CREATE DATABASE d
  4139. statement ok
  4140. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN DATABASE d GRANT SELECT ON TABLES TO PUBLIC
  4141. query TTTTTT rowsort
  4142. SELECT * FROM default_privileges
  4143. ----
  4144. PUBLIC NULL NULL type PUBLIC U
  4145. materialize d NULL table PUBLIC r
  4146. statement ok
  4147. DROP DATABASE d
  4148. query TTTTTT rowsort
  4149. SELECT * FROM default_privileges
  4150. ----
  4151. PUBLIC NULL NULL type PUBLIC U
  4152. statement ok
  4153. CREATE SCHEMA s
  4154. statement ok
  4155. ALTER DEFAULT PRIVILEGES FOR ROLE materialize IN SCHEMA s GRANT SELECT ON TABLES TO PUBLIC
  4156. query TTTTTT rowsort
  4157. SELECT * FROM default_privileges
  4158. ----
  4159. PUBLIC NULL NULL type PUBLIC U
  4160. materialize materialize s table PUBLIC r
  4161. statement ok
  4162. DROP SCHEMA s
  4163. query TTTTTT rowsort
  4164. SELECT * FROM default_privileges
  4165. ----
  4166. PUBLIC NULL NULL type PUBLIC U
  4167. # Disable rbac checks.
  4168. simple conn=mz_system,user=mz_system
  4169. ALTER SYSTEM SET enable_rbac_checks TO false;
  4170. ----
  4171. COMPLETE 0