pg_proc.dat 598 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815
  1. #----------------------------------------------------------------------
  2. #
  3. # pg_proc.dat
  4. # Initial contents of the pg_proc system catalog.
  5. #
  6. # Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
  7. # Portions Copyright (c) 1994, Regents of the University of California
  8. #
  9. # src/include/catalog/pg_proc.dat
  10. #
  11. #----------------------------------------------------------------------
  12. [
  13. # Note: every entry in pg_proc.dat is expected to have a 'descr' comment,
  14. # except for functions that implement pg_operator.dat operators and don't
  15. # have a good reason to be called directly rather than via the operator.
  16. # (If you do expect such a function to be used directly, you should
  17. # duplicate the operator's comment.) initdb will supply suitable default
  18. # comments for functions referenced by pg_operator.
  19. # Try to follow the style of existing functions' comments.
  20. # Some recommended conventions:
  21. #
  22. # "I/O" for typinput, typoutput, typreceive, typsend functions
  23. # "I/O typmod" for typmodin, typmodout functions
  24. # "aggregate transition function" for aggtransfn functions, unless
  25. # they are reasonably useful in their own right
  26. # "aggregate final function" for aggfinalfn functions (likewise)
  27. # "convert srctypename to desttypename" for cast functions
  28. # "less-equal-greater" for B-tree comparison functions
  29. # Note: pronargs is computed when this file is read, so it does not need
  30. # to be specified in entries here. See AddDefaultValues() in Catalog.pm.
  31. # Once upon a time these entries were ordered by OID. Lately it's often
  32. # been the custom to insert new entries adjacent to related older entries.
  33. # Try to do one or the other though, don't just insert entries at random.
  34. # OIDS 1 - 99
  35. { oid => '1242', descr => 'I/O',
  36. proname => 'boolin', prorettype => 'bool', proargtypes => 'cstring',
  37. prosrc => 'boolin' },
  38. { oid => '1243', descr => 'I/O',
  39. proname => 'boolout', prorettype => 'cstring', proargtypes => 'bool',
  40. prosrc => 'boolout' },
  41. { oid => '1244', descr => 'I/O',
  42. proname => 'byteain', prorettype => 'bytea', proargtypes => 'cstring',
  43. prosrc => 'byteain' },
  44. { oid => '31', descr => 'I/O',
  45. proname => 'byteaout', prorettype => 'cstring', proargtypes => 'bytea',
  46. prosrc => 'byteaout' },
  47. { oid => '1245', descr => 'I/O',
  48. proname => 'charin', prorettype => 'char', proargtypes => 'cstring',
  49. prosrc => 'charin' },
  50. { oid => '33', descr => 'I/O',
  51. proname => 'charout', prorettype => 'cstring', proargtypes => 'char',
  52. prosrc => 'charout' },
  53. { oid => '34', descr => 'I/O',
  54. proname => 'namein', prorettype => 'name', proargtypes => 'cstring',
  55. prosrc => 'namein' },
  56. { oid => '35', descr => 'I/O',
  57. proname => 'nameout', prorettype => 'cstring', proargtypes => 'name',
  58. prosrc => 'nameout' },
  59. { oid => '38', descr => 'I/O',
  60. proname => 'int2in', prorettype => 'int2', proargtypes => 'cstring',
  61. prosrc => 'int2in' },
  62. { oid => '39', descr => 'I/O',
  63. proname => 'int2out', prorettype => 'cstring', proargtypes => 'int2',
  64. prosrc => 'int2out' },
  65. { oid => '40', descr => 'I/O',
  66. proname => 'int2vectorin', prorettype => 'int2vector',
  67. proargtypes => 'cstring', prosrc => 'int2vectorin' },
  68. { oid => '41', descr => 'I/O',
  69. proname => 'int2vectorout', prorettype => 'cstring',
  70. proargtypes => 'int2vector', prosrc => 'int2vectorout' },
  71. { oid => '42', descr => 'I/O',
  72. proname => 'int4in', prorettype => 'int4', proargtypes => 'cstring',
  73. prosrc => 'int4in' },
  74. { oid => '43', descr => 'I/O',
  75. proname => 'int4out', prorettype => 'cstring', proargtypes => 'int4',
  76. prosrc => 'int4out' },
  77. { oid => '44', descr => 'I/O',
  78. proname => 'regprocin', provolatile => 's', prorettype => 'regproc',
  79. proargtypes => 'cstring', prosrc => 'regprocin' },
  80. { oid => '45', descr => 'I/O',
  81. proname => 'regprocout', provolatile => 's', prorettype => 'cstring',
  82. proargtypes => 'regproc', prosrc => 'regprocout' },
  83. { oid => '3494', descr => 'convert proname to regproc',
  84. proname => 'to_regproc', provolatile => 's', prorettype => 'regproc',
  85. proargtypes => 'text', prosrc => 'to_regproc' },
  86. { oid => '3479', descr => 'convert proname to regprocedure',
  87. proname => 'to_regprocedure', provolatile => 's',
  88. prorettype => 'regprocedure', proargtypes => 'text',
  89. prosrc => 'to_regprocedure' },
  90. { oid => '46', descr => 'I/O',
  91. proname => 'textin', prorettype => 'text', proargtypes => 'cstring',
  92. prosrc => 'textin' },
  93. { oid => '47', descr => 'I/O',
  94. proname => 'textout', prorettype => 'cstring', proargtypes => 'text',
  95. prosrc => 'textout' },
  96. { oid => '48', descr => 'I/O',
  97. proname => 'tidin', prorettype => 'tid', proargtypes => 'cstring',
  98. prosrc => 'tidin' },
  99. { oid => '49', descr => 'I/O',
  100. proname => 'tidout', prorettype => 'cstring', proargtypes => 'tid',
  101. prosrc => 'tidout' },
  102. { oid => '50', descr => 'I/O',
  103. proname => 'xidin', prorettype => 'xid', proargtypes => 'cstring',
  104. prosrc => 'xidin' },
  105. { oid => '51', descr => 'I/O',
  106. proname => 'xidout', prorettype => 'cstring', proargtypes => 'xid',
  107. prosrc => 'xidout' },
  108. { oid => '5070', descr => 'I/O',
  109. proname => 'xid8in', prorettype => 'xid8', proargtypes => 'cstring',
  110. prosrc => 'xid8in' },
  111. { oid => '5081', descr => 'I/O',
  112. proname => 'xid8out', prorettype => 'cstring', proargtypes => 'xid8',
  113. prosrc => 'xid8out' },
  114. { oid => '5082', descr => 'I/O',
  115. proname => 'xid8recv', prorettype => 'xid8', proargtypes => 'internal',
  116. prosrc => 'xid8recv' },
  117. { oid => '5083', descr => 'I/O',
  118. proname => 'xid8send', prorettype => 'bytea', proargtypes => 'xid8',
  119. prosrc => 'xid8send' },
  120. { oid => '52', descr => 'I/O',
  121. proname => 'cidin', prorettype => 'cid', proargtypes => 'cstring',
  122. prosrc => 'cidin' },
  123. { oid => '53', descr => 'I/O',
  124. proname => 'cidout', prorettype => 'cstring', proargtypes => 'cid',
  125. prosrc => 'cidout' },
  126. { oid => '54', descr => 'I/O',
  127. proname => 'oidvectorin', prorettype => 'oidvector', proargtypes => 'cstring',
  128. prosrc => 'oidvectorin' },
  129. { oid => '55', descr => 'I/O',
  130. proname => 'oidvectorout', prorettype => 'cstring',
  131. proargtypes => 'oidvector', prosrc => 'oidvectorout' },
  132. { oid => '56',
  133. proname => 'boollt', proleakproof => 't', prorettype => 'bool',
  134. proargtypes => 'bool bool', prosrc => 'boollt' },
  135. { oid => '57',
  136. proname => 'boolgt', proleakproof => 't', prorettype => 'bool',
  137. proargtypes => 'bool bool', prosrc => 'boolgt' },
  138. { oid => '60',
  139. proname => 'booleq', proleakproof => 't', prorettype => 'bool',
  140. proargtypes => 'bool bool', prosrc => 'booleq' },
  141. { oid => '61',
  142. proname => 'chareq', proleakproof => 't', prorettype => 'bool',
  143. proargtypes => 'char char', prosrc => 'chareq' },
  144. { oid => '62',
  145. proname => 'nameeq', proleakproof => 't', prorettype => 'bool',
  146. proargtypes => 'name name', prosrc => 'nameeq' },
  147. { oid => '63',
  148. proname => 'int2eq', proleakproof => 't', prorettype => 'bool',
  149. proargtypes => 'int2 int2', prosrc => 'int2eq' },
  150. { oid => '64',
  151. proname => 'int2lt', proleakproof => 't', prorettype => 'bool',
  152. proargtypes => 'int2 int2', prosrc => 'int2lt' },
  153. { oid => '65',
  154. proname => 'int4eq', proleakproof => 't', prorettype => 'bool',
  155. proargtypes => 'int4 int4', prosrc => 'int4eq' },
  156. { oid => '66',
  157. proname => 'int4lt', proleakproof => 't', prorettype => 'bool',
  158. proargtypes => 'int4 int4', prosrc => 'int4lt' },
  159. { oid => '67',
  160. proname => 'texteq', proleakproof => 't', prorettype => 'bool',
  161. proargtypes => 'text text', prosrc => 'texteq' },
  162. { oid => '3696',
  163. proname => 'starts_with', prosupport => 'text_starts_with_support',
  164. proleakproof => 't', prorettype => 'bool', proargtypes => 'text text',
  165. prosrc => 'text_starts_with' },
  166. { oid => '6242', descr => 'planner support for text_starts_with',
  167. proname => 'text_starts_with_support', prorettype => 'internal',
  168. proargtypes => 'internal', prosrc => 'text_starts_with_support' },
  169. { oid => '68',
  170. proname => 'xideq', proleakproof => 't', prorettype => 'bool',
  171. proargtypes => 'xid xid', prosrc => 'xideq' },
  172. { oid => '3308',
  173. proname => 'xidneq', proleakproof => 't', prorettype => 'bool',
  174. proargtypes => 'xid xid', prosrc => 'xidneq' },
  175. { oid => '5084',
  176. proname => 'xid8eq', proleakproof => 't', prorettype => 'bool',
  177. proargtypes => 'xid8 xid8', prosrc => 'xid8eq' },
  178. { oid => '5085',
  179. proname => 'xid8ne', proleakproof => 't', prorettype => 'bool',
  180. proargtypes => 'xid8 xid8', prosrc => 'xid8ne' },
  181. { oid => '5034',
  182. proname => 'xid8lt', proleakproof => 't', prorettype => 'bool',
  183. proargtypes => 'xid8 xid8', prosrc => 'xid8lt' },
  184. { oid => '5035',
  185. proname => 'xid8gt', proleakproof => 't', prorettype => 'bool',
  186. proargtypes => 'xid8 xid8', prosrc => 'xid8gt' },
  187. { oid => '5036',
  188. proname => 'xid8le', proleakproof => 't', prorettype => 'bool',
  189. proargtypes => 'xid8 xid8', prosrc => 'xid8le' },
  190. { oid => '5037',
  191. proname => 'xid8ge', proleakproof => 't', prorettype => 'bool',
  192. proargtypes => 'xid8 xid8', prosrc => 'xid8ge' },
  193. { oid => '5096', descr => 'less-equal-greater',
  194. proname => 'xid8cmp', proleakproof => 't', prorettype => 'int4',
  195. proargtypes => 'xid8 xid8', prosrc => 'xid8cmp' },
  196. { oid => '5071', descr => 'convert xid8 to xid',
  197. proname => 'xid', prorettype => 'xid', proargtypes => 'xid8',
  198. prosrc => 'xid8toxid' },
  199. { oid => '5097', descr => 'larger of two',
  200. proname => 'xid8_larger', prorettype => 'xid8', proargtypes => 'xid8 xid8',
  201. prosrc => 'xid8_larger' },
  202. { oid => '5098', descr => 'smaller of two',
  203. proname => 'xid8_smaller', prorettype => 'xid8', proargtypes => 'xid8 xid8',
  204. prosrc => 'xid8_smaller' },
  205. { oid => '69',
  206. proname => 'cideq', proleakproof => 't', prorettype => 'bool',
  207. proargtypes => 'cid cid', prosrc => 'cideq' },
  208. { oid => '70',
  209. proname => 'charne', proleakproof => 't', prorettype => 'bool',
  210. proargtypes => 'char char', prosrc => 'charne' },
  211. { oid => '1246',
  212. proname => 'charlt', proleakproof => 't', prorettype => 'bool',
  213. proargtypes => 'char char', prosrc => 'charlt' },
  214. { oid => '72',
  215. proname => 'charle', proleakproof => 't', prorettype => 'bool',
  216. proargtypes => 'char char', prosrc => 'charle' },
  217. { oid => '73',
  218. proname => 'chargt', proleakproof => 't', prorettype => 'bool',
  219. proargtypes => 'char char', prosrc => 'chargt' },
  220. { oid => '74',
  221. proname => 'charge', proleakproof => 't', prorettype => 'bool',
  222. proargtypes => 'char char', prosrc => 'charge' },
  223. { oid => '77', descr => 'convert char to int4',
  224. proname => 'int4', prorettype => 'int4', proargtypes => 'char',
  225. prosrc => 'chartoi4' },
  226. { oid => '78', descr => 'convert int4 to char',
  227. proname => 'char', prorettype => 'char', proargtypes => 'int4',
  228. prosrc => 'i4tochar' },
  229. { oid => '79',
  230. proname => 'nameregexeq', prosupport => 'textregexeq_support',
  231. prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameregexeq' },
  232. { oid => '1252',
  233. proname => 'nameregexne', prorettype => 'bool', proargtypes => 'name text',
  234. prosrc => 'nameregexne' },
  235. { oid => '1254',
  236. proname => 'textregexeq', prosupport => 'textregexeq_support',
  237. prorettype => 'bool', proargtypes => 'text text', prosrc => 'textregexeq' },
  238. { oid => '1256',
  239. proname => 'textregexne', prorettype => 'bool', proargtypes => 'text text',
  240. prosrc => 'textregexne' },
  241. { oid => '1364', descr => 'planner support for textregexeq',
  242. proname => 'textregexeq_support', prorettype => 'internal',
  243. proargtypes => 'internal', prosrc => 'textregexeq_support' },
  244. { oid => '1257', descr => 'length',
  245. proname => 'textlen', prorettype => 'int4', proargtypes => 'text',
  246. prosrc => 'textlen' },
  247. { oid => '1258',
  248. proname => 'textcat', prorettype => 'text', proargtypes => 'text text',
  249. prosrc => 'textcat' },
  250. { oid => '84',
  251. proname => 'boolne', proleakproof => 't', prorettype => 'bool',
  252. proargtypes => 'bool bool', prosrc => 'boolne' },
  253. { oid => '89', descr => 'PostgreSQL version string',
  254. proname => 'version', provolatile => 's', prorettype => 'text',
  255. proargtypes => '', prosrc => 'pgsql_version' },
  256. { oid => '86', descr => 'I/O',
  257. proname => 'pg_ddl_command_in', prorettype => 'pg_ddl_command',
  258. proargtypes => 'cstring', prosrc => 'pg_ddl_command_in' },
  259. { oid => '87', descr => 'I/O',
  260. proname => 'pg_ddl_command_out', prorettype => 'cstring',
  261. proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_out' },
  262. { oid => '88', descr => 'I/O',
  263. proname => 'pg_ddl_command_recv', prorettype => 'pg_ddl_command',
  264. proargtypes => 'internal', prosrc => 'pg_ddl_command_recv' },
  265. { oid => '90', descr => 'I/O',
  266. proname => 'pg_ddl_command_send', prorettype => 'bytea',
  267. proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_send' },
  268. # OIDS 100 - 199
  269. { oid => '101', descr => 'restriction selectivity of = and related operators',
  270. proname => 'eqsel', provolatile => 's', prorettype => 'float8',
  271. proargtypes => 'internal oid internal int4', prosrc => 'eqsel' },
  272. { oid => '102',
  273. descr => 'restriction selectivity of <> and related operators',
  274. proname => 'neqsel', provolatile => 's', prorettype => 'float8',
  275. proargtypes => 'internal oid internal int4', prosrc => 'neqsel' },
  276. { oid => '103',
  277. descr => 'restriction selectivity of < and related operators on scalar datatypes',
  278. proname => 'scalarltsel', provolatile => 's', prorettype => 'float8',
  279. proargtypes => 'internal oid internal int4', prosrc => 'scalarltsel' },
  280. { oid => '104',
  281. descr => 'restriction selectivity of > and related operators on scalar datatypes',
  282. proname => 'scalargtsel', provolatile => 's', prorettype => 'float8',
  283. proargtypes => 'internal oid internal int4', prosrc => 'scalargtsel' },
  284. { oid => '105', descr => 'join selectivity of = and related operators',
  285. proname => 'eqjoinsel', provolatile => 's', prorettype => 'float8',
  286. proargtypes => 'internal oid internal int2 internal', prosrc => 'eqjoinsel' },
  287. { oid => '106', descr => 'join selectivity of <> and related operators',
  288. proname => 'neqjoinsel', provolatile => 's', prorettype => 'float8',
  289. proargtypes => 'internal oid internal int2 internal',
  290. prosrc => 'neqjoinsel' },
  291. { oid => '107',
  292. descr => 'join selectivity of < and related operators on scalar datatypes',
  293. proname => 'scalarltjoinsel', provolatile => 's', prorettype => 'float8',
  294. proargtypes => 'internal oid internal int2 internal',
  295. prosrc => 'scalarltjoinsel' },
  296. { oid => '108',
  297. descr => 'join selectivity of > and related operators on scalar datatypes',
  298. proname => 'scalargtjoinsel', provolatile => 's', prorettype => 'float8',
  299. proargtypes => 'internal oid internal int2 internal',
  300. prosrc => 'scalargtjoinsel' },
  301. { oid => '336',
  302. descr => 'restriction selectivity of <= and related operators on scalar datatypes',
  303. proname => 'scalarlesel', provolatile => 's', prorettype => 'float8',
  304. proargtypes => 'internal oid internal int4', prosrc => 'scalarlesel' },
  305. { oid => '337',
  306. descr => 'restriction selectivity of >= and related operators on scalar datatypes',
  307. proname => 'scalargesel', provolatile => 's', prorettype => 'float8',
  308. proargtypes => 'internal oid internal int4', prosrc => 'scalargesel' },
  309. { oid => '386',
  310. descr => 'join selectivity of <= and related operators on scalar datatypes',
  311. proname => 'scalarlejoinsel', provolatile => 's', prorettype => 'float8',
  312. proargtypes => 'internal oid internal int2 internal',
  313. prosrc => 'scalarlejoinsel' },
  314. { oid => '398',
  315. descr => 'join selectivity of >= and related operators on scalar datatypes',
  316. proname => 'scalargejoinsel', provolatile => 's', prorettype => 'float8',
  317. proargtypes => 'internal oid internal int2 internal',
  318. prosrc => 'scalargejoinsel' },
  319. { oid => '109', descr => 'I/O',
  320. proname => 'unknownin', prorettype => 'unknown', proargtypes => 'cstring',
  321. prosrc => 'unknownin' },
  322. { oid => '110', descr => 'I/O',
  323. proname => 'unknownout', prorettype => 'cstring', proargtypes => 'unknown',
  324. prosrc => 'unknownout' },
  325. { oid => '115',
  326. proname => 'box_above_eq', prorettype => 'bool', proargtypes => 'box box',
  327. prosrc => 'box_above_eq' },
  328. { oid => '116',
  329. proname => 'box_below_eq', prorettype => 'bool', proargtypes => 'box box',
  330. prosrc => 'box_below_eq' },
  331. { oid => '117', descr => 'I/O',
  332. proname => 'point_in', prorettype => 'point', proargtypes => 'cstring',
  333. prosrc => 'point_in' },
  334. { oid => '118', descr => 'I/O',
  335. proname => 'point_out', prorettype => 'cstring', proargtypes => 'point',
  336. prosrc => 'point_out' },
  337. { oid => '119', descr => 'I/O',
  338. proname => 'lseg_in', prorettype => 'lseg', proargtypes => 'cstring',
  339. prosrc => 'lseg_in' },
  340. { oid => '120', descr => 'I/O',
  341. proname => 'lseg_out', prorettype => 'cstring', proargtypes => 'lseg',
  342. prosrc => 'lseg_out' },
  343. { oid => '121', descr => 'I/O',
  344. proname => 'path_in', prorettype => 'path', proargtypes => 'cstring',
  345. prosrc => 'path_in' },
  346. { oid => '122', descr => 'I/O',
  347. proname => 'path_out', prorettype => 'cstring', proargtypes => 'path',
  348. prosrc => 'path_out' },
  349. { oid => '123', descr => 'I/O',
  350. proname => 'box_in', prorettype => 'box', proargtypes => 'cstring',
  351. prosrc => 'box_in' },
  352. { oid => '124', descr => 'I/O',
  353. proname => 'box_out', prorettype => 'cstring', proargtypes => 'box',
  354. prosrc => 'box_out' },
  355. { oid => '125',
  356. proname => 'box_overlap', prorettype => 'bool', proargtypes => 'box box',
  357. prosrc => 'box_overlap' },
  358. { oid => '126',
  359. proname => 'box_ge', prorettype => 'bool', proargtypes => 'box box',
  360. prosrc => 'box_ge' },
  361. { oid => '127',
  362. proname => 'box_gt', prorettype => 'bool', proargtypes => 'box box',
  363. prosrc => 'box_gt' },
  364. { oid => '128',
  365. proname => 'box_eq', prorettype => 'bool', proargtypes => 'box box',
  366. prosrc => 'box_eq' },
  367. { oid => '129',
  368. proname => 'box_lt', prorettype => 'bool', proargtypes => 'box box',
  369. prosrc => 'box_lt' },
  370. { oid => '130',
  371. proname => 'box_le', prorettype => 'bool', proargtypes => 'box box',
  372. prosrc => 'box_le' },
  373. { oid => '131',
  374. proname => 'point_above', prorettype => 'bool', proargtypes => 'point point',
  375. prosrc => 'point_above' },
  376. { oid => '132',
  377. proname => 'point_left', prorettype => 'bool', proargtypes => 'point point',
  378. prosrc => 'point_left' },
  379. { oid => '133',
  380. proname => 'point_right', prorettype => 'bool', proargtypes => 'point point',
  381. prosrc => 'point_right' },
  382. { oid => '134',
  383. proname => 'point_below', prorettype => 'bool', proargtypes => 'point point',
  384. prosrc => 'point_below' },
  385. { oid => '135',
  386. proname => 'point_eq', prorettype => 'bool', proargtypes => 'point point',
  387. prosrc => 'point_eq' },
  388. { oid => '136',
  389. proname => 'on_pb', prorettype => 'bool', proargtypes => 'point box',
  390. prosrc => 'on_pb' },
  391. { oid => '137',
  392. proname => 'on_ppath', prorettype => 'bool', proargtypes => 'point path',
  393. prosrc => 'on_ppath' },
  394. { oid => '138',
  395. proname => 'box_center', prorettype => 'point', proargtypes => 'box',
  396. prosrc => 'box_center' },
  397. { oid => '139',
  398. descr => 'restriction selectivity for area-comparison operators',
  399. proname => 'areasel', provolatile => 's', prorettype => 'float8',
  400. proargtypes => 'internal oid internal int4', prosrc => 'areasel' },
  401. { oid => '140', descr => 'join selectivity for area-comparison operators',
  402. proname => 'areajoinsel', provolatile => 's', prorettype => 'float8',
  403. proargtypes => 'internal oid internal int2 internal',
  404. prosrc => 'areajoinsel' },
  405. { oid => '141',
  406. proname => 'int4mul', prorettype => 'int4', proargtypes => 'int4 int4',
  407. prosrc => 'int4mul' },
  408. { oid => '144',
  409. proname => 'int4ne', proleakproof => 't', prorettype => 'bool',
  410. proargtypes => 'int4 int4', prosrc => 'int4ne' },
  411. { oid => '145',
  412. proname => 'int2ne', proleakproof => 't', prorettype => 'bool',
  413. proargtypes => 'int2 int2', prosrc => 'int2ne' },
  414. { oid => '146',
  415. proname => 'int2gt', proleakproof => 't', prorettype => 'bool',
  416. proargtypes => 'int2 int2', prosrc => 'int2gt' },
  417. { oid => '147',
  418. proname => 'int4gt', proleakproof => 't', prorettype => 'bool',
  419. proargtypes => 'int4 int4', prosrc => 'int4gt' },
  420. { oid => '148',
  421. proname => 'int2le', proleakproof => 't', prorettype => 'bool',
  422. proargtypes => 'int2 int2', prosrc => 'int2le' },
  423. { oid => '149',
  424. proname => 'int4le', proleakproof => 't', prorettype => 'bool',
  425. proargtypes => 'int4 int4', prosrc => 'int4le' },
  426. { oid => '150',
  427. proname => 'int4ge', proleakproof => 't', prorettype => 'bool',
  428. proargtypes => 'int4 int4', prosrc => 'int4ge' },
  429. { oid => '151',
  430. proname => 'int2ge', proleakproof => 't', prorettype => 'bool',
  431. proargtypes => 'int2 int2', prosrc => 'int2ge' },
  432. { oid => '152',
  433. proname => 'int2mul', prorettype => 'int2', proargtypes => 'int2 int2',
  434. prosrc => 'int2mul' },
  435. { oid => '153',
  436. proname => 'int2div', prorettype => 'int2', proargtypes => 'int2 int2',
  437. prosrc => 'int2div' },
  438. { oid => '154',
  439. proname => 'int4div', prorettype => 'int4', proargtypes => 'int4 int4',
  440. prosrc => 'int4div' },
  441. { oid => '155',
  442. proname => 'int2mod', prorettype => 'int2', proargtypes => 'int2 int2',
  443. prosrc => 'int2mod' },
  444. { oid => '156',
  445. proname => 'int4mod', prorettype => 'int4', proargtypes => 'int4 int4',
  446. prosrc => 'int4mod' },
  447. { oid => '157',
  448. proname => 'textne', proleakproof => 't', prorettype => 'bool',
  449. proargtypes => 'text text', prosrc => 'textne' },
  450. { oid => '158',
  451. proname => 'int24eq', proleakproof => 't', prorettype => 'bool',
  452. proargtypes => 'int2 int4', prosrc => 'int24eq' },
  453. { oid => '159',
  454. proname => 'int42eq', proleakproof => 't', prorettype => 'bool',
  455. proargtypes => 'int4 int2', prosrc => 'int42eq' },
  456. { oid => '160',
  457. proname => 'int24lt', proleakproof => 't', prorettype => 'bool',
  458. proargtypes => 'int2 int4', prosrc => 'int24lt' },
  459. { oid => '161',
  460. proname => 'int42lt', proleakproof => 't', prorettype => 'bool',
  461. proargtypes => 'int4 int2', prosrc => 'int42lt' },
  462. { oid => '162',
  463. proname => 'int24gt', proleakproof => 't', prorettype => 'bool',
  464. proargtypes => 'int2 int4', prosrc => 'int24gt' },
  465. { oid => '163',
  466. proname => 'int42gt', proleakproof => 't', prorettype => 'bool',
  467. proargtypes => 'int4 int2', prosrc => 'int42gt' },
  468. { oid => '164',
  469. proname => 'int24ne', proleakproof => 't', prorettype => 'bool',
  470. proargtypes => 'int2 int4', prosrc => 'int24ne' },
  471. { oid => '165',
  472. proname => 'int42ne', proleakproof => 't', prorettype => 'bool',
  473. proargtypes => 'int4 int2', prosrc => 'int42ne' },
  474. { oid => '166',
  475. proname => 'int24le', proleakproof => 't', prorettype => 'bool',
  476. proargtypes => 'int2 int4', prosrc => 'int24le' },
  477. { oid => '167',
  478. proname => 'int42le', proleakproof => 't', prorettype => 'bool',
  479. proargtypes => 'int4 int2', prosrc => 'int42le' },
  480. { oid => '168',
  481. proname => 'int24ge', proleakproof => 't', prorettype => 'bool',
  482. proargtypes => 'int2 int4', prosrc => 'int24ge' },
  483. { oid => '169',
  484. proname => 'int42ge', proleakproof => 't', prorettype => 'bool',
  485. proargtypes => 'int4 int2', prosrc => 'int42ge' },
  486. { oid => '170',
  487. proname => 'int24mul', prorettype => 'int4', proargtypes => 'int2 int4',
  488. prosrc => 'int24mul' },
  489. { oid => '171',
  490. proname => 'int42mul', prorettype => 'int4', proargtypes => 'int4 int2',
  491. prosrc => 'int42mul' },
  492. { oid => '172',
  493. proname => 'int24div', prorettype => 'int4', proargtypes => 'int2 int4',
  494. prosrc => 'int24div' },
  495. { oid => '173',
  496. proname => 'int42div', prorettype => 'int4', proargtypes => 'int4 int2',
  497. prosrc => 'int42div' },
  498. { oid => '176',
  499. proname => 'int2pl', prorettype => 'int2', proargtypes => 'int2 int2',
  500. prosrc => 'int2pl' },
  501. { oid => '177',
  502. proname => 'int4pl', prorettype => 'int4', proargtypes => 'int4 int4',
  503. prosrc => 'int4pl' },
  504. { oid => '178',
  505. proname => 'int24pl', prorettype => 'int4', proargtypes => 'int2 int4',
  506. prosrc => 'int24pl' },
  507. { oid => '179',
  508. proname => 'int42pl', prorettype => 'int4', proargtypes => 'int4 int2',
  509. prosrc => 'int42pl' },
  510. { oid => '180',
  511. proname => 'int2mi', prorettype => 'int2', proargtypes => 'int2 int2',
  512. prosrc => 'int2mi' },
  513. { oid => '181',
  514. proname => 'int4mi', prorettype => 'int4', proargtypes => 'int4 int4',
  515. prosrc => 'int4mi' },
  516. { oid => '182',
  517. proname => 'int24mi', prorettype => 'int4', proargtypes => 'int2 int4',
  518. prosrc => 'int24mi' },
  519. { oid => '183',
  520. proname => 'int42mi', prorettype => 'int4', proargtypes => 'int4 int2',
  521. prosrc => 'int42mi' },
  522. { oid => '184',
  523. proname => 'oideq', proleakproof => 't', prorettype => 'bool',
  524. proargtypes => 'oid oid', prosrc => 'oideq' },
  525. { oid => '185',
  526. proname => 'oidne', proleakproof => 't', prorettype => 'bool',
  527. proargtypes => 'oid oid', prosrc => 'oidne' },
  528. { oid => '186',
  529. proname => 'box_same', prorettype => 'bool', proargtypes => 'box box',
  530. prosrc => 'box_same' },
  531. { oid => '187',
  532. proname => 'box_contain', prorettype => 'bool', proargtypes => 'box box',
  533. prosrc => 'box_contain' },
  534. { oid => '188',
  535. proname => 'box_left', prorettype => 'bool', proargtypes => 'box box',
  536. prosrc => 'box_left' },
  537. { oid => '189',
  538. proname => 'box_overleft', prorettype => 'bool', proargtypes => 'box box',
  539. prosrc => 'box_overleft' },
  540. { oid => '190',
  541. proname => 'box_overright', prorettype => 'bool', proargtypes => 'box box',
  542. prosrc => 'box_overright' },
  543. { oid => '191',
  544. proname => 'box_right', prorettype => 'bool', proargtypes => 'box box',
  545. prosrc => 'box_right' },
  546. { oid => '192',
  547. proname => 'box_contained', prorettype => 'bool', proargtypes => 'box box',
  548. prosrc => 'box_contained' },
  549. { oid => '193',
  550. proname => 'box_contain_pt', prorettype => 'bool', proargtypes => 'box point',
  551. prosrc => 'box_contain_pt' },
  552. { oid => '195', descr => 'I/O',
  553. proname => 'pg_node_tree_in', prorettype => 'pg_node_tree',
  554. proargtypes => 'cstring', prosrc => 'pg_node_tree_in' },
  555. { oid => '196', descr => 'I/O',
  556. proname => 'pg_node_tree_out', prorettype => 'cstring',
  557. proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_out' },
  558. { oid => '197', descr => 'I/O',
  559. proname => 'pg_node_tree_recv', provolatile => 's',
  560. prorettype => 'pg_node_tree', proargtypes => 'internal',
  561. prosrc => 'pg_node_tree_recv' },
  562. { oid => '198', descr => 'I/O',
  563. proname => 'pg_node_tree_send', provolatile => 's', prorettype => 'bytea',
  564. proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_send' },
  565. # OIDS 200 - 299
  566. { oid => '200', descr => 'I/O',
  567. proname => 'float4in', prorettype => 'float4', proargtypes => 'cstring',
  568. prosrc => 'float4in' },
  569. { oid => '201', descr => 'I/O',
  570. proname => 'float4out', prorettype => 'cstring', proargtypes => 'float4',
  571. prosrc => 'float4out' },
  572. { oid => '202',
  573. proname => 'float4mul', prorettype => 'float4',
  574. proargtypes => 'float4 float4', prosrc => 'float4mul' },
  575. { oid => '203',
  576. proname => 'float4div', prorettype => 'float4',
  577. proargtypes => 'float4 float4', prosrc => 'float4div' },
  578. { oid => '204',
  579. proname => 'float4pl', prorettype => 'float4', proargtypes => 'float4 float4',
  580. prosrc => 'float4pl' },
  581. { oid => '205',
  582. proname => 'float4mi', prorettype => 'float4', proargtypes => 'float4 float4',
  583. prosrc => 'float4mi' },
  584. { oid => '206',
  585. proname => 'float4um', prorettype => 'float4', proargtypes => 'float4',
  586. prosrc => 'float4um' },
  587. { oid => '207',
  588. proname => 'float4abs', prorettype => 'float4', proargtypes => 'float4',
  589. prosrc => 'float4abs' },
  590. { oid => '208', descr => 'aggregate transition function',
  591. proname => 'float4_accum', prorettype => '_float8',
  592. proargtypes => '_float8 float4', prosrc => 'float4_accum' },
  593. { oid => '209', descr => 'larger of two',
  594. proname => 'float4larger', prorettype => 'float4',
  595. proargtypes => 'float4 float4', prosrc => 'float4larger' },
  596. { oid => '211', descr => 'smaller of two',
  597. proname => 'float4smaller', prorettype => 'float4',
  598. proargtypes => 'float4 float4', prosrc => 'float4smaller' },
  599. { oid => '212',
  600. proname => 'int4um', prorettype => 'int4', proargtypes => 'int4',
  601. prosrc => 'int4um' },
  602. { oid => '213',
  603. proname => 'int2um', prorettype => 'int2', proargtypes => 'int2',
  604. prosrc => 'int2um' },
  605. { oid => '214', descr => 'I/O',
  606. proname => 'float8in', prorettype => 'float8', proargtypes => 'cstring',
  607. prosrc => 'float8in' },
  608. { oid => '215', descr => 'I/O',
  609. proname => 'float8out', prorettype => 'cstring', proargtypes => 'float8',
  610. prosrc => 'float8out' },
  611. { oid => '216',
  612. proname => 'float8mul', prorettype => 'float8',
  613. proargtypes => 'float8 float8', prosrc => 'float8mul' },
  614. { oid => '217',
  615. proname => 'float8div', prorettype => 'float8',
  616. proargtypes => 'float8 float8', prosrc => 'float8div' },
  617. { oid => '218',
  618. proname => 'float8pl', prorettype => 'float8', proargtypes => 'float8 float8',
  619. prosrc => 'float8pl' },
  620. { oid => '219',
  621. proname => 'float8mi', prorettype => 'float8', proargtypes => 'float8 float8',
  622. prosrc => 'float8mi' },
  623. { oid => '220',
  624. proname => 'float8um', prorettype => 'float8', proargtypes => 'float8',
  625. prosrc => 'float8um' },
  626. { oid => '221',
  627. proname => 'float8abs', prorettype => 'float8', proargtypes => 'float8',
  628. prosrc => 'float8abs' },
  629. { oid => '222', descr => 'aggregate transition function',
  630. proname => 'float8_accum', prorettype => '_float8',
  631. proargtypes => '_float8 float8', prosrc => 'float8_accum' },
  632. { oid => '276', descr => 'aggregate combine function',
  633. proname => 'float8_combine', prorettype => '_float8',
  634. proargtypes => '_float8 _float8', prosrc => 'float8_combine' },
  635. { oid => '223', descr => 'larger of two',
  636. proname => 'float8larger', prorettype => 'float8',
  637. proargtypes => 'float8 float8', prosrc => 'float8larger' },
  638. { oid => '224', descr => 'smaller of two',
  639. proname => 'float8smaller', prorettype => 'float8',
  640. proargtypes => 'float8 float8', prosrc => 'float8smaller' },
  641. { oid => '225',
  642. proname => 'lseg_center', prorettype => 'point', proargtypes => 'lseg',
  643. prosrc => 'lseg_center' },
  644. { oid => '227',
  645. proname => 'poly_center', prorettype => 'point', proargtypes => 'polygon',
  646. prosrc => 'poly_center' },
  647. { oid => '228', descr => 'round to nearest integer',
  648. proname => 'dround', prorettype => 'float8', proargtypes => 'float8',
  649. prosrc => 'dround' },
  650. { oid => '229', descr => 'truncate to integer',
  651. proname => 'dtrunc', prorettype => 'float8', proargtypes => 'float8',
  652. prosrc => 'dtrunc' },
  653. { oid => '2308', descr => 'nearest integer >= value',
  654. proname => 'ceil', prorettype => 'float8', proargtypes => 'float8',
  655. prosrc => 'dceil' },
  656. { oid => '2320', descr => 'nearest integer >= value',
  657. proname => 'ceiling', prorettype => 'float8', proargtypes => 'float8',
  658. prosrc => 'dceil' },
  659. { oid => '2309', descr => 'nearest integer <= value',
  660. proname => 'floor', prorettype => 'float8', proargtypes => 'float8',
  661. prosrc => 'dfloor' },
  662. { oid => '2310', descr => 'sign of value',
  663. proname => 'sign', prorettype => 'float8', proargtypes => 'float8',
  664. prosrc => 'dsign' },
  665. { oid => '230',
  666. proname => 'dsqrt', prorettype => 'float8', proargtypes => 'float8',
  667. prosrc => 'dsqrt' },
  668. { oid => '231',
  669. proname => 'dcbrt', prorettype => 'float8', proargtypes => 'float8',
  670. prosrc => 'dcbrt' },
  671. { oid => '232',
  672. proname => 'dpow', prorettype => 'float8', proargtypes => 'float8 float8',
  673. prosrc => 'dpow' },
  674. { oid => '233', descr => 'natural exponential (e^x)',
  675. proname => 'dexp', prorettype => 'float8', proargtypes => 'float8',
  676. prosrc => 'dexp' },
  677. { oid => '234', descr => 'natural logarithm',
  678. proname => 'dlog1', prorettype => 'float8', proargtypes => 'float8',
  679. prosrc => 'dlog1' },
  680. { oid => '235', descr => 'convert int2 to float8',
  681. proname => 'float8', proleakproof => 't', prorettype => 'float8',
  682. proargtypes => 'int2', prosrc => 'i2tod' },
  683. { oid => '236', descr => 'convert int2 to float4',
  684. proname => 'float4', proleakproof => 't', prorettype => 'float4',
  685. proargtypes => 'int2', prosrc => 'i2tof' },
  686. { oid => '237', descr => 'convert float8 to int2',
  687. proname => 'int2', prorettype => 'int2', proargtypes => 'float8',
  688. prosrc => 'dtoi2' },
  689. { oid => '238', descr => 'convert float4 to int2',
  690. proname => 'int2', prorettype => 'int2', proargtypes => 'float4',
  691. prosrc => 'ftoi2' },
  692. { oid => '239',
  693. proname => 'line_distance', prorettype => 'float8',
  694. proargtypes => 'line line', prosrc => 'line_distance' },
  695. { oid => '240',
  696. proname => 'nameeqtext', proleakproof => 't', prorettype => 'bool',
  697. proargtypes => 'name text', prosrc => 'nameeqtext' },
  698. { oid => '241',
  699. proname => 'namelttext', proleakproof => 't', prorettype => 'bool',
  700. proargtypes => 'name text', prosrc => 'namelttext' },
  701. { oid => '242',
  702. proname => 'nameletext', proleakproof => 't', prorettype => 'bool',
  703. proargtypes => 'name text', prosrc => 'nameletext' },
  704. { oid => '243',
  705. proname => 'namegetext', proleakproof => 't', prorettype => 'bool',
  706. proargtypes => 'name text', prosrc => 'namegetext' },
  707. { oid => '244',
  708. proname => 'namegttext', proleakproof => 't', prorettype => 'bool',
  709. proargtypes => 'name text', prosrc => 'namegttext' },
  710. { oid => '245',
  711. proname => 'namenetext', proleakproof => 't', prorettype => 'bool',
  712. proargtypes => 'name text', prosrc => 'namenetext' },
  713. { oid => '246', descr => 'less-equal-greater',
  714. proname => 'btnametextcmp', proleakproof => 't', prorettype => 'int4',
  715. proargtypes => 'name text', prosrc => 'btnametextcmp' },
  716. { oid => '247',
  717. proname => 'texteqname', proleakproof => 't', prorettype => 'bool',
  718. proargtypes => 'text name', prosrc => 'texteqname' },
  719. { oid => '248',
  720. proname => 'textltname', proleakproof => 't', prorettype => 'bool',
  721. proargtypes => 'text name', prosrc => 'textltname' },
  722. { oid => '249',
  723. proname => 'textlename', proleakproof => 't', prorettype => 'bool',
  724. proargtypes => 'text name', prosrc => 'textlename' },
  725. { oid => '250',
  726. proname => 'textgename', proleakproof => 't', prorettype => 'bool',
  727. proargtypes => 'text name', prosrc => 'textgename' },
  728. { oid => '251',
  729. proname => 'textgtname', proleakproof => 't', prorettype => 'bool',
  730. proargtypes => 'text name', prosrc => 'textgtname' },
  731. { oid => '252',
  732. proname => 'textnename', proleakproof => 't', prorettype => 'bool',
  733. proargtypes => 'text name', prosrc => 'textnename' },
  734. { oid => '253', descr => 'less-equal-greater',
  735. proname => 'bttextnamecmp', proleakproof => 't', prorettype => 'int4',
  736. proargtypes => 'text name', prosrc => 'bttextnamecmp' },
  737. { oid => '266', descr => 'concatenate name and oid',
  738. proname => 'nameconcatoid', prorettype => 'name', proargtypes => 'name oid',
  739. prosrc => 'nameconcatoid' },
  740. { oid => '274',
  741. descr => 'current date and time - increments during transactions',
  742. proname => 'timeofday', provolatile => 'v', prorettype => 'text',
  743. proargtypes => '', prosrc => 'timeofday' },
  744. { oid => '277',
  745. proname => 'inter_sl', prorettype => 'bool', proargtypes => 'lseg line',
  746. prosrc => 'inter_sl' },
  747. { oid => '278',
  748. proname => 'inter_lb', prorettype => 'bool', proargtypes => 'line box',
  749. prosrc => 'inter_lb' },
  750. { oid => '279',
  751. proname => 'float48mul', prorettype => 'float8',
  752. proargtypes => 'float4 float8', prosrc => 'float48mul' },
  753. { oid => '280',
  754. proname => 'float48div', prorettype => 'float8',
  755. proargtypes => 'float4 float8', prosrc => 'float48div' },
  756. { oid => '281',
  757. proname => 'float48pl', prorettype => 'float8',
  758. proargtypes => 'float4 float8', prosrc => 'float48pl' },
  759. { oid => '282',
  760. proname => 'float48mi', prorettype => 'float8',
  761. proargtypes => 'float4 float8', prosrc => 'float48mi' },
  762. { oid => '283',
  763. proname => 'float84mul', prorettype => 'float8',
  764. proargtypes => 'float8 float4', prosrc => 'float84mul' },
  765. { oid => '284',
  766. proname => 'float84div', prorettype => 'float8',
  767. proargtypes => 'float8 float4', prosrc => 'float84div' },
  768. { oid => '285',
  769. proname => 'float84pl', prorettype => 'float8',
  770. proargtypes => 'float8 float4', prosrc => 'float84pl' },
  771. { oid => '286',
  772. proname => 'float84mi', prorettype => 'float8',
  773. proargtypes => 'float8 float4', prosrc => 'float84mi' },
  774. { oid => '287',
  775. proname => 'float4eq', proleakproof => 't', prorettype => 'bool',
  776. proargtypes => 'float4 float4', prosrc => 'float4eq' },
  777. { oid => '288',
  778. proname => 'float4ne', proleakproof => 't', prorettype => 'bool',
  779. proargtypes => 'float4 float4', prosrc => 'float4ne' },
  780. { oid => '289',
  781. proname => 'float4lt', proleakproof => 't', prorettype => 'bool',
  782. proargtypes => 'float4 float4', prosrc => 'float4lt' },
  783. { oid => '290',
  784. proname => 'float4le', proleakproof => 't', prorettype => 'bool',
  785. proargtypes => 'float4 float4', prosrc => 'float4le' },
  786. { oid => '291',
  787. proname => 'float4gt', proleakproof => 't', prorettype => 'bool',
  788. proargtypes => 'float4 float4', prosrc => 'float4gt' },
  789. { oid => '292',
  790. proname => 'float4ge', proleakproof => 't', prorettype => 'bool',
  791. proargtypes => 'float4 float4', prosrc => 'float4ge' },
  792. { oid => '293',
  793. proname => 'float8eq', proleakproof => 't', prorettype => 'bool',
  794. proargtypes => 'float8 float8', prosrc => 'float8eq' },
  795. { oid => '294',
  796. proname => 'float8ne', proleakproof => 't', prorettype => 'bool',
  797. proargtypes => 'float8 float8', prosrc => 'float8ne' },
  798. { oid => '295',
  799. proname => 'float8lt', proleakproof => 't', prorettype => 'bool',
  800. proargtypes => 'float8 float8', prosrc => 'float8lt' },
  801. { oid => '296',
  802. proname => 'float8le', proleakproof => 't', prorettype => 'bool',
  803. proargtypes => 'float8 float8', prosrc => 'float8le' },
  804. { oid => '297',
  805. proname => 'float8gt', proleakproof => 't', prorettype => 'bool',
  806. proargtypes => 'float8 float8', prosrc => 'float8gt' },
  807. { oid => '298',
  808. proname => 'float8ge', proleakproof => 't', prorettype => 'bool',
  809. proargtypes => 'float8 float8', prosrc => 'float8ge' },
  810. { oid => '299',
  811. proname => 'float48eq', proleakproof => 't', prorettype => 'bool',
  812. proargtypes => 'float4 float8', prosrc => 'float48eq' },
  813. # OIDS 300 - 399
  814. { oid => '300',
  815. proname => 'float48ne', proleakproof => 't', prorettype => 'bool',
  816. proargtypes => 'float4 float8', prosrc => 'float48ne' },
  817. { oid => '301',
  818. proname => 'float48lt', proleakproof => 't', prorettype => 'bool',
  819. proargtypes => 'float4 float8', prosrc => 'float48lt' },
  820. { oid => '302',
  821. proname => 'float48le', proleakproof => 't', prorettype => 'bool',
  822. proargtypes => 'float4 float8', prosrc => 'float48le' },
  823. { oid => '303',
  824. proname => 'float48gt', proleakproof => 't', prorettype => 'bool',
  825. proargtypes => 'float4 float8', prosrc => 'float48gt' },
  826. { oid => '304',
  827. proname => 'float48ge', proleakproof => 't', prorettype => 'bool',
  828. proargtypes => 'float4 float8', prosrc => 'float48ge' },
  829. { oid => '305',
  830. proname => 'float84eq', proleakproof => 't', prorettype => 'bool',
  831. proargtypes => 'float8 float4', prosrc => 'float84eq' },
  832. { oid => '306',
  833. proname => 'float84ne', proleakproof => 't', prorettype => 'bool',
  834. proargtypes => 'float8 float4', prosrc => 'float84ne' },
  835. { oid => '307',
  836. proname => 'float84lt', proleakproof => 't', prorettype => 'bool',
  837. proargtypes => 'float8 float4', prosrc => 'float84lt' },
  838. { oid => '308',
  839. proname => 'float84le', proleakproof => 't', prorettype => 'bool',
  840. proargtypes => 'float8 float4', prosrc => 'float84le' },
  841. { oid => '309',
  842. proname => 'float84gt', proleakproof => 't', prorettype => 'bool',
  843. proargtypes => 'float8 float4', prosrc => 'float84gt' },
  844. { oid => '310',
  845. proname => 'float84ge', proleakproof => 't', prorettype => 'bool',
  846. proargtypes => 'float8 float4', prosrc => 'float84ge' },
  847. { oid => '320', descr => 'bucket number of operand in equal-width histogram',
  848. proname => 'width_bucket', prorettype => 'int4',
  849. proargtypes => 'float8 float8 float8 int4', prosrc => 'width_bucket_float8' },
  850. { oid => '311', descr => 'convert float4 to float8',
  851. proname => 'float8', proleakproof => 't', prorettype => 'float8',
  852. proargtypes => 'float4', prosrc => 'ftod' },
  853. { oid => '312', descr => 'convert float8 to float4',
  854. proname => 'float4', prorettype => 'float4', proargtypes => 'float8',
  855. prosrc => 'dtof' },
  856. { oid => '313', descr => 'convert int2 to int4',
  857. proname => 'int4', proleakproof => 't', prorettype => 'int4',
  858. proargtypes => 'int2', prosrc => 'i2toi4' },
  859. { oid => '314', descr => 'convert int4 to int2',
  860. proname => 'int2', prorettype => 'int2', proargtypes => 'int4',
  861. prosrc => 'i4toi2' },
  862. { oid => '316', descr => 'convert int4 to float8',
  863. proname => 'float8', proleakproof => 't', prorettype => 'float8',
  864. proargtypes => 'int4', prosrc => 'i4tod' },
  865. { oid => '317', descr => 'convert float8 to int4',
  866. proname => 'int4', prorettype => 'int4', proargtypes => 'float8',
  867. prosrc => 'dtoi4' },
  868. { oid => '318', descr => 'convert int4 to float4',
  869. proname => 'float4', proleakproof => 't', prorettype => 'float4',
  870. proargtypes => 'int4', prosrc => 'i4tof' },
  871. { oid => '319', descr => 'convert float4 to int4',
  872. proname => 'int4', prorettype => 'int4', proargtypes => 'float4',
  873. prosrc => 'ftoi4' },
  874. # Table access method handlers
  875. { oid => '3', descr => 'row-oriented heap table access method handler',
  876. proname => 'heap_tableam_handler', provolatile => 'v',
  877. prorettype => 'table_am_handler', proargtypes => 'internal',
  878. prosrc => 'heap_tableam_handler' },
  879. # Index access method handlers
  880. { oid => '330', descr => 'btree index access method handler',
  881. proname => 'bthandler', provolatile => 'v', prorettype => 'index_am_handler',
  882. proargtypes => 'internal', prosrc => 'bthandler' },
  883. { oid => '331', descr => 'hash index access method handler',
  884. proname => 'hashhandler', provolatile => 'v',
  885. prorettype => 'index_am_handler', proargtypes => 'internal',
  886. prosrc => 'hashhandler' },
  887. { oid => '332', descr => 'gist index access method handler',
  888. proname => 'gisthandler', provolatile => 'v',
  889. prorettype => 'index_am_handler', proargtypes => 'internal',
  890. prosrc => 'gisthandler' },
  891. { oid => '333', descr => 'gin index access method handler',
  892. proname => 'ginhandler', provolatile => 'v', prorettype => 'index_am_handler',
  893. proargtypes => 'internal', prosrc => 'ginhandler' },
  894. { oid => '334', descr => 'spgist index access method handler',
  895. proname => 'spghandler', provolatile => 'v', prorettype => 'index_am_handler',
  896. proargtypes => 'internal', prosrc => 'spghandler' },
  897. { oid => '335', descr => 'brin index access method handler',
  898. proname => 'brinhandler', provolatile => 'v',
  899. prorettype => 'index_am_handler', proargtypes => 'internal',
  900. prosrc => 'brinhandler' },
  901. { oid => '3952', descr => 'brin: standalone scan new table pages',
  902. proname => 'brin_summarize_new_values', provolatile => 'v',
  903. proparallel => 'u', prorettype => 'int4', proargtypes => 'regclass',
  904. prosrc => 'brin_summarize_new_values' },
  905. { oid => '3999', descr => 'brin: standalone scan new table pages',
  906. proname => 'brin_summarize_range', provolatile => 'v', proparallel => 'u',
  907. prorettype => 'int4', proargtypes => 'regclass int8',
  908. prosrc => 'brin_summarize_range' },
  909. { oid => '4014', descr => 'brin: desummarize page range',
  910. proname => 'brin_desummarize_range', provolatile => 'v', proparallel => 'u',
  911. prorettype => 'void', proargtypes => 'regclass int8',
  912. prosrc => 'brin_desummarize_range' },
  913. { oid => '338', descr => 'validate an operator class',
  914. proname => 'amvalidate', provolatile => 'v', prorettype => 'bool',
  915. proargtypes => 'oid', prosrc => 'amvalidate' },
  916. { oid => '636', descr => 'test property of an index access method',
  917. proname => 'pg_indexam_has_property', provolatile => 's',
  918. prorettype => 'bool', proargtypes => 'oid text',
  919. prosrc => 'pg_indexam_has_property' },
  920. { oid => '637', descr => 'test property of an index',
  921. proname => 'pg_index_has_property', provolatile => 's', prorettype => 'bool',
  922. proargtypes => 'regclass text', prosrc => 'pg_index_has_property' },
  923. { oid => '638', descr => 'test property of an index column',
  924. proname => 'pg_index_column_has_property', provolatile => 's',
  925. prorettype => 'bool', proargtypes => 'regclass int4 text',
  926. prosrc => 'pg_index_column_has_property' },
  927. { oid => '676', descr => 'return name of given index build phase',
  928. proname => 'pg_indexam_progress_phasename', prorettype => 'text',
  929. proargtypes => 'oid int8', prosrc => 'pg_indexam_progress_phasename' },
  930. { oid => '339',
  931. proname => 'poly_same', prorettype => 'bool',
  932. proargtypes => 'polygon polygon', prosrc => 'poly_same' },
  933. { oid => '340',
  934. proname => 'poly_contain', prorettype => 'bool',
  935. proargtypes => 'polygon polygon', prosrc => 'poly_contain' },
  936. { oid => '341',
  937. proname => 'poly_left', prorettype => 'bool',
  938. proargtypes => 'polygon polygon', prosrc => 'poly_left' },
  939. { oid => '342',
  940. proname => 'poly_overleft', prorettype => 'bool',
  941. proargtypes => 'polygon polygon', prosrc => 'poly_overleft' },
  942. { oid => '343',
  943. proname => 'poly_overright', prorettype => 'bool',
  944. proargtypes => 'polygon polygon', prosrc => 'poly_overright' },
  945. { oid => '344',
  946. proname => 'poly_right', prorettype => 'bool',
  947. proargtypes => 'polygon polygon', prosrc => 'poly_right' },
  948. { oid => '345',
  949. proname => 'poly_contained', prorettype => 'bool',
  950. proargtypes => 'polygon polygon', prosrc => 'poly_contained' },
  951. { oid => '346',
  952. proname => 'poly_overlap', prorettype => 'bool',
  953. proargtypes => 'polygon polygon', prosrc => 'poly_overlap' },
  954. { oid => '347', descr => 'I/O',
  955. proname => 'poly_in', prorettype => 'polygon', proargtypes => 'cstring',
  956. prosrc => 'poly_in' },
  957. { oid => '348', descr => 'I/O',
  958. proname => 'poly_out', prorettype => 'cstring', proargtypes => 'polygon',
  959. prosrc => 'poly_out' },
  960. { oid => '350', descr => 'less-equal-greater',
  961. proname => 'btint2cmp', proleakproof => 't', prorettype => 'int4',
  962. proargtypes => 'int2 int2', prosrc => 'btint2cmp' },
  963. { oid => '3129', descr => 'sort support',
  964. proname => 'btint2sortsupport', prorettype => 'void',
  965. proargtypes => 'internal', prosrc => 'btint2sortsupport' },
  966. { oid => '351', descr => 'less-equal-greater',
  967. proname => 'btint4cmp', proleakproof => 't', prorettype => 'int4',
  968. proargtypes => 'int4 int4', prosrc => 'btint4cmp' },
  969. { oid => '3130', descr => 'sort support',
  970. proname => 'btint4sortsupport', prorettype => 'void',
  971. proargtypes => 'internal', prosrc => 'btint4sortsupport' },
  972. { oid => '842', descr => 'less-equal-greater',
  973. proname => 'btint8cmp', proleakproof => 't', prorettype => 'int4',
  974. proargtypes => 'int8 int8', prosrc => 'btint8cmp' },
  975. { oid => '3131', descr => 'sort support',
  976. proname => 'btint8sortsupport', prorettype => 'void',
  977. proargtypes => 'internal', prosrc => 'btint8sortsupport' },
  978. { oid => '354', descr => 'less-equal-greater',
  979. proname => 'btfloat4cmp', proleakproof => 't', prorettype => 'int4',
  980. proargtypes => 'float4 float4', prosrc => 'btfloat4cmp' },
  981. { oid => '3132', descr => 'sort support',
  982. proname => 'btfloat4sortsupport', prorettype => 'void',
  983. proargtypes => 'internal', prosrc => 'btfloat4sortsupport' },
  984. { oid => '355', descr => 'less-equal-greater',
  985. proname => 'btfloat8cmp', proleakproof => 't', prorettype => 'int4',
  986. proargtypes => 'float8 float8', prosrc => 'btfloat8cmp' },
  987. { oid => '3133', descr => 'sort support',
  988. proname => 'btfloat8sortsupport', prorettype => 'void',
  989. proargtypes => 'internal', prosrc => 'btfloat8sortsupport' },
  990. { oid => '356', descr => 'less-equal-greater',
  991. proname => 'btoidcmp', proleakproof => 't', prorettype => 'int4',
  992. proargtypes => 'oid oid', prosrc => 'btoidcmp' },
  993. { oid => '3134', descr => 'sort support',
  994. proname => 'btoidsortsupport', prorettype => 'void',
  995. proargtypes => 'internal', prosrc => 'btoidsortsupport' },
  996. { oid => '404', descr => 'less-equal-greater',
  997. proname => 'btoidvectorcmp', proleakproof => 't', prorettype => 'int4',
  998. proargtypes => 'oidvector oidvector', prosrc => 'btoidvectorcmp' },
  999. { oid => '358', descr => 'less-equal-greater',
  1000. proname => 'btcharcmp', proleakproof => 't', prorettype => 'int4',
  1001. proargtypes => 'char char', prosrc => 'btcharcmp' },
  1002. { oid => '359', descr => 'less-equal-greater',
  1003. proname => 'btnamecmp', proleakproof => 't', prorettype => 'int4',
  1004. proargtypes => 'name name', prosrc => 'btnamecmp' },
  1005. { oid => '3135', descr => 'sort support',
  1006. proname => 'btnamesortsupport', prorettype => 'void',
  1007. proargtypes => 'internal', prosrc => 'btnamesortsupport' },
  1008. { oid => '360', descr => 'less-equal-greater',
  1009. proname => 'bttextcmp', proleakproof => 't', prorettype => 'int4',
  1010. proargtypes => 'text text', prosrc => 'bttextcmp' },
  1011. { oid => '3255', descr => 'sort support',
  1012. proname => 'bttextsortsupport', prorettype => 'void',
  1013. proargtypes => 'internal', prosrc => 'bttextsortsupport' },
  1014. { oid => '5050', descr => 'equal image',
  1015. proname => 'btvarstrequalimage', prorettype => 'bool', proargtypes => 'oid',
  1016. prosrc => 'btvarstrequalimage' },
  1017. { oid => '377', descr => 'less-equal-greater',
  1018. proname => 'cash_cmp', proleakproof => 't', prorettype => 'int4',
  1019. proargtypes => 'money money', prosrc => 'cash_cmp' },
  1020. { oid => '382', descr => 'less-equal-greater',
  1021. proname => 'btarraycmp', prorettype => 'int4',
  1022. proargtypes => 'anyarray anyarray', prosrc => 'btarraycmp' },
  1023. { oid => '4126', descr => 'window RANGE support',
  1024. proname => 'in_range', prorettype => 'bool',
  1025. proargtypes => 'int8 int8 int8 bool bool', prosrc => 'in_range_int8_int8' },
  1026. { oid => '4127', descr => 'window RANGE support',
  1027. proname => 'in_range', prorettype => 'bool',
  1028. proargtypes => 'int4 int4 int8 bool bool', prosrc => 'in_range_int4_int8' },
  1029. { oid => '4128', descr => 'window RANGE support',
  1030. proname => 'in_range', prorettype => 'bool',
  1031. proargtypes => 'int4 int4 int4 bool bool', prosrc => 'in_range_int4_int4' },
  1032. { oid => '4129', descr => 'window RANGE support',
  1033. proname => 'in_range', prorettype => 'bool',
  1034. proargtypes => 'int4 int4 int2 bool bool', prosrc => 'in_range_int4_int2' },
  1035. { oid => '4130', descr => 'window RANGE support',
  1036. proname => 'in_range', prorettype => 'bool',
  1037. proargtypes => 'int2 int2 int8 bool bool', prosrc => 'in_range_int2_int8' },
  1038. { oid => '4131', descr => 'window RANGE support',
  1039. proname => 'in_range', prorettype => 'bool',
  1040. proargtypes => 'int2 int2 int4 bool bool', prosrc => 'in_range_int2_int4' },
  1041. { oid => '4132', descr => 'window RANGE support',
  1042. proname => 'in_range', prorettype => 'bool',
  1043. proargtypes => 'int2 int2 int2 bool bool', prosrc => 'in_range_int2_int2' },
  1044. { oid => '4139', descr => 'window RANGE support',
  1045. proname => 'in_range', prorettype => 'bool',
  1046. proargtypes => 'float8 float8 float8 bool bool',
  1047. prosrc => 'in_range_float8_float8' },
  1048. { oid => '4140', descr => 'window RANGE support',
  1049. proname => 'in_range', prorettype => 'bool',
  1050. proargtypes => 'float4 float4 float8 bool bool',
  1051. prosrc => 'in_range_float4_float8' },
  1052. { oid => '4141', descr => 'window RANGE support',
  1053. proname => 'in_range', prorettype => 'bool',
  1054. proargtypes => 'numeric numeric numeric bool bool',
  1055. prosrc => 'in_range_numeric_numeric' },
  1056. { oid => '361',
  1057. proname => 'lseg_distance', prorettype => 'float8',
  1058. proargtypes => 'lseg lseg', prosrc => 'lseg_distance' },
  1059. { oid => '362',
  1060. proname => 'lseg_interpt', prorettype => 'point', proargtypes => 'lseg lseg',
  1061. prosrc => 'lseg_interpt' },
  1062. { oid => '363',
  1063. proname => 'dist_ps', prorettype => 'float8', proargtypes => 'point lseg',
  1064. prosrc => 'dist_ps' },
  1065. { oid => '380',
  1066. proname => 'dist_sp', prorettype => 'float8', proargtypes => 'lseg point',
  1067. prosrc => 'dist_sp' },
  1068. { oid => '364',
  1069. proname => 'dist_pb', prorettype => 'float8', proargtypes => 'point box',
  1070. prosrc => 'dist_pb' },
  1071. { oid => '357',
  1072. proname => 'dist_bp', prorettype => 'float8', proargtypes => 'box point',
  1073. prosrc => 'dist_bp' },
  1074. { oid => '365',
  1075. proname => 'dist_sb', prorettype => 'float8', proargtypes => 'lseg box',
  1076. prosrc => 'dist_sb' },
  1077. { oid => '381',
  1078. proname => 'dist_bs', prorettype => 'float8', proargtypes => 'box lseg',
  1079. prosrc => 'dist_bs' },
  1080. { oid => '366',
  1081. proname => 'close_ps', prorettype => 'point', proargtypes => 'point lseg',
  1082. prosrc => 'close_ps' },
  1083. { oid => '367',
  1084. proname => 'close_pb', prorettype => 'point', proargtypes => 'point box',
  1085. prosrc => 'close_pb' },
  1086. { oid => '368',
  1087. proname => 'close_sb', prorettype => 'point', proargtypes => 'lseg box',
  1088. prosrc => 'close_sb' },
  1089. { oid => '369',
  1090. proname => 'on_ps', prorettype => 'bool', proargtypes => 'point lseg',
  1091. prosrc => 'on_ps' },
  1092. { oid => '370',
  1093. proname => 'path_distance', prorettype => 'float8',
  1094. proargtypes => 'path path', prosrc => 'path_distance' },
  1095. { oid => '371',
  1096. proname => 'dist_ppath', prorettype => 'float8', proargtypes => 'point path',
  1097. prosrc => 'dist_ppath' },
  1098. { oid => '421',
  1099. proname => 'dist_pathp', prorettype => 'float8', proargtypes => 'path point',
  1100. prosrc => 'dist_pathp' },
  1101. { oid => '372',
  1102. proname => 'on_sb', prorettype => 'bool', proargtypes => 'lseg box',
  1103. prosrc => 'on_sb' },
  1104. { oid => '373',
  1105. proname => 'inter_sb', prorettype => 'bool', proargtypes => 'lseg box',
  1106. prosrc => 'inter_sb' },
  1107. # OIDS 400 - 499
  1108. { oid => '401', descr => 'convert char(n) to text',
  1109. proname => 'text', prorettype => 'text', proargtypes => 'bpchar',
  1110. prosrc => 'rtrim1' },
  1111. { oid => '406', descr => 'convert name to text',
  1112. proname => 'text', proleakproof => 't', prorettype => 'text',
  1113. proargtypes => 'name', prosrc => 'name_text' },
  1114. { oid => '407', descr => 'convert text to name',
  1115. proname => 'name', proleakproof => 't', prorettype => 'name',
  1116. proargtypes => 'text', prosrc => 'text_name' },
  1117. { oid => '408', descr => 'convert name to char(n)',
  1118. proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'name',
  1119. prosrc => 'name_bpchar' },
  1120. { oid => '409', descr => 'convert char(n) to name',
  1121. proname => 'name', proleakproof => 't', prorettype => 'name',
  1122. proargtypes => 'bpchar', prosrc => 'bpchar_name' },
  1123. { oid => '449', descr => 'hash',
  1124. proname => 'hashint2', prorettype => 'int4', proargtypes => 'int2',
  1125. prosrc => 'hashint2' },
  1126. { oid => '441', descr => 'hash',
  1127. proname => 'hashint2extended', prorettype => 'int8',
  1128. proargtypes => 'int2 int8', prosrc => 'hashint2extended' },
  1129. { oid => '450', descr => 'hash',
  1130. proname => 'hashint4', prorettype => 'int4', proargtypes => 'int4',
  1131. prosrc => 'hashint4' },
  1132. { oid => '425', descr => 'hash',
  1133. proname => 'hashint4extended', prorettype => 'int8',
  1134. proargtypes => 'int4 int8', prosrc => 'hashint4extended' },
  1135. { oid => '949', descr => 'hash',
  1136. proname => 'hashint8', prorettype => 'int4', proargtypes => 'int8',
  1137. prosrc => 'hashint8' },
  1138. { oid => '442', descr => 'hash',
  1139. proname => 'hashint8extended', prorettype => 'int8',
  1140. proargtypes => 'int8 int8', prosrc => 'hashint8extended' },
  1141. { oid => '451', descr => 'hash',
  1142. proname => 'hashfloat4', prorettype => 'int4', proargtypes => 'float4',
  1143. prosrc => 'hashfloat4' },
  1144. { oid => '443', descr => 'hash',
  1145. proname => 'hashfloat4extended', prorettype => 'int8',
  1146. proargtypes => 'float4 int8', prosrc => 'hashfloat4extended' },
  1147. { oid => '452', descr => 'hash',
  1148. proname => 'hashfloat8', prorettype => 'int4', proargtypes => 'float8',
  1149. prosrc => 'hashfloat8' },
  1150. { oid => '444', descr => 'hash',
  1151. proname => 'hashfloat8extended', prorettype => 'int8',
  1152. proargtypes => 'float8 int8', prosrc => 'hashfloat8extended' },
  1153. { oid => '453', descr => 'hash',
  1154. proname => 'hashoid', prorettype => 'int4', proargtypes => 'oid',
  1155. prosrc => 'hashoid' },
  1156. { oid => '445', descr => 'hash',
  1157. proname => 'hashoidextended', prorettype => 'int8', proargtypes => 'oid int8',
  1158. prosrc => 'hashoidextended' },
  1159. { oid => '454', descr => 'hash',
  1160. proname => 'hashchar', prorettype => 'int4', proargtypes => 'char',
  1161. prosrc => 'hashchar' },
  1162. { oid => '446', descr => 'hash',
  1163. proname => 'hashcharextended', prorettype => 'int8',
  1164. proargtypes => 'char int8', prosrc => 'hashcharextended' },
  1165. { oid => '455', descr => 'hash',
  1166. proname => 'hashname', prorettype => 'int4', proargtypes => 'name',
  1167. prosrc => 'hashname' },
  1168. { oid => '447', descr => 'hash',
  1169. proname => 'hashnameextended', prorettype => 'int8',
  1170. proargtypes => 'name int8', prosrc => 'hashnameextended' },
  1171. { oid => '400', descr => 'hash',
  1172. proname => 'hashtext', prorettype => 'int4', proargtypes => 'text',
  1173. prosrc => 'hashtext' },
  1174. { oid => '448', descr => 'hash',
  1175. proname => 'hashtextextended', prorettype => 'int8',
  1176. proargtypes => 'text int8', prosrc => 'hashtextextended' },
  1177. { oid => '456', descr => 'hash',
  1178. proname => 'hashvarlena', prorettype => 'int4', proargtypes => 'internal',
  1179. prosrc => 'hashvarlena' },
  1180. { oid => '772', descr => 'hash',
  1181. proname => 'hashvarlenaextended', prorettype => 'int8',
  1182. proargtypes => 'internal int8', prosrc => 'hashvarlenaextended' },
  1183. { oid => '457', descr => 'hash',
  1184. proname => 'hashoidvector', prorettype => 'int4', proargtypes => 'oidvector',
  1185. prosrc => 'hashoidvector' },
  1186. { oid => '776', descr => 'hash',
  1187. proname => 'hashoidvectorextended', prorettype => 'int8',
  1188. proargtypes => 'oidvector int8', prosrc => 'hashoidvectorextended' },
  1189. { oid => '329', descr => 'hash',
  1190. proname => 'hash_aclitem', prorettype => 'int4', proargtypes => 'aclitem',
  1191. prosrc => 'hash_aclitem' },
  1192. { oid => '777', descr => 'hash',
  1193. proname => 'hash_aclitem_extended', prorettype => 'int8',
  1194. proargtypes => 'aclitem int8', prosrc => 'hash_aclitem_extended' },
  1195. { oid => '399', descr => 'hash',
  1196. proname => 'hashmacaddr', prorettype => 'int4', proargtypes => 'macaddr',
  1197. prosrc => 'hashmacaddr' },
  1198. { oid => '778', descr => 'hash',
  1199. proname => 'hashmacaddrextended', prorettype => 'int8',
  1200. proargtypes => 'macaddr int8', prosrc => 'hashmacaddrextended' },
  1201. { oid => '422', descr => 'hash',
  1202. proname => 'hashinet', prorettype => 'int4', proargtypes => 'inet',
  1203. prosrc => 'hashinet' },
  1204. { oid => '779', descr => 'hash',
  1205. proname => 'hashinetextended', prorettype => 'int8',
  1206. proargtypes => 'inet int8', prosrc => 'hashinetextended' },
  1207. { oid => '432', descr => 'hash',
  1208. proname => 'hash_numeric', prorettype => 'int4', proargtypes => 'numeric',
  1209. prosrc => 'hash_numeric' },
  1210. { oid => '780', descr => 'hash',
  1211. proname => 'hash_numeric_extended', prorettype => 'int8',
  1212. proargtypes => 'numeric int8', prosrc => 'hash_numeric_extended' },
  1213. { oid => '328', descr => 'hash',
  1214. proname => 'hashmacaddr8', prorettype => 'int4', proargtypes => 'macaddr8',
  1215. prosrc => 'hashmacaddr8' },
  1216. { oid => '781', descr => 'hash',
  1217. proname => 'hashmacaddr8extended', prorettype => 'int8',
  1218. proargtypes => 'macaddr8 int8', prosrc => 'hashmacaddr8extended' },
  1219. { oid => '438', descr => 'count the number of NULL arguments',
  1220. proname => 'num_nulls', provariadic => 'any', proisstrict => 'f',
  1221. prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}',
  1222. proargmodes => '{v}', prosrc => 'pg_num_nulls' },
  1223. { oid => '440', descr => 'count the number of non-NULL arguments',
  1224. proname => 'num_nonnulls', provariadic => 'any', proisstrict => 'f',
  1225. prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}',
  1226. proargmodes => '{v}', prosrc => 'pg_num_nonnulls' },
  1227. { oid => '458', descr => 'larger of two',
  1228. proname => 'text_larger', proleakproof => 't', prorettype => 'text',
  1229. proargtypes => 'text text', prosrc => 'text_larger' },
  1230. { oid => '459', descr => 'smaller of two',
  1231. proname => 'text_smaller', proleakproof => 't', prorettype => 'text',
  1232. proargtypes => 'text text', prosrc => 'text_smaller' },
  1233. { oid => '460', descr => 'I/O',
  1234. proname => 'int8in', prorettype => 'int8', proargtypes => 'cstring',
  1235. prosrc => 'int8in' },
  1236. { oid => '461', descr => 'I/O',
  1237. proname => 'int8out', prorettype => 'cstring', proargtypes => 'int8',
  1238. prosrc => 'int8out' },
  1239. { oid => '462',
  1240. proname => 'int8um', prorettype => 'int8', proargtypes => 'int8',
  1241. prosrc => 'int8um' },
  1242. { oid => '463',
  1243. proname => 'int8pl', prorettype => 'int8', proargtypes => 'int8 int8',
  1244. prosrc => 'int8pl' },
  1245. { oid => '464',
  1246. proname => 'int8mi', prorettype => 'int8', proargtypes => 'int8 int8',
  1247. prosrc => 'int8mi' },
  1248. { oid => '465',
  1249. proname => 'int8mul', prorettype => 'int8', proargtypes => 'int8 int8',
  1250. prosrc => 'int8mul' },
  1251. { oid => '466',
  1252. proname => 'int8div', prorettype => 'int8', proargtypes => 'int8 int8',
  1253. prosrc => 'int8div' },
  1254. { oid => '467',
  1255. proname => 'int8eq', proleakproof => 't', prorettype => 'bool',
  1256. proargtypes => 'int8 int8', prosrc => 'int8eq' },
  1257. { oid => '468',
  1258. proname => 'int8ne', proleakproof => 't', prorettype => 'bool',
  1259. proargtypes => 'int8 int8', prosrc => 'int8ne' },
  1260. { oid => '469',
  1261. proname => 'int8lt', proleakproof => 't', prorettype => 'bool',
  1262. proargtypes => 'int8 int8', prosrc => 'int8lt' },
  1263. { oid => '470',
  1264. proname => 'int8gt', proleakproof => 't', prorettype => 'bool',
  1265. proargtypes => 'int8 int8', prosrc => 'int8gt' },
  1266. { oid => '471',
  1267. proname => 'int8le', proleakproof => 't', prorettype => 'bool',
  1268. proargtypes => 'int8 int8', prosrc => 'int8le' },
  1269. { oid => '472',
  1270. proname => 'int8ge', proleakproof => 't', prorettype => 'bool',
  1271. proargtypes => 'int8 int8', prosrc => 'int8ge' },
  1272. { oid => '474',
  1273. proname => 'int84eq', proleakproof => 't', prorettype => 'bool',
  1274. proargtypes => 'int8 int4', prosrc => 'int84eq' },
  1275. { oid => '475',
  1276. proname => 'int84ne', proleakproof => 't', prorettype => 'bool',
  1277. proargtypes => 'int8 int4', prosrc => 'int84ne' },
  1278. { oid => '476',
  1279. proname => 'int84lt', proleakproof => 't', prorettype => 'bool',
  1280. proargtypes => 'int8 int4', prosrc => 'int84lt' },
  1281. { oid => '477',
  1282. proname => 'int84gt', proleakproof => 't', prorettype => 'bool',
  1283. proargtypes => 'int8 int4', prosrc => 'int84gt' },
  1284. { oid => '478',
  1285. proname => 'int84le', proleakproof => 't', prorettype => 'bool',
  1286. proargtypes => 'int8 int4', prosrc => 'int84le' },
  1287. { oid => '479',
  1288. proname => 'int84ge', proleakproof => 't', prorettype => 'bool',
  1289. proargtypes => 'int8 int4', prosrc => 'int84ge' },
  1290. { oid => '480', descr => 'convert int8 to int4',
  1291. proname => 'int4', prorettype => 'int4', proargtypes => 'int8',
  1292. prosrc => 'int84' },
  1293. { oid => '481', descr => 'convert int4 to int8',
  1294. proname => 'int8', proleakproof => 't', prorettype => 'int8',
  1295. proargtypes => 'int4', prosrc => 'int48' },
  1296. { oid => '482', descr => 'convert int8 to float8',
  1297. proname => 'float8', proleakproof => 't', prorettype => 'float8',
  1298. proargtypes => 'int8', prosrc => 'i8tod' },
  1299. { oid => '483', descr => 'convert float8 to int8',
  1300. proname => 'int8', prorettype => 'int8', proargtypes => 'float8',
  1301. prosrc => 'dtoi8' },
  1302. # OIDS 500 - 599
  1303. # OIDS 600 - 699
  1304. { oid => '626', descr => 'hash',
  1305. proname => 'hash_array', prorettype => 'int4', proargtypes => 'anyarray',
  1306. prosrc => 'hash_array' },
  1307. { oid => '782', descr => 'hash',
  1308. proname => 'hash_array_extended', prorettype => 'int8',
  1309. proargtypes => 'anyarray int8', prosrc => 'hash_array_extended' },
  1310. { oid => '652', descr => 'convert int8 to float4',
  1311. proname => 'float4', proleakproof => 't', prorettype => 'float4',
  1312. proargtypes => 'int8', prosrc => 'i8tof' },
  1313. { oid => '653', descr => 'convert float4 to int8',
  1314. proname => 'int8', prorettype => 'int8', proargtypes => 'float4',
  1315. prosrc => 'ftoi8' },
  1316. { oid => '714', descr => 'convert int8 to int2',
  1317. proname => 'int2', prorettype => 'int2', proargtypes => 'int8',
  1318. prosrc => 'int82' },
  1319. { oid => '754', descr => 'convert int2 to int8',
  1320. proname => 'int8', proleakproof => 't', prorettype => 'int8',
  1321. proargtypes => 'int2', prosrc => 'int28' },
  1322. { oid => '655',
  1323. proname => 'namelt', proleakproof => 't', prorettype => 'bool',
  1324. proargtypes => 'name name', prosrc => 'namelt' },
  1325. { oid => '656',
  1326. proname => 'namele', proleakproof => 't', prorettype => 'bool',
  1327. proargtypes => 'name name', prosrc => 'namele' },
  1328. { oid => '657',
  1329. proname => 'namegt', proleakproof => 't', prorettype => 'bool',
  1330. proargtypes => 'name name', prosrc => 'namegt' },
  1331. { oid => '658',
  1332. proname => 'namege', proleakproof => 't', prorettype => 'bool',
  1333. proargtypes => 'name name', prosrc => 'namege' },
  1334. { oid => '659',
  1335. proname => 'namene', proleakproof => 't', prorettype => 'bool',
  1336. proargtypes => 'name name', prosrc => 'namene' },
  1337. { oid => '668', descr => 'adjust char() to typmod length',
  1338. proname => 'bpchar', prorettype => 'bpchar',
  1339. proargtypes => 'bpchar int4 bool', prosrc => 'bpchar' },
  1340. { oid => '3097', descr => 'planner support for varchar length coercion',
  1341. proname => 'varchar_support', prorettype => 'internal',
  1342. proargtypes => 'internal', prosrc => 'varchar_support' },
  1343. { oid => '669', descr => 'adjust varchar() to typmod length',
  1344. proname => 'varchar', prosupport => 'varchar_support',
  1345. prorettype => 'varchar', proargtypes => 'varchar int4 bool',
  1346. prosrc => 'varchar' },
  1347. { oid => '619',
  1348. proname => 'oidvectorne', proleakproof => 't', prorettype => 'bool',
  1349. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorne' },
  1350. { oid => '677',
  1351. proname => 'oidvectorlt', proleakproof => 't', prorettype => 'bool',
  1352. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorlt' },
  1353. { oid => '678',
  1354. proname => 'oidvectorle', proleakproof => 't', prorettype => 'bool',
  1355. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorle' },
  1356. { oid => '679',
  1357. proname => 'oidvectoreq', proleakproof => 't', prorettype => 'bool',
  1358. proargtypes => 'oidvector oidvector', prosrc => 'oidvectoreq' },
  1359. { oid => '680',
  1360. proname => 'oidvectorge', proleakproof => 't', prorettype => 'bool',
  1361. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorge' },
  1362. { oid => '681',
  1363. proname => 'oidvectorgt', proleakproof => 't', prorettype => 'bool',
  1364. proargtypes => 'oidvector oidvector', prosrc => 'oidvectorgt' },
  1365. # OIDS 700 - 799
  1366. { oid => '710', descr => 'deprecated, use current_user instead',
  1367. proname => 'getpgusername', provolatile => 's', prorettype => 'name',
  1368. proargtypes => '', prosrc => 'current_user' },
  1369. { oid => '716',
  1370. proname => 'oidlt', proleakproof => 't', prorettype => 'bool',
  1371. proargtypes => 'oid oid', prosrc => 'oidlt' },
  1372. { oid => '717',
  1373. proname => 'oidle', proleakproof => 't', prorettype => 'bool',
  1374. proargtypes => 'oid oid', prosrc => 'oidle' },
  1375. { oid => '720', descr => 'octet length',
  1376. proname => 'octet_length', prorettype => 'int4', proargtypes => 'bytea',
  1377. prosrc => 'byteaoctetlen' },
  1378. { oid => '721', descr => 'get byte',
  1379. proname => 'get_byte', prorettype => 'int4', proargtypes => 'bytea int4',
  1380. prosrc => 'byteaGetByte' },
  1381. { oid => '722', descr => 'set byte',
  1382. proname => 'set_byte', prorettype => 'bytea',
  1383. proargtypes => 'bytea int4 int4', prosrc => 'byteaSetByte' },
  1384. { oid => '723', descr => 'get bit',
  1385. proname => 'get_bit', prorettype => 'int4', proargtypes => 'bytea int8',
  1386. prosrc => 'byteaGetBit' },
  1387. { oid => '724', descr => 'set bit',
  1388. proname => 'set_bit', prorettype => 'bytea', proargtypes => 'bytea int8 int4',
  1389. prosrc => 'byteaSetBit' },
  1390. { oid => '749', descr => 'substitute portion of string',
  1391. proname => 'overlay', prorettype => 'bytea',
  1392. proargtypes => 'bytea bytea int4 int4', prosrc => 'byteaoverlay' },
  1393. { oid => '752', descr => 'substitute portion of string',
  1394. proname => 'overlay', prorettype => 'bytea',
  1395. proargtypes => 'bytea bytea int4', prosrc => 'byteaoverlay_no_len' },
  1396. { oid => '6163', descr => 'number of set bits',
  1397. proname => 'bit_count', prorettype => 'int8', proargtypes => 'bytea',
  1398. prosrc => 'bytea_bit_count' },
  1399. { oid => '725',
  1400. proname => 'dist_pl', prorettype => 'float8', proargtypes => 'point line',
  1401. prosrc => 'dist_pl' },
  1402. { oid => '702',
  1403. proname => 'dist_lp', prorettype => 'float8', proargtypes => 'line point',
  1404. prosrc => 'dist_lp' },
  1405. { oid => '727',
  1406. proname => 'dist_sl', prorettype => 'float8', proargtypes => 'lseg line',
  1407. prosrc => 'dist_sl' },
  1408. { oid => '704',
  1409. proname => 'dist_ls', prorettype => 'float8', proargtypes => 'line lseg',
  1410. prosrc => 'dist_ls' },
  1411. { oid => '728',
  1412. proname => 'dist_cpoly', prorettype => 'float8',
  1413. proargtypes => 'circle polygon', prosrc => 'dist_cpoly' },
  1414. { oid => '785',
  1415. proname => 'dist_polyc', prorettype => 'float8',
  1416. proargtypes => 'polygon circle', prosrc => 'dist_polyc' },
  1417. { oid => '729',
  1418. proname => 'poly_distance', prorettype => 'float8',
  1419. proargtypes => 'polygon polygon', prosrc => 'poly_distance' },
  1420. { oid => '3275',
  1421. proname => 'dist_ppoly', prorettype => 'float8',
  1422. proargtypes => 'point polygon', prosrc => 'dist_ppoly' },
  1423. { oid => '3292',
  1424. proname => 'dist_polyp', prorettype => 'float8',
  1425. proargtypes => 'polygon point', prosrc => 'dist_polyp' },
  1426. { oid => '3290',
  1427. proname => 'dist_cpoint', prorettype => 'float8',
  1428. proargtypes => 'circle point', prosrc => 'dist_cpoint' },
  1429. { oid => '740',
  1430. proname => 'text_lt', proleakproof => 't', prorettype => 'bool',
  1431. proargtypes => 'text text', prosrc => 'text_lt' },
  1432. { oid => '741',
  1433. proname => 'text_le', proleakproof => 't', prorettype => 'bool',
  1434. proargtypes => 'text text', prosrc => 'text_le' },
  1435. { oid => '742',
  1436. proname => 'text_gt', proleakproof => 't', prorettype => 'bool',
  1437. proargtypes => 'text text', prosrc => 'text_gt' },
  1438. { oid => '743',
  1439. proname => 'text_ge', proleakproof => 't', prorettype => 'bool',
  1440. proargtypes => 'text text', prosrc => 'text_ge' },
  1441. { oid => '745', descr => 'current user name',
  1442. proname => 'current_user', provolatile => 's', prorettype => 'name',
  1443. proargtypes => '', prosrc => 'current_user' },
  1444. { oid => '746', descr => 'session user name',
  1445. proname => 'session_user', provolatile => 's', prorettype => 'name',
  1446. proargtypes => '', prosrc => 'session_user' },
  1447. { oid => '744',
  1448. proname => 'array_eq', prorettype => 'bool',
  1449. proargtypes => 'anyarray anyarray', prosrc => 'array_eq' },
  1450. { oid => '390',
  1451. proname => 'array_ne', prorettype => 'bool',
  1452. proargtypes => 'anyarray anyarray', prosrc => 'array_ne' },
  1453. { oid => '391',
  1454. proname => 'array_lt', prorettype => 'bool',
  1455. proargtypes => 'anyarray anyarray', prosrc => 'array_lt' },
  1456. { oid => '392',
  1457. proname => 'array_gt', prorettype => 'bool',
  1458. proargtypes => 'anyarray anyarray', prosrc => 'array_gt' },
  1459. { oid => '393',
  1460. proname => 'array_le', prorettype => 'bool',
  1461. proargtypes => 'anyarray anyarray', prosrc => 'array_le' },
  1462. { oid => '396',
  1463. proname => 'array_ge', prorettype => 'bool',
  1464. proargtypes => 'anyarray anyarray', prosrc => 'array_ge' },
  1465. { oid => '747', descr => 'array dimensions',
  1466. proname => 'array_dims', prorettype => 'text', proargtypes => 'anyarray',
  1467. prosrc => 'array_dims' },
  1468. { oid => '748', descr => 'number of array dimensions',
  1469. proname => 'array_ndims', prorettype => 'int4', proargtypes => 'anyarray',
  1470. prosrc => 'array_ndims' },
  1471. { oid => '750', descr => 'I/O',
  1472. proname => 'array_in', provolatile => 's', prorettype => 'anyarray',
  1473. proargtypes => 'cstring oid int4', prosrc => 'array_in' },
  1474. { oid => '751', descr => 'I/O',
  1475. proname => 'array_out', provolatile => 's', prorettype => 'cstring',
  1476. proargtypes => 'anyarray', prosrc => 'array_out' },
  1477. { oid => '2091', descr => 'array lower dimension',
  1478. proname => 'array_lower', prorettype => 'int4',
  1479. proargtypes => 'anyarray int4', prosrc => 'array_lower' },
  1480. { oid => '2092', descr => 'array upper dimension',
  1481. proname => 'array_upper', prorettype => 'int4',
  1482. proargtypes => 'anyarray int4', prosrc => 'array_upper' },
  1483. { oid => '2176', descr => 'array length',
  1484. proname => 'array_length', prorettype => 'int4',
  1485. proargtypes => 'anyarray int4', prosrc => 'array_length' },
  1486. { oid => '3179', descr => 'array cardinality',
  1487. proname => 'cardinality', prorettype => 'int4', proargtypes => 'anyarray',
  1488. prosrc => 'array_cardinality' },
  1489. { oid => '378', descr => 'append element onto end of array',
  1490. proname => 'array_append', proisstrict => 'f',
  1491. prorettype => 'anycompatiblearray',
  1492. proargtypes => 'anycompatiblearray anycompatible', prosrc => 'array_append' },
  1493. { oid => '379', descr => 'prepend element onto front of array',
  1494. proname => 'array_prepend', proisstrict => 'f',
  1495. prorettype => 'anycompatiblearray',
  1496. proargtypes => 'anycompatible anycompatiblearray',
  1497. prosrc => 'array_prepend' },
  1498. { oid => '383',
  1499. proname => 'array_cat', proisstrict => 'f',
  1500. prorettype => 'anycompatiblearray',
  1501. proargtypes => 'anycompatiblearray anycompatiblearray',
  1502. prosrc => 'array_cat' },
  1503. { oid => '394', descr => 'split delimited text',
  1504. proname => 'string_to_array', proisstrict => 'f', prorettype => '_text',
  1505. proargtypes => 'text text', prosrc => 'text_to_array' },
  1506. { oid => '376', descr => 'split delimited text, with null string',
  1507. proname => 'string_to_array', proisstrict => 'f', prorettype => '_text',
  1508. proargtypes => 'text text text', prosrc => 'text_to_array_null' },
  1509. { oid => '6160', descr => 'split delimited text',
  1510. proname => 'string_to_table', prorows => '1000', proisstrict => 'f',
  1511. proretset => 't', prorettype => 'text', proargtypes => 'text text',
  1512. prosrc => 'text_to_table' },
  1513. { oid => '6161', descr => 'split delimited text, with null string',
  1514. proname => 'string_to_table', prorows => '1000', proisstrict => 'f',
  1515. proretset => 't', prorettype => 'text', proargtypes => 'text text text',
  1516. prosrc => 'text_to_table_null' },
  1517. { oid => '395',
  1518. descr => 'concatenate array elements, using delimiter, into text',
  1519. proname => 'array_to_string', provolatile => 's', prorettype => 'text',
  1520. proargtypes => 'anyarray text', prosrc => 'array_to_text' },
  1521. { oid => '384',
  1522. descr => 'concatenate array elements, using delimiter and null string, into text',
  1523. proname => 'array_to_string', proisstrict => 'f', provolatile => 's',
  1524. prorettype => 'text', proargtypes => 'anyarray text text',
  1525. prosrc => 'array_to_text_null' },
  1526. { oid => '515', descr => 'larger of two',
  1527. proname => 'array_larger', prorettype => 'anyarray',
  1528. proargtypes => 'anyarray anyarray', prosrc => 'array_larger' },
  1529. { oid => '516', descr => 'smaller of two',
  1530. proname => 'array_smaller', prorettype => 'anyarray',
  1531. proargtypes => 'anyarray anyarray', prosrc => 'array_smaller' },
  1532. { oid => '3277', descr => 'returns an offset of value in array',
  1533. proname => 'array_position', proisstrict => 'f', prorettype => 'int4',
  1534. proargtypes => 'anycompatiblearray anycompatible',
  1535. prosrc => 'array_position' },
  1536. { oid => '3278',
  1537. descr => 'returns an offset of value in array with start index',
  1538. proname => 'array_position', proisstrict => 'f', prorettype => 'int4',
  1539. proargtypes => 'anycompatiblearray anycompatible int4',
  1540. prosrc => 'array_position_start' },
  1541. { oid => '3279',
  1542. descr => 'returns an array of offsets of some value in array',
  1543. proname => 'array_positions', proisstrict => 'f', prorettype => '_int4',
  1544. proargtypes => 'anycompatiblearray anycompatible',
  1545. prosrc => 'array_positions' },
  1546. { oid => '1191', descr => 'array subscripts generator',
  1547. proname => 'generate_subscripts', prorows => '1000', proretset => 't',
  1548. prorettype => 'int4', proargtypes => 'anyarray int4 bool',
  1549. prosrc => 'generate_subscripts' },
  1550. { oid => '1192', descr => 'array subscripts generator',
  1551. proname => 'generate_subscripts', prorows => '1000', proretset => 't',
  1552. prorettype => 'int4', proargtypes => 'anyarray int4',
  1553. prosrc => 'generate_subscripts_nodir' },
  1554. { oid => '1193', descr => 'array constructor with value',
  1555. proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray',
  1556. proargtypes => 'anyelement _int4', prosrc => 'array_fill' },
  1557. { oid => '1286', descr => 'array constructor with value',
  1558. proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray',
  1559. proargtypes => 'anyelement _int4 _int4',
  1560. prosrc => 'array_fill_with_lower_bounds' },
  1561. { oid => '2331', descr => 'expand array to set of rows',
  1562. proname => 'unnest', prorows => '100', prosupport => 'array_unnest_support',
  1563. proretset => 't', prorettype => 'anyelement', proargtypes => 'anyarray',
  1564. prosrc => 'array_unnest' },
  1565. { oid => '3996', descr => 'planner support for array_unnest',
  1566. proname => 'array_unnest_support', prorettype => 'internal',
  1567. proargtypes => 'internal', prosrc => 'array_unnest_support' },
  1568. { oid => '3167',
  1569. descr => 'remove any occurrences of an element from an array',
  1570. proname => 'array_remove', proisstrict => 'f',
  1571. prorettype => 'anycompatiblearray',
  1572. proargtypes => 'anycompatiblearray anycompatible', prosrc => 'array_remove' },
  1573. { oid => '3168', descr => 'replace any occurrences of an element in an array',
  1574. proname => 'array_replace', proisstrict => 'f',
  1575. prorettype => 'anycompatiblearray',
  1576. proargtypes => 'anycompatiblearray anycompatible anycompatible',
  1577. prosrc => 'array_replace' },
  1578. { oid => '2333', descr => 'aggregate transition function',
  1579. proname => 'array_agg_transfn', proisstrict => 'f', prorettype => 'internal',
  1580. proargtypes => 'internal anynonarray', prosrc => 'array_agg_transfn' },
  1581. { oid => '2334', descr => 'aggregate final function',
  1582. proname => 'array_agg_finalfn', proisstrict => 'f', prorettype => 'anyarray',
  1583. proargtypes => 'internal anynonarray', prosrc => 'array_agg_finalfn' },
  1584. { oid => '2335', descr => 'concatenate aggregate input into an array',
  1585. proname => 'array_agg', prokind => 'a', proisstrict => 'f',
  1586. prorettype => 'anyarray', proargtypes => 'anynonarray',
  1587. prosrc => 'aggregate_dummy' },
  1588. { oid => '4051', descr => 'aggregate transition function',
  1589. proname => 'array_agg_array_transfn', proisstrict => 'f',
  1590. prorettype => 'internal', proargtypes => 'internal anyarray',
  1591. prosrc => 'array_agg_array_transfn' },
  1592. { oid => '4052', descr => 'aggregate final function',
  1593. proname => 'array_agg_array_finalfn', proisstrict => 'f',
  1594. prorettype => 'anyarray', proargtypes => 'internal anyarray',
  1595. prosrc => 'array_agg_array_finalfn' },
  1596. { oid => '4053', descr => 'concatenate aggregate input into an array',
  1597. proname => 'array_agg', prokind => 'a', proisstrict => 'f',
  1598. prorettype => 'anyarray', proargtypes => 'anyarray',
  1599. prosrc => 'aggregate_dummy' },
  1600. { oid => '3218',
  1601. descr => 'bucket number of operand given a sorted array of bucket lower bounds',
  1602. proname => 'width_bucket', prorettype => 'int4',
  1603. proargtypes => 'anycompatible anycompatiblearray',
  1604. prosrc => 'width_bucket_array' },
  1605. { oid => '6172', descr => 'remove last N elements of array',
  1606. proname => 'trim_array', prorettype => 'anyarray',
  1607. proargtypes => 'anyarray int4', prosrc => 'trim_array' },
  1608. { oid => '3816', descr => 'array typanalyze',
  1609. proname => 'array_typanalyze', provolatile => 's', prorettype => 'bool',
  1610. proargtypes => 'internal', prosrc => 'array_typanalyze' },
  1611. { oid => '3817',
  1612. descr => 'restriction selectivity for array-containment operators',
  1613. proname => 'arraycontsel', provolatile => 's', prorettype => 'float8',
  1614. proargtypes => 'internal oid internal int4', prosrc => 'arraycontsel' },
  1615. { oid => '3818', descr => 'join selectivity for array-containment operators',
  1616. proname => 'arraycontjoinsel', provolatile => 's', prorettype => 'float8',
  1617. proargtypes => 'internal oid internal int2 internal',
  1618. prosrc => 'arraycontjoinsel' },
  1619. { oid => '764', descr => 'large object import',
  1620. proname => 'lo_import', provolatile => 'v', proparallel => 'u',
  1621. prorettype => 'oid', proargtypes => 'text', prosrc => 'be_lo_import' },
  1622. { oid => '767', descr => 'large object import',
  1623. proname => 'lo_import', provolatile => 'v', proparallel => 'u',
  1624. prorettype => 'oid', proargtypes => 'text oid',
  1625. prosrc => 'be_lo_import_with_oid' },
  1626. { oid => '765', descr => 'large object export',
  1627. proname => 'lo_export', provolatile => 'v', proparallel => 'u',
  1628. prorettype => 'int4', proargtypes => 'oid text', prosrc => 'be_lo_export' },
  1629. { oid => '766', descr => 'increment',
  1630. proname => 'int4inc', prorettype => 'int4', proargtypes => 'int4',
  1631. prosrc => 'int4inc' },
  1632. { oid => '768', descr => 'larger of two',
  1633. proname => 'int4larger', prorettype => 'int4', proargtypes => 'int4 int4',
  1634. prosrc => 'int4larger' },
  1635. { oid => '769', descr => 'smaller of two',
  1636. proname => 'int4smaller', prorettype => 'int4', proargtypes => 'int4 int4',
  1637. prosrc => 'int4smaller' },
  1638. { oid => '770', descr => 'larger of two',
  1639. proname => 'int2larger', prorettype => 'int2', proargtypes => 'int2 int2',
  1640. prosrc => 'int2larger' },
  1641. { oid => '771', descr => 'smaller of two',
  1642. proname => 'int2smaller', prorettype => 'int2', proargtypes => 'int2 int2',
  1643. prosrc => 'int2smaller' },
  1644. # OIDS 800 - 899
  1645. { oid => '846',
  1646. proname => 'cash_mul_flt4', prorettype => 'money',
  1647. proargtypes => 'money float4', prosrc => 'cash_mul_flt4' },
  1648. { oid => '847',
  1649. proname => 'cash_div_flt4', prorettype => 'money',
  1650. proargtypes => 'money float4', prosrc => 'cash_div_flt4' },
  1651. { oid => '848',
  1652. proname => 'flt4_mul_cash', prorettype => 'money',
  1653. proargtypes => 'float4 money', prosrc => 'flt4_mul_cash' },
  1654. { oid => '849', descr => 'position of substring',
  1655. proname => 'position', prorettype => 'int4', proargtypes => 'text text',
  1656. prosrc => 'textpos' },
  1657. { oid => '850',
  1658. proname => 'textlike', prosupport => 'textlike_support', prorettype => 'bool',
  1659. proargtypes => 'text text', prosrc => 'textlike' },
  1660. { oid => '1023', descr => 'planner support for textlike',
  1661. proname => 'textlike_support', prorettype => 'internal',
  1662. proargtypes => 'internal', prosrc => 'textlike_support' },
  1663. { oid => '851',
  1664. proname => 'textnlike', prorettype => 'bool', proargtypes => 'text text',
  1665. prosrc => 'textnlike' },
  1666. { oid => '852',
  1667. proname => 'int48eq', proleakproof => 't', prorettype => 'bool',
  1668. proargtypes => 'int4 int8', prosrc => 'int48eq' },
  1669. { oid => '853',
  1670. proname => 'int48ne', proleakproof => 't', prorettype => 'bool',
  1671. proargtypes => 'int4 int8', prosrc => 'int48ne' },
  1672. { oid => '854',
  1673. proname => 'int48lt', proleakproof => 't', prorettype => 'bool',
  1674. proargtypes => 'int4 int8', prosrc => 'int48lt' },
  1675. { oid => '855',
  1676. proname => 'int48gt', proleakproof => 't', prorettype => 'bool',
  1677. proargtypes => 'int4 int8', prosrc => 'int48gt' },
  1678. { oid => '856',
  1679. proname => 'int48le', proleakproof => 't', prorettype => 'bool',
  1680. proargtypes => 'int4 int8', prosrc => 'int48le' },
  1681. { oid => '857',
  1682. proname => 'int48ge', proleakproof => 't', prorettype => 'bool',
  1683. proargtypes => 'int4 int8', prosrc => 'int48ge' },
  1684. { oid => '858',
  1685. proname => 'namelike', prosupport => 'textlike_support', prorettype => 'bool',
  1686. proargtypes => 'name text', prosrc => 'namelike' },
  1687. { oid => '859',
  1688. proname => 'namenlike', prorettype => 'bool', proargtypes => 'name text',
  1689. prosrc => 'namenlike' },
  1690. { oid => '860', descr => 'convert char to char(n)',
  1691. proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'char',
  1692. prosrc => 'char_bpchar' },
  1693. { oid => '861', descr => 'name of the current database',
  1694. proname => 'current_database', provolatile => 's', prorettype => 'name',
  1695. proargtypes => '', prosrc => 'current_database' },
  1696. { oid => '817', descr => 'get the currently executing query',
  1697. proname => 'current_query', proisstrict => 'f', provolatile => 'v',
  1698. proparallel => 'r', prorettype => 'text', proargtypes => '',
  1699. prosrc => 'current_query' },
  1700. { oid => '3399',
  1701. proname => 'int8_mul_cash', prorettype => 'money',
  1702. proargtypes => 'int8 money', prosrc => 'int8_mul_cash' },
  1703. { oid => '862',
  1704. proname => 'int4_mul_cash', prorettype => 'money',
  1705. proargtypes => 'int4 money', prosrc => 'int4_mul_cash' },
  1706. { oid => '863',
  1707. proname => 'int2_mul_cash', prorettype => 'money',
  1708. proargtypes => 'int2 money', prosrc => 'int2_mul_cash' },
  1709. { oid => '3344',
  1710. proname => 'cash_mul_int8', prorettype => 'money',
  1711. proargtypes => 'money int8', prosrc => 'cash_mul_int8' },
  1712. { oid => '3345',
  1713. proname => 'cash_div_int8', prorettype => 'money',
  1714. proargtypes => 'money int8', prosrc => 'cash_div_int8' },
  1715. { oid => '864',
  1716. proname => 'cash_mul_int4', prorettype => 'money',
  1717. proargtypes => 'money int4', prosrc => 'cash_mul_int4' },
  1718. { oid => '865',
  1719. proname => 'cash_div_int4', prorettype => 'money',
  1720. proargtypes => 'money int4', prosrc => 'cash_div_int4' },
  1721. { oid => '866',
  1722. proname => 'cash_mul_int2', prorettype => 'money',
  1723. proargtypes => 'money int2', prosrc => 'cash_mul_int2' },
  1724. { oid => '867',
  1725. proname => 'cash_div_int2', prorettype => 'money',
  1726. proargtypes => 'money int2', prosrc => 'cash_div_int2' },
  1727. { oid => '886', descr => 'I/O',
  1728. proname => 'cash_in', provolatile => 's', prorettype => 'money',
  1729. proargtypes => 'cstring', prosrc => 'cash_in' },
  1730. { oid => '887', descr => 'I/O',
  1731. proname => 'cash_out', provolatile => 's', prorettype => 'cstring',
  1732. proargtypes => 'money', prosrc => 'cash_out' },
  1733. { oid => '888',
  1734. proname => 'cash_eq', proleakproof => 't', prorettype => 'bool',
  1735. proargtypes => 'money money', prosrc => 'cash_eq' },
  1736. { oid => '889',
  1737. proname => 'cash_ne', proleakproof => 't', prorettype => 'bool',
  1738. proargtypes => 'money money', prosrc => 'cash_ne' },
  1739. { oid => '890',
  1740. proname => 'cash_lt', proleakproof => 't', prorettype => 'bool',
  1741. proargtypes => 'money money', prosrc => 'cash_lt' },
  1742. { oid => '891',
  1743. proname => 'cash_le', proleakproof => 't', prorettype => 'bool',
  1744. proargtypes => 'money money', prosrc => 'cash_le' },
  1745. { oid => '892',
  1746. proname => 'cash_gt', proleakproof => 't', prorettype => 'bool',
  1747. proargtypes => 'money money', prosrc => 'cash_gt' },
  1748. { oid => '893',
  1749. proname => 'cash_ge', proleakproof => 't', prorettype => 'bool',
  1750. proargtypes => 'money money', prosrc => 'cash_ge' },
  1751. { oid => '894',
  1752. proname => 'cash_pl', prorettype => 'money', proargtypes => 'money money',
  1753. prosrc => 'cash_pl' },
  1754. { oid => '895',
  1755. proname => 'cash_mi', prorettype => 'money', proargtypes => 'money money',
  1756. prosrc => 'cash_mi' },
  1757. { oid => '896',
  1758. proname => 'cash_mul_flt8', prorettype => 'money',
  1759. proargtypes => 'money float8', prosrc => 'cash_mul_flt8' },
  1760. { oid => '897',
  1761. proname => 'cash_div_flt8', prorettype => 'money',
  1762. proargtypes => 'money float8', prosrc => 'cash_div_flt8' },
  1763. { oid => '898', descr => 'larger of two',
  1764. proname => 'cashlarger', prorettype => 'money', proargtypes => 'money money',
  1765. prosrc => 'cashlarger' },
  1766. { oid => '899', descr => 'smaller of two',
  1767. proname => 'cashsmaller', prorettype => 'money', proargtypes => 'money money',
  1768. prosrc => 'cashsmaller' },
  1769. { oid => '919',
  1770. proname => 'flt8_mul_cash', prorettype => 'money',
  1771. proargtypes => 'float8 money', prosrc => 'flt8_mul_cash' },
  1772. { oid => '935', descr => 'output money amount as words',
  1773. proname => 'cash_words', prorettype => 'text', proargtypes => 'money',
  1774. prosrc => 'cash_words' },
  1775. { oid => '3822',
  1776. proname => 'cash_div_cash', prorettype => 'float8',
  1777. proargtypes => 'money money', prosrc => 'cash_div_cash' },
  1778. { oid => '3823', descr => 'convert money to numeric',
  1779. proname => 'numeric', provolatile => 's', prorettype => 'numeric',
  1780. proargtypes => 'money', prosrc => 'cash_numeric' },
  1781. { oid => '3824', descr => 'convert numeric to money',
  1782. proname => 'money', provolatile => 's', prorettype => 'money',
  1783. proargtypes => 'numeric', prosrc => 'numeric_cash' },
  1784. { oid => '3811', descr => 'convert int4 to money',
  1785. proname => 'money', provolatile => 's', prorettype => 'money',
  1786. proargtypes => 'int4', prosrc => 'int4_cash' },
  1787. { oid => '3812', descr => 'convert int8 to money',
  1788. proname => 'money', provolatile => 's', prorettype => 'money',
  1789. proargtypes => 'int8', prosrc => 'int8_cash' },
  1790. # OIDS 900 - 999
  1791. { oid => '940', descr => 'modulus',
  1792. proname => 'mod', prorettype => 'int2', proargtypes => 'int2 int2',
  1793. prosrc => 'int2mod' },
  1794. { oid => '941', descr => 'modulus',
  1795. proname => 'mod', prorettype => 'int4', proargtypes => 'int4 int4',
  1796. prosrc => 'int4mod' },
  1797. { oid => '945',
  1798. proname => 'int8mod', prorettype => 'int8', proargtypes => 'int8 int8',
  1799. prosrc => 'int8mod' },
  1800. { oid => '947', descr => 'modulus',
  1801. proname => 'mod', prorettype => 'int8', proargtypes => 'int8 int8',
  1802. prosrc => 'int8mod' },
  1803. { oid => '5044', descr => 'greatest common divisor',
  1804. proname => 'gcd', prorettype => 'int4', proargtypes => 'int4 int4',
  1805. prosrc => 'int4gcd' },
  1806. { oid => '5045', descr => 'greatest common divisor',
  1807. proname => 'gcd', prorettype => 'int8', proargtypes => 'int8 int8',
  1808. prosrc => 'int8gcd' },
  1809. { oid => '5046', descr => 'least common multiple',
  1810. proname => 'lcm', prorettype => 'int4', proargtypes => 'int4 int4',
  1811. prosrc => 'int4lcm' },
  1812. { oid => '5047', descr => 'least common multiple',
  1813. proname => 'lcm', prorettype => 'int8', proargtypes => 'int8 int8',
  1814. prosrc => 'int8lcm' },
  1815. { oid => '944', descr => 'convert text to char',
  1816. proname => 'char', prorettype => 'char', proargtypes => 'text',
  1817. prosrc => 'text_char' },
  1818. { oid => '946', descr => 'convert char to text',
  1819. proname => 'text', prorettype => 'text', proargtypes => 'char',
  1820. prosrc => 'char_text' },
  1821. { oid => '952', descr => 'large object open',
  1822. proname => 'lo_open', provolatile => 'v', proparallel => 'u',
  1823. prorettype => 'int4', proargtypes => 'oid int4', prosrc => 'be_lo_open' },
  1824. { oid => '953', descr => 'large object close',
  1825. proname => 'lo_close', provolatile => 'v', proparallel => 'u',
  1826. prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_close' },
  1827. { oid => '954', descr => 'large object read',
  1828. proname => 'loread', provolatile => 'v', proparallel => 'u',
  1829. prorettype => 'bytea', proargtypes => 'int4 int4', prosrc => 'be_loread' },
  1830. { oid => '955', descr => 'large object write',
  1831. proname => 'lowrite', provolatile => 'v', proparallel => 'u',
  1832. prorettype => 'int4', proargtypes => 'int4 bytea', prosrc => 'be_lowrite' },
  1833. { oid => '956', descr => 'large object seek',
  1834. proname => 'lo_lseek', provolatile => 'v', proparallel => 'u',
  1835. prorettype => 'int4', proargtypes => 'int4 int4 int4',
  1836. prosrc => 'be_lo_lseek' },
  1837. { oid => '3170', descr => 'large object seek (64 bit)',
  1838. proname => 'lo_lseek64', provolatile => 'v', proparallel => 'u',
  1839. prorettype => 'int8', proargtypes => 'int4 int8 int4',
  1840. prosrc => 'be_lo_lseek64' },
  1841. { oid => '957', descr => 'large object create',
  1842. proname => 'lo_creat', provolatile => 'v', proparallel => 'u',
  1843. prorettype => 'oid', proargtypes => 'int4', prosrc => 'be_lo_creat' },
  1844. { oid => '715', descr => 'large object create',
  1845. proname => 'lo_create', provolatile => 'v', proparallel => 'u',
  1846. prorettype => 'oid', proargtypes => 'oid', prosrc => 'be_lo_create' },
  1847. { oid => '958', descr => 'large object position',
  1848. proname => 'lo_tell', provolatile => 'v', proparallel => 'u',
  1849. prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_tell' },
  1850. { oid => '3171', descr => 'large object position (64 bit)',
  1851. proname => 'lo_tell64', provolatile => 'v', proparallel => 'u',
  1852. prorettype => 'int8', proargtypes => 'int4', prosrc => 'be_lo_tell64' },
  1853. { oid => '1004', descr => 'truncate large object',
  1854. proname => 'lo_truncate', provolatile => 'v', proparallel => 'u',
  1855. prorettype => 'int4', proargtypes => 'int4 int4',
  1856. prosrc => 'be_lo_truncate' },
  1857. { oid => '3172', descr => 'truncate large object (64 bit)',
  1858. proname => 'lo_truncate64', provolatile => 'v', proparallel => 'u',
  1859. prorettype => 'int4', proargtypes => 'int4 int8',
  1860. prosrc => 'be_lo_truncate64' },
  1861. { oid => '3457', descr => 'create new large object with given content',
  1862. proname => 'lo_from_bytea', provolatile => 'v', proparallel => 'u',
  1863. prorettype => 'oid', proargtypes => 'oid bytea',
  1864. prosrc => 'be_lo_from_bytea' },
  1865. { oid => '3458', descr => 'read entire large object',
  1866. proname => 'lo_get', provolatile => 'v', proparallel => 'u',
  1867. prorettype => 'bytea', proargtypes => 'oid', prosrc => 'be_lo_get' },
  1868. { oid => '3459', descr => 'read large object from offset for length',
  1869. proname => 'lo_get', provolatile => 'v', proparallel => 'u',
  1870. prorettype => 'bytea', proargtypes => 'oid int8 int4',
  1871. prosrc => 'be_lo_get_fragment' },
  1872. { oid => '3460', descr => 'write data at offset',
  1873. proname => 'lo_put', provolatile => 'v', proparallel => 'u',
  1874. prorettype => 'void', proargtypes => 'oid int8 bytea',
  1875. prosrc => 'be_lo_put' },
  1876. { oid => '959',
  1877. proname => 'on_pl', prorettype => 'bool', proargtypes => 'point line',
  1878. prosrc => 'on_pl' },
  1879. { oid => '960',
  1880. proname => 'on_sl', prorettype => 'bool', proargtypes => 'lseg line',
  1881. prosrc => 'on_sl' },
  1882. { oid => '961',
  1883. proname => 'close_pl', prorettype => 'point', proargtypes => 'point line',
  1884. prosrc => 'close_pl' },
  1885. { oid => '964', descr => 'large object unlink (delete)',
  1886. proname => 'lo_unlink', provolatile => 'v', proparallel => 'u',
  1887. prorettype => 'int4', proargtypes => 'oid', prosrc => 'be_lo_unlink' },
  1888. { oid => '973',
  1889. proname => 'path_inter', prorettype => 'bool', proargtypes => 'path path',
  1890. prosrc => 'path_inter' },
  1891. { oid => '975', descr => 'box area',
  1892. proname => 'area', prorettype => 'float8', proargtypes => 'box',
  1893. prosrc => 'box_area' },
  1894. { oid => '976', descr => 'box width',
  1895. proname => 'width', prorettype => 'float8', proargtypes => 'box',
  1896. prosrc => 'box_width' },
  1897. { oid => '977', descr => 'box height',
  1898. proname => 'height', prorettype => 'float8', proargtypes => 'box',
  1899. prosrc => 'box_height' },
  1900. { oid => '978',
  1901. proname => 'box_distance', prorettype => 'float8', proargtypes => 'box box',
  1902. prosrc => 'box_distance' },
  1903. { oid => '979', descr => 'area of a closed path',
  1904. proname => 'area', prorettype => 'float8', proargtypes => 'path',
  1905. prosrc => 'path_area' },
  1906. { oid => '980',
  1907. proname => 'box_intersect', prorettype => 'box', proargtypes => 'box box',
  1908. prosrc => 'box_intersect' },
  1909. { oid => '4067', descr => 'bounding box of two boxes',
  1910. proname => 'bound_box', prorettype => 'box', proargtypes => 'box box',
  1911. prosrc => 'boxes_bound_box' },
  1912. { oid => '981', descr => 'box diagonal',
  1913. proname => 'diagonal', prorettype => 'lseg', proargtypes => 'box',
  1914. prosrc => 'box_diagonal' },
  1915. { oid => '982',
  1916. proname => 'path_n_lt', prorettype => 'bool', proargtypes => 'path path',
  1917. prosrc => 'path_n_lt' },
  1918. { oid => '983',
  1919. proname => 'path_n_gt', prorettype => 'bool', proargtypes => 'path path',
  1920. prosrc => 'path_n_gt' },
  1921. { oid => '984',
  1922. proname => 'path_n_eq', prorettype => 'bool', proargtypes => 'path path',
  1923. prosrc => 'path_n_eq' },
  1924. { oid => '985',
  1925. proname => 'path_n_le', prorettype => 'bool', proargtypes => 'path path',
  1926. prosrc => 'path_n_le' },
  1927. { oid => '986',
  1928. proname => 'path_n_ge', prorettype => 'bool', proargtypes => 'path path',
  1929. prosrc => 'path_n_ge' },
  1930. { oid => '987',
  1931. proname => 'path_length', prorettype => 'float8', proargtypes => 'path',
  1932. prosrc => 'path_length' },
  1933. { oid => '988',
  1934. proname => 'point_ne', prorettype => 'bool', proargtypes => 'point point',
  1935. prosrc => 'point_ne' },
  1936. { oid => '989',
  1937. proname => 'point_vert', prorettype => 'bool', proargtypes => 'point point',
  1938. prosrc => 'point_vert' },
  1939. { oid => '990',
  1940. proname => 'point_horiz', prorettype => 'bool', proargtypes => 'point point',
  1941. prosrc => 'point_horiz' },
  1942. { oid => '991',
  1943. proname => 'point_distance', prorettype => 'float8',
  1944. proargtypes => 'point point', prosrc => 'point_distance' },
  1945. { oid => '992', descr => 'slope between points',
  1946. proname => 'slope', prorettype => 'float8', proargtypes => 'point point',
  1947. prosrc => 'point_slope' },
  1948. { oid => '993', descr => 'convert points to line segment',
  1949. proname => 'lseg', prorettype => 'lseg', proargtypes => 'point point',
  1950. prosrc => 'lseg_construct' },
  1951. { oid => '994',
  1952. proname => 'lseg_intersect', prorettype => 'bool', proargtypes => 'lseg lseg',
  1953. prosrc => 'lseg_intersect' },
  1954. { oid => '995',
  1955. proname => 'lseg_parallel', prorettype => 'bool', proargtypes => 'lseg lseg',
  1956. prosrc => 'lseg_parallel' },
  1957. { oid => '996',
  1958. proname => 'lseg_perp', prorettype => 'bool', proargtypes => 'lseg lseg',
  1959. prosrc => 'lseg_perp' },
  1960. { oid => '997',
  1961. proname => 'lseg_vertical', prorettype => 'bool', proargtypes => 'lseg',
  1962. prosrc => 'lseg_vertical' },
  1963. { oid => '998',
  1964. proname => 'lseg_horizontal', prorettype => 'bool', proargtypes => 'lseg',
  1965. prosrc => 'lseg_horizontal' },
  1966. { oid => '999',
  1967. proname => 'lseg_eq', proleakproof => 't', prorettype => 'bool',
  1968. proargtypes => 'lseg lseg', prosrc => 'lseg_eq' },
  1969. # OIDS 1000 - 1999
  1970. { oid => '1026', descr => 'adjust timestamp to new time zone',
  1971. proname => 'timezone', prorettype => 'timestamp',
  1972. proargtypes => 'interval timestamptz', prosrc => 'timestamptz_izone' },
  1973. { oid => '1031', descr => 'I/O',
  1974. proname => 'aclitemin', provolatile => 's', prorettype => 'aclitem',
  1975. proargtypes => 'cstring', prosrc => 'aclitemin' },
  1976. { oid => '1032', descr => 'I/O',
  1977. proname => 'aclitemout', provolatile => 's', prorettype => 'cstring',
  1978. proargtypes => 'aclitem', prosrc => 'aclitemout' },
  1979. { oid => '1035', descr => 'add/update ACL item',
  1980. proname => 'aclinsert', prorettype => '_aclitem',
  1981. proargtypes => '_aclitem aclitem', prosrc => 'aclinsert' },
  1982. { oid => '1036', descr => 'remove ACL item',
  1983. proname => 'aclremove', prorettype => '_aclitem',
  1984. proargtypes => '_aclitem aclitem', prosrc => 'aclremove' },
  1985. { oid => '1037', descr => 'contains',
  1986. proname => 'aclcontains', prorettype => 'bool',
  1987. proargtypes => '_aclitem aclitem', prosrc => 'aclcontains' },
  1988. { oid => '1062',
  1989. proname => 'aclitemeq', prorettype => 'bool',
  1990. proargtypes => 'aclitem aclitem', prosrc => 'aclitem_eq' },
  1991. { oid => '1365', descr => 'make ACL item',
  1992. proname => 'makeaclitem', prorettype => 'aclitem',
  1993. proargtypes => 'oid oid text bool', prosrc => 'makeaclitem' },
  1994. { oid => '3943',
  1995. descr => 'show hardwired default privileges, primarily for use by the information schema',
  1996. proname => 'acldefault', prorettype => '_aclitem', proargtypes => 'char oid',
  1997. prosrc => 'acldefault_sql' },
  1998. { oid => '1689',
  1999. descr => 'convert ACL item array to table, primarily for use by information schema',
  2000. proname => 'aclexplode', prorows => '10', proretset => 't',
  2001. provolatile => 's', prorettype => 'record', proargtypes => '_aclitem',
  2002. proallargtypes => '{_aclitem,oid,oid,text,bool}',
  2003. proargmodes => '{i,o,o,o,o}',
  2004. proargnames => '{acl,grantor,grantee,privilege_type,is_grantable}',
  2005. prosrc => 'aclexplode' },
  2006. { oid => '1044', descr => 'I/O',
  2007. proname => 'bpcharin', prorettype => 'bpchar',
  2008. proargtypes => 'cstring oid int4', prosrc => 'bpcharin' },
  2009. { oid => '1045', descr => 'I/O',
  2010. proname => 'bpcharout', prorettype => 'cstring', proargtypes => 'bpchar',
  2011. prosrc => 'bpcharout' },
  2012. { oid => '2913', descr => 'I/O typmod',
  2013. proname => 'bpchartypmodin', prorettype => 'int4', proargtypes => '_cstring',
  2014. prosrc => 'bpchartypmodin' },
  2015. { oid => '2914', descr => 'I/O typmod',
  2016. proname => 'bpchartypmodout', prorettype => 'cstring', proargtypes => 'int4',
  2017. prosrc => 'bpchartypmodout' },
  2018. { oid => '1046', descr => 'I/O',
  2019. proname => 'varcharin', prorettype => 'varchar',
  2020. proargtypes => 'cstring oid int4', prosrc => 'varcharin' },
  2021. { oid => '1047', descr => 'I/O',
  2022. proname => 'varcharout', prorettype => 'cstring', proargtypes => 'varchar',
  2023. prosrc => 'varcharout' },
  2024. { oid => '2915', descr => 'I/O typmod',
  2025. proname => 'varchartypmodin', prorettype => 'int4', proargtypes => '_cstring',
  2026. prosrc => 'varchartypmodin' },
  2027. { oid => '2916', descr => 'I/O typmod',
  2028. proname => 'varchartypmodout', prorettype => 'cstring', proargtypes => 'int4',
  2029. prosrc => 'varchartypmodout' },
  2030. { oid => '1048',
  2031. proname => 'bpchareq', proleakproof => 't', prorettype => 'bool',
  2032. proargtypes => 'bpchar bpchar', prosrc => 'bpchareq' },
  2033. { oid => '1049',
  2034. proname => 'bpcharlt', proleakproof => 't', prorettype => 'bool',
  2035. proargtypes => 'bpchar bpchar', prosrc => 'bpcharlt' },
  2036. { oid => '1050',
  2037. proname => 'bpcharle', proleakproof => 't', prorettype => 'bool',
  2038. proargtypes => 'bpchar bpchar', prosrc => 'bpcharle' },
  2039. { oid => '1051',
  2040. proname => 'bpchargt', proleakproof => 't', prorettype => 'bool',
  2041. proargtypes => 'bpchar bpchar', prosrc => 'bpchargt' },
  2042. { oid => '1052',
  2043. proname => 'bpcharge', proleakproof => 't', prorettype => 'bool',
  2044. proargtypes => 'bpchar bpchar', prosrc => 'bpcharge' },
  2045. { oid => '1053',
  2046. proname => 'bpcharne', proleakproof => 't', prorettype => 'bool',
  2047. proargtypes => 'bpchar bpchar', prosrc => 'bpcharne' },
  2048. { oid => '1063', descr => 'larger of two',
  2049. proname => 'bpchar_larger', proleakproof => 't', prorettype => 'bpchar',
  2050. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_larger' },
  2051. { oid => '1064', descr => 'smaller of two',
  2052. proname => 'bpchar_smaller', proleakproof => 't', prorettype => 'bpchar',
  2053. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_smaller' },
  2054. { oid => '1078', descr => 'less-equal-greater',
  2055. proname => 'bpcharcmp', proleakproof => 't', prorettype => 'int4',
  2056. proargtypes => 'bpchar bpchar', prosrc => 'bpcharcmp' },
  2057. { oid => '3328', descr => 'sort support',
  2058. proname => 'bpchar_sortsupport', prorettype => 'void',
  2059. proargtypes => 'internal', prosrc => 'bpchar_sortsupport' },
  2060. { oid => '1080', descr => 'hash',
  2061. proname => 'hashbpchar', prorettype => 'int4', proargtypes => 'bpchar',
  2062. prosrc => 'hashbpchar' },
  2063. { oid => '972', descr => 'hash',
  2064. proname => 'hashbpcharextended', prorettype => 'int8',
  2065. proargtypes => 'bpchar int8', prosrc => 'hashbpcharextended' },
  2066. { oid => '1081', descr => 'format a type oid and atttypmod to canonical SQL',
  2067. proname => 'format_type', proisstrict => 'f', provolatile => 's',
  2068. prorettype => 'text', proargtypes => 'oid int4', prosrc => 'format_type' },
  2069. { oid => '1084', descr => 'I/O',
  2070. proname => 'date_in', provolatile => 's', prorettype => 'date',
  2071. proargtypes => 'cstring', prosrc => 'date_in' },
  2072. { oid => '1085', descr => 'I/O',
  2073. proname => 'date_out', provolatile => 's', prorettype => 'cstring',
  2074. proargtypes => 'date', prosrc => 'date_out' },
  2075. { oid => '1086',
  2076. proname => 'date_eq', proleakproof => 't', prorettype => 'bool',
  2077. proargtypes => 'date date', prosrc => 'date_eq' },
  2078. { oid => '1087',
  2079. proname => 'date_lt', proleakproof => 't', prorettype => 'bool',
  2080. proargtypes => 'date date', prosrc => 'date_lt' },
  2081. { oid => '1088',
  2082. proname => 'date_le', proleakproof => 't', prorettype => 'bool',
  2083. proargtypes => 'date date', prosrc => 'date_le' },
  2084. { oid => '1089',
  2085. proname => 'date_gt', proleakproof => 't', prorettype => 'bool',
  2086. proargtypes => 'date date', prosrc => 'date_gt' },
  2087. { oid => '1090',
  2088. proname => 'date_ge', proleakproof => 't', prorettype => 'bool',
  2089. proargtypes => 'date date', prosrc => 'date_ge' },
  2090. { oid => '1091',
  2091. proname => 'date_ne', proleakproof => 't', prorettype => 'bool',
  2092. proargtypes => 'date date', prosrc => 'date_ne' },
  2093. { oid => '1092', descr => 'less-equal-greater',
  2094. proname => 'date_cmp', proleakproof => 't', prorettype => 'int4',
  2095. proargtypes => 'date date', prosrc => 'date_cmp' },
  2096. { oid => '3136', descr => 'sort support',
  2097. proname => 'date_sortsupport', prorettype => 'void',
  2098. proargtypes => 'internal', prosrc => 'date_sortsupport' },
  2099. { oid => '4133', descr => 'window RANGE support',
  2100. proname => 'in_range', prorettype => 'bool',
  2101. proargtypes => 'date date interval bool bool',
  2102. prosrc => 'in_range_date_interval' },
  2103. # OIDS 1100 - 1199
  2104. { oid => '1102',
  2105. proname => 'time_lt', proleakproof => 't', prorettype => 'bool',
  2106. proargtypes => 'time time', prosrc => 'time_lt' },
  2107. { oid => '1103',
  2108. proname => 'time_le', proleakproof => 't', prorettype => 'bool',
  2109. proargtypes => 'time time', prosrc => 'time_le' },
  2110. { oid => '1104',
  2111. proname => 'time_gt', proleakproof => 't', prorettype => 'bool',
  2112. proargtypes => 'time time', prosrc => 'time_gt' },
  2113. { oid => '1105',
  2114. proname => 'time_ge', proleakproof => 't', prorettype => 'bool',
  2115. proargtypes => 'time time', prosrc => 'time_ge' },
  2116. { oid => '1106',
  2117. proname => 'time_ne', proleakproof => 't', prorettype => 'bool',
  2118. proargtypes => 'time time', prosrc => 'time_ne' },
  2119. { oid => '1107', descr => 'less-equal-greater',
  2120. proname => 'time_cmp', proleakproof => 't', prorettype => 'int4',
  2121. proargtypes => 'time time', prosrc => 'time_cmp' },
  2122. { oid => '1138', descr => 'larger of two',
  2123. proname => 'date_larger', prorettype => 'date', proargtypes => 'date date',
  2124. prosrc => 'date_larger' },
  2125. { oid => '1139', descr => 'smaller of two',
  2126. proname => 'date_smaller', prorettype => 'date', proargtypes => 'date date',
  2127. prosrc => 'date_smaller' },
  2128. { oid => '1140',
  2129. proname => 'date_mi', prorettype => 'int4', proargtypes => 'date date',
  2130. prosrc => 'date_mi' },
  2131. { oid => '1141',
  2132. proname => 'date_pli', prorettype => 'date', proargtypes => 'date int4',
  2133. prosrc => 'date_pli' },
  2134. { oid => '1142',
  2135. proname => 'date_mii', prorettype => 'date', proargtypes => 'date int4',
  2136. prosrc => 'date_mii' },
  2137. { oid => '1143', descr => 'I/O',
  2138. proname => 'time_in', provolatile => 's', prorettype => 'time',
  2139. proargtypes => 'cstring oid int4', prosrc => 'time_in' },
  2140. { oid => '1144', descr => 'I/O',
  2141. proname => 'time_out', prorettype => 'cstring', proargtypes => 'time',
  2142. prosrc => 'time_out' },
  2143. { oid => '2909', descr => 'I/O typmod',
  2144. proname => 'timetypmodin', prorettype => 'int4', proargtypes => '_cstring',
  2145. prosrc => 'timetypmodin' },
  2146. { oid => '2910', descr => 'I/O typmod',
  2147. proname => 'timetypmodout', prorettype => 'cstring', proargtypes => 'int4',
  2148. prosrc => 'timetypmodout' },
  2149. { oid => '1145',
  2150. proname => 'time_eq', proleakproof => 't', prorettype => 'bool',
  2151. proargtypes => 'time time', prosrc => 'time_eq' },
  2152. { oid => '1146',
  2153. proname => 'circle_add_pt', prorettype => 'circle',
  2154. proargtypes => 'circle point', prosrc => 'circle_add_pt' },
  2155. { oid => '1147',
  2156. proname => 'circle_sub_pt', prorettype => 'circle',
  2157. proargtypes => 'circle point', prosrc => 'circle_sub_pt' },
  2158. { oid => '1148',
  2159. proname => 'circle_mul_pt', prorettype => 'circle',
  2160. proargtypes => 'circle point', prosrc => 'circle_mul_pt' },
  2161. { oid => '1149',
  2162. proname => 'circle_div_pt', prorettype => 'circle',
  2163. proargtypes => 'circle point', prosrc => 'circle_div_pt' },
  2164. { oid => '1150', descr => 'I/O',
  2165. proname => 'timestamptz_in', provolatile => 's', prorettype => 'timestamptz',
  2166. proargtypes => 'cstring oid int4', prosrc => 'timestamptz_in' },
  2167. { oid => '1151', descr => 'I/O',
  2168. proname => 'timestamptz_out', provolatile => 's', prorettype => 'cstring',
  2169. proargtypes => 'timestamptz', prosrc => 'timestamptz_out' },
  2170. { oid => '2907', descr => 'I/O typmod',
  2171. proname => 'timestamptztypmodin', prorettype => 'int4',
  2172. proargtypes => '_cstring', prosrc => 'timestamptztypmodin' },
  2173. { oid => '2908', descr => 'I/O typmod',
  2174. proname => 'timestamptztypmodout', prorettype => 'cstring',
  2175. proargtypes => 'int4', prosrc => 'timestamptztypmodout' },
  2176. { oid => '1152',
  2177. proname => 'timestamptz_eq', proleakproof => 't', prorettype => 'bool',
  2178. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_eq' },
  2179. { oid => '1153',
  2180. proname => 'timestamptz_ne', proleakproof => 't', prorettype => 'bool',
  2181. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ne' },
  2182. { oid => '1154',
  2183. proname => 'timestamptz_lt', proleakproof => 't', prorettype => 'bool',
  2184. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_lt' },
  2185. { oid => '1155',
  2186. proname => 'timestamptz_le', proleakproof => 't', prorettype => 'bool',
  2187. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_le' },
  2188. { oid => '1156',
  2189. proname => 'timestamptz_ge', proleakproof => 't', prorettype => 'bool',
  2190. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ge' },
  2191. { oid => '1157',
  2192. proname => 'timestamptz_gt', proleakproof => 't', prorettype => 'bool',
  2193. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_gt' },
  2194. { oid => '1158', descr => 'convert UNIX epoch to timestamptz',
  2195. proname => 'to_timestamp', prorettype => 'timestamptz',
  2196. proargtypes => 'float8', prosrc => 'float8_timestamptz' },
  2197. { oid => '1159', descr => 'adjust timestamp to new time zone',
  2198. proname => 'timezone', prorettype => 'timestamp',
  2199. proargtypes => 'text timestamptz', prosrc => 'timestamptz_zone' },
  2200. { oid => '1160', descr => 'I/O',
  2201. proname => 'interval_in', provolatile => 's', prorettype => 'interval',
  2202. proargtypes => 'cstring oid int4', prosrc => 'interval_in' },
  2203. { oid => '1161', descr => 'I/O',
  2204. proname => 'interval_out', provolatile => 's', prorettype => 'cstring',
  2205. proargtypes => 'interval', prosrc => 'interval_out' },
  2206. { oid => '2903', descr => 'I/O typmod',
  2207. proname => 'intervaltypmodin', prorettype => 'int4',
  2208. proargtypes => '_cstring', prosrc => 'intervaltypmodin' },
  2209. { oid => '2904', descr => 'I/O typmod',
  2210. proname => 'intervaltypmodout', prorettype => 'cstring',
  2211. proargtypes => 'int4', prosrc => 'intervaltypmodout' },
  2212. { oid => '1162',
  2213. proname => 'interval_eq', proleakproof => 't', prorettype => 'bool',
  2214. proargtypes => 'interval interval', prosrc => 'interval_eq' },
  2215. { oid => '1163',
  2216. proname => 'interval_ne', proleakproof => 't', prorettype => 'bool',
  2217. proargtypes => 'interval interval', prosrc => 'interval_ne' },
  2218. { oid => '1164',
  2219. proname => 'interval_lt', proleakproof => 't', prorettype => 'bool',
  2220. proargtypes => 'interval interval', prosrc => 'interval_lt' },
  2221. { oid => '1165',
  2222. proname => 'interval_le', proleakproof => 't', prorettype => 'bool',
  2223. proargtypes => 'interval interval', prosrc => 'interval_le' },
  2224. { oid => '1166',
  2225. proname => 'interval_ge', proleakproof => 't', prorettype => 'bool',
  2226. proargtypes => 'interval interval', prosrc => 'interval_ge' },
  2227. { oid => '1167',
  2228. proname => 'interval_gt', proleakproof => 't', prorettype => 'bool',
  2229. proargtypes => 'interval interval', prosrc => 'interval_gt' },
  2230. { oid => '1168',
  2231. proname => 'interval_um', prorettype => 'interval', proargtypes => 'interval',
  2232. prosrc => 'interval_um' },
  2233. { oid => '1169',
  2234. proname => 'interval_pl', prorettype => 'interval',
  2235. proargtypes => 'interval interval', prosrc => 'interval_pl' },
  2236. { oid => '1170',
  2237. proname => 'interval_mi', prorettype => 'interval',
  2238. proargtypes => 'interval interval', prosrc => 'interval_mi' },
  2239. { oid => '1171', descr => 'extract field from timestamp with time zone',
  2240. proname => 'date_part', provolatile => 's', prorettype => 'float8',
  2241. proargtypes => 'text timestamptz', prosrc => 'timestamptz_part' },
  2242. { oid => '6203', descr => 'extract field from timestamp with time zone',
  2243. proname => 'extract', provolatile => 's', prorettype => 'numeric',
  2244. proargtypes => 'text timestamptz', prosrc => 'extract_timestamptz' },
  2245. { oid => '1172', descr => 'extract field from interval',
  2246. proname => 'date_part', prorettype => 'float8',
  2247. proargtypes => 'text interval', prosrc => 'interval_part' },
  2248. { oid => '6204', descr => 'extract field from interval',
  2249. proname => 'extract', prorettype => 'numeric', proargtypes => 'text interval',
  2250. prosrc => 'extract_interval' },
  2251. { oid => '1174', descr => 'convert date to timestamp with time zone',
  2252. proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz',
  2253. proargtypes => 'date', prosrc => 'date_timestamptz' },
  2254. { oid => '2711',
  2255. descr => 'promote groups of 24 hours to numbers of days and promote groups of 30 days to numbers of months',
  2256. proname => 'justify_interval', prorettype => 'interval',
  2257. proargtypes => 'interval', prosrc => 'interval_justify_interval' },
  2258. { oid => '1175', descr => 'promote groups of 24 hours to numbers of days',
  2259. proname => 'justify_hours', prorettype => 'interval',
  2260. proargtypes => 'interval', prosrc => 'interval_justify_hours' },
  2261. { oid => '1295', descr => 'promote groups of 30 days to numbers of months',
  2262. proname => 'justify_days', prorettype => 'interval',
  2263. proargtypes => 'interval', prosrc => 'interval_justify_days' },
  2264. { oid => '1176', descr => 'convert date and time to timestamp with time zone',
  2265. proname => 'timestamptz', prolang => 'sql', provolatile => 's',
  2266. prorettype => 'timestamptz', proargtypes => 'date time',
  2267. prosrc => 'see system_functions.sql' },
  2268. { oid => '1178', descr => 'convert timestamp with time zone to date',
  2269. proname => 'date', provolatile => 's', prorettype => 'date',
  2270. proargtypes => 'timestamptz', prosrc => 'timestamptz_date' },
  2271. { oid => '1181',
  2272. descr => 'age of a transaction ID, in transactions before current transaction',
  2273. proname => 'age', provolatile => 's', proparallel => 'r',
  2274. prorettype => 'int4', proargtypes => 'xid', prosrc => 'xid_age' },
  2275. { oid => '3939',
  2276. descr => 'age of a multi-transaction ID, in multi-transactions before current multi-transaction',
  2277. proname => 'mxid_age', provolatile => 's', prorettype => 'int4',
  2278. proargtypes => 'xid', prosrc => 'mxid_age' },
  2279. { oid => '1188',
  2280. proname => 'timestamptz_mi', prorettype => 'interval',
  2281. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_mi' },
  2282. { oid => '1189',
  2283. proname => 'timestamptz_pl_interval', provolatile => 's',
  2284. prorettype => 'timestamptz', proargtypes => 'timestamptz interval',
  2285. prosrc => 'timestamptz_pl_interval' },
  2286. { oid => '1190',
  2287. proname => 'timestamptz_mi_interval', provolatile => 's',
  2288. prorettype => 'timestamptz', proargtypes => 'timestamptz interval',
  2289. prosrc => 'timestamptz_mi_interval' },
  2290. { oid => '1195', descr => 'smaller of two',
  2291. proname => 'timestamptz_smaller', prorettype => 'timestamptz',
  2292. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_smaller' },
  2293. { oid => '1196', descr => 'larger of two',
  2294. proname => 'timestamptz_larger', prorettype => 'timestamptz',
  2295. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_larger' },
  2296. { oid => '1197', descr => 'smaller of two',
  2297. proname => 'interval_smaller', prorettype => 'interval',
  2298. proargtypes => 'interval interval', prosrc => 'interval_smaller' },
  2299. { oid => '1198', descr => 'larger of two',
  2300. proname => 'interval_larger', prorettype => 'interval',
  2301. proargtypes => 'interval interval', prosrc => 'interval_larger' },
  2302. { oid => '1199', descr => 'date difference preserving months and years',
  2303. proname => 'age', prorettype => 'interval',
  2304. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamptz_age' },
  2305. # OIDS 1200 - 1299
  2306. { oid => '3918', descr => 'planner support for interval length coercion',
  2307. proname => 'interval_support', prorettype => 'internal',
  2308. proargtypes => 'internal', prosrc => 'interval_support' },
  2309. { oid => '1200', descr => 'adjust interval precision',
  2310. proname => 'interval', prosupport => 'interval_support',
  2311. prorettype => 'interval', proargtypes => 'interval int4',
  2312. prosrc => 'interval_scale' },
  2313. { oid => '1215', descr => 'get description for object id and catalog name',
  2314. proname => 'obj_description', prolang => 'sql', procost => '100',
  2315. provolatile => 's', prorettype => 'text', proargtypes => 'oid name',
  2316. prosrc => 'see system_functions.sql' },
  2317. { oid => '1216', descr => 'get description for table column',
  2318. proname => 'col_description', prolang => 'sql', procost => '100',
  2319. provolatile => 's', prorettype => 'text', proargtypes => 'oid int4',
  2320. prosrc => 'see system_functions.sql' },
  2321. { oid => '1993',
  2322. descr => 'get description for object id and shared catalog name',
  2323. proname => 'shobj_description', prolang => 'sql', procost => '100',
  2324. provolatile => 's', prorettype => 'text', proargtypes => 'oid name',
  2325. prosrc => 'see system_functions.sql' },
  2326. { oid => '1217',
  2327. descr => 'truncate timestamp with time zone to specified units',
  2328. proname => 'date_trunc', provolatile => 's', prorettype => 'timestamptz',
  2329. proargtypes => 'text timestamptz', prosrc => 'timestamptz_trunc' },
  2330. { oid => '1284',
  2331. descr => 'truncate timestamp with time zone to specified units in specified time zone',
  2332. proname => 'date_trunc', provolatile => 's', prorettype => 'timestamptz',
  2333. proargtypes => 'text timestamptz text', prosrc => 'timestamptz_trunc_zone' },
  2334. { oid => '1218', descr => 'truncate interval to specified units',
  2335. proname => 'date_trunc', prorettype => 'interval',
  2336. proargtypes => 'text interval', prosrc => 'interval_trunc' },
  2337. { oid => '1219', descr => 'increment',
  2338. proname => 'int8inc', prorettype => 'int8', proargtypes => 'int8',
  2339. prosrc => 'int8inc' },
  2340. { oid => '3546', descr => 'decrement',
  2341. proname => 'int8dec', prorettype => 'int8', proargtypes => 'int8',
  2342. prosrc => 'int8dec' },
  2343. { oid => '2804', descr => 'increment, ignores second argument',
  2344. proname => 'int8inc_any', prorettype => 'int8', proargtypes => 'int8 any',
  2345. prosrc => 'int8inc_any' },
  2346. { oid => '3547', descr => 'decrement, ignores second argument',
  2347. proname => 'int8dec_any', prorettype => 'int8', proargtypes => 'int8 any',
  2348. prosrc => 'int8dec_any' },
  2349. { oid => '1230',
  2350. proname => 'int8abs', prorettype => 'int8', proargtypes => 'int8',
  2351. prosrc => 'int8abs' },
  2352. { oid => '1236', descr => 'larger of two',
  2353. proname => 'int8larger', prorettype => 'int8', proargtypes => 'int8 int8',
  2354. prosrc => 'int8larger' },
  2355. { oid => '1237', descr => 'smaller of two',
  2356. proname => 'int8smaller', prorettype => 'int8', proargtypes => 'int8 int8',
  2357. prosrc => 'int8smaller' },
  2358. { oid => '1238',
  2359. proname => 'texticregexeq', prosupport => 'texticregexeq_support',
  2360. prorettype => 'bool', proargtypes => 'text text', prosrc => 'texticregexeq' },
  2361. { oid => '1024', descr => 'planner support for texticregexeq',
  2362. proname => 'texticregexeq_support', prorettype => 'internal',
  2363. proargtypes => 'internal', prosrc => 'texticregexeq_support' },
  2364. { oid => '1239',
  2365. proname => 'texticregexne', prorettype => 'bool', proargtypes => 'text text',
  2366. prosrc => 'texticregexne' },
  2367. { oid => '1240',
  2368. proname => 'nameicregexeq', prosupport => 'texticregexeq_support',
  2369. prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameicregexeq' },
  2370. { oid => '1241',
  2371. proname => 'nameicregexne', prorettype => 'bool', proargtypes => 'name text',
  2372. prosrc => 'nameicregexne' },
  2373. { oid => '1251',
  2374. proname => 'int4abs', prorettype => 'int4', proargtypes => 'int4',
  2375. prosrc => 'int4abs' },
  2376. { oid => '1253',
  2377. proname => 'int2abs', prorettype => 'int2', proargtypes => 'int2',
  2378. prosrc => 'int2abs' },
  2379. { oid => '1271', descr => 'intervals overlap?',
  2380. proname => 'overlaps', proisstrict => 'f', prorettype => 'bool',
  2381. proargtypes => 'timetz timetz timetz timetz', prosrc => 'overlaps_timetz' },
  2382. { oid => '1272',
  2383. proname => 'datetime_pl', prorettype => 'timestamp',
  2384. proargtypes => 'date time', prosrc => 'datetime_timestamp' },
  2385. { oid => '1273', descr => 'extract field from time with time zone',
  2386. proname => 'date_part', prorettype => 'float8', proargtypes => 'text timetz',
  2387. prosrc => 'timetz_part' },
  2388. { oid => '6201', descr => 'extract field from time with time zone',
  2389. proname => 'extract', prorettype => 'numeric', proargtypes => 'text timetz',
  2390. prosrc => 'extract_timetz' },
  2391. { oid => '1274',
  2392. proname => 'int84pl', prorettype => 'int8', proargtypes => 'int8 int4',
  2393. prosrc => 'int84pl' },
  2394. { oid => '1275',
  2395. proname => 'int84mi', prorettype => 'int8', proargtypes => 'int8 int4',
  2396. prosrc => 'int84mi' },
  2397. { oid => '1276',
  2398. proname => 'int84mul', prorettype => 'int8', proargtypes => 'int8 int4',
  2399. prosrc => 'int84mul' },
  2400. { oid => '1277',
  2401. proname => 'int84div', prorettype => 'int8', proargtypes => 'int8 int4',
  2402. prosrc => 'int84div' },
  2403. { oid => '1278',
  2404. proname => 'int48pl', prorettype => 'int8', proargtypes => 'int4 int8',
  2405. prosrc => 'int48pl' },
  2406. { oid => '1279',
  2407. proname => 'int48mi', prorettype => 'int8', proargtypes => 'int4 int8',
  2408. prosrc => 'int48mi' },
  2409. { oid => '1280',
  2410. proname => 'int48mul', prorettype => 'int8', proargtypes => 'int4 int8',
  2411. prosrc => 'int48mul' },
  2412. { oid => '1281',
  2413. proname => 'int48div', prorettype => 'int8', proargtypes => 'int4 int8',
  2414. prosrc => 'int48div' },
  2415. { oid => '837',
  2416. proname => 'int82pl', prorettype => 'int8', proargtypes => 'int8 int2',
  2417. prosrc => 'int82pl' },
  2418. { oid => '838',
  2419. proname => 'int82mi', prorettype => 'int8', proargtypes => 'int8 int2',
  2420. prosrc => 'int82mi' },
  2421. { oid => '839',
  2422. proname => 'int82mul', prorettype => 'int8', proargtypes => 'int8 int2',
  2423. prosrc => 'int82mul' },
  2424. { oid => '840',
  2425. proname => 'int82div', prorettype => 'int8', proargtypes => 'int8 int2',
  2426. prosrc => 'int82div' },
  2427. { oid => '841',
  2428. proname => 'int28pl', prorettype => 'int8', proargtypes => 'int2 int8',
  2429. prosrc => 'int28pl' },
  2430. { oid => '942',
  2431. proname => 'int28mi', prorettype => 'int8', proargtypes => 'int2 int8',
  2432. prosrc => 'int28mi' },
  2433. { oid => '943',
  2434. proname => 'int28mul', prorettype => 'int8', proargtypes => 'int2 int8',
  2435. prosrc => 'int28mul' },
  2436. { oid => '948',
  2437. proname => 'int28div', prorettype => 'int8', proargtypes => 'int2 int8',
  2438. prosrc => 'int28div' },
  2439. { oid => '1287', descr => 'convert int8 to oid',
  2440. proname => 'oid', prorettype => 'oid', proargtypes => 'int8',
  2441. prosrc => 'i8tooid' },
  2442. { oid => '1288', descr => 'convert oid to int8',
  2443. proname => 'int8', proleakproof => 't', prorettype => 'int8',
  2444. proargtypes => 'oid', prosrc => 'oidtoi8' },
  2445. { oid => '1291',
  2446. descr => 'trigger to suppress updates when new and old records match',
  2447. proname => 'suppress_redundant_updates_trigger', provolatile => 'v',
  2448. prorettype => 'trigger', proargtypes => '',
  2449. prosrc => 'suppress_redundant_updates_trigger' },
  2450. { oid => '1292',
  2451. proname => 'tideq', proleakproof => 't', prorettype => 'bool',
  2452. proargtypes => 'tid tid', prosrc => 'tideq' },
  2453. { oid => '1294', descr => 'latest tid of a tuple',
  2454. proname => 'currtid2', provolatile => 'v', proparallel => 'u',
  2455. prorettype => 'tid', proargtypes => 'text tid',
  2456. prosrc => 'currtid_byrelname' },
  2457. { oid => '1265',
  2458. proname => 'tidne', proleakproof => 't', prorettype => 'bool',
  2459. proargtypes => 'tid tid', prosrc => 'tidne' },
  2460. { oid => '2790',
  2461. proname => 'tidgt', proleakproof => 't', prorettype => 'bool',
  2462. proargtypes => 'tid tid', prosrc => 'tidgt' },
  2463. { oid => '2791',
  2464. proname => 'tidlt', proleakproof => 't', prorettype => 'bool',
  2465. proargtypes => 'tid tid', prosrc => 'tidlt' },
  2466. { oid => '2792',
  2467. proname => 'tidge', proleakproof => 't', prorettype => 'bool',
  2468. proargtypes => 'tid tid', prosrc => 'tidge' },
  2469. { oid => '2793',
  2470. proname => 'tidle', proleakproof => 't', prorettype => 'bool',
  2471. proargtypes => 'tid tid', prosrc => 'tidle' },
  2472. { oid => '2794', descr => 'less-equal-greater',
  2473. proname => 'bttidcmp', proleakproof => 't', prorettype => 'int4',
  2474. proargtypes => 'tid tid', prosrc => 'bttidcmp' },
  2475. { oid => '2795', descr => 'larger of two',
  2476. proname => 'tidlarger', prorettype => 'tid', proargtypes => 'tid tid',
  2477. prosrc => 'tidlarger' },
  2478. { oid => '2796', descr => 'smaller of two',
  2479. proname => 'tidsmaller', prorettype => 'tid', proargtypes => 'tid tid',
  2480. prosrc => 'tidsmaller' },
  2481. { oid => '2233', descr => 'hash',
  2482. proname => 'hashtid', prorettype => 'int4', proargtypes => 'tid',
  2483. prosrc => 'hashtid' },
  2484. { oid => '2234', descr => 'hash',
  2485. proname => 'hashtidextended', prorettype => 'int8', proargtypes => 'tid int8',
  2486. prosrc => 'hashtidextended' },
  2487. { oid => '1296',
  2488. proname => 'timedate_pl', prolang => 'sql', prorettype => 'timestamp',
  2489. proargtypes => 'time date', prosrc => 'see system_functions.sql' },
  2490. { oid => '1297',
  2491. proname => 'datetimetz_pl', prorettype => 'timestamptz',
  2492. proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' },
  2493. { oid => '1298',
  2494. proname => 'timetzdate_pl', prolang => 'sql', prorettype => 'timestamptz',
  2495. proargtypes => 'timetz date', prosrc => 'see system_functions.sql' },
  2496. { oid => '1299', descr => 'current transaction time',
  2497. proname => 'now', provolatile => 's', prorettype => 'timestamptz',
  2498. proargtypes => '', prosrc => 'now' },
  2499. { oid => '2647', descr => 'current transaction time',
  2500. proname => 'transaction_timestamp', provolatile => 's',
  2501. prorettype => 'timestamptz', proargtypes => '', prosrc => 'now' },
  2502. { oid => '2648', descr => 'current statement time',
  2503. proname => 'statement_timestamp', provolatile => 's',
  2504. prorettype => 'timestamptz', proargtypes => '',
  2505. prosrc => 'statement_timestamp' },
  2506. { oid => '2649', descr => 'current clock time',
  2507. proname => 'clock_timestamp', provolatile => 'v', prorettype => 'timestamptz',
  2508. proargtypes => '', prosrc => 'clock_timestamp' },
  2509. # OIDS 1300 - 1399
  2510. { oid => '1300',
  2511. descr => 'restriction selectivity for position-comparison operators',
  2512. proname => 'positionsel', provolatile => 's', prorettype => 'float8',
  2513. proargtypes => 'internal oid internal int4', prosrc => 'positionsel' },
  2514. { oid => '1301',
  2515. descr => 'join selectivity for position-comparison operators',
  2516. proname => 'positionjoinsel', provolatile => 's', prorettype => 'float8',
  2517. proargtypes => 'internal oid internal int2 internal',
  2518. prosrc => 'positionjoinsel' },
  2519. { oid => '1302',
  2520. descr => 'restriction selectivity for containment comparison operators',
  2521. proname => 'contsel', provolatile => 's', prorettype => 'float8',
  2522. proargtypes => 'internal oid internal int4', prosrc => 'contsel' },
  2523. { oid => '1303',
  2524. descr => 'join selectivity for containment comparison operators',
  2525. proname => 'contjoinsel', provolatile => 's', prorettype => 'float8',
  2526. proargtypes => 'internal oid internal int2 internal',
  2527. prosrc => 'contjoinsel' },
  2528. { oid => '1304', descr => 'intervals overlap?',
  2529. proname => 'overlaps', proisstrict => 'f', prorettype => 'bool',
  2530. proargtypes => 'timestamptz timestamptz timestamptz timestamptz',
  2531. prosrc => 'overlaps_timestamp' },
  2532. { oid => '1305', descr => 'intervals overlap?',
  2533. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2534. provolatile => 's', prorettype => 'bool',
  2535. proargtypes => 'timestamptz interval timestamptz interval',
  2536. prosrc => 'see system_functions.sql' },
  2537. { oid => '1306', descr => 'intervals overlap?',
  2538. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2539. provolatile => 's', prorettype => 'bool',
  2540. proargtypes => 'timestamptz timestamptz timestamptz interval',
  2541. prosrc => 'see system_functions.sql' },
  2542. { oid => '1307', descr => 'intervals overlap?',
  2543. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2544. provolatile => 's', prorettype => 'bool',
  2545. proargtypes => 'timestamptz interval timestamptz timestamptz',
  2546. prosrc => 'see system_functions.sql' },
  2547. { oid => '1308', descr => 'intervals overlap?',
  2548. proname => 'overlaps', proisstrict => 'f', prorettype => 'bool',
  2549. proargtypes => 'time time time time', prosrc => 'overlaps_time' },
  2550. { oid => '1309', descr => 'intervals overlap?',
  2551. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2552. prorettype => 'bool', proargtypes => 'time interval time interval',
  2553. prosrc => 'see system_functions.sql' },
  2554. { oid => '1310', descr => 'intervals overlap?',
  2555. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2556. prorettype => 'bool', proargtypes => 'time time time interval',
  2557. prosrc => 'see system_functions.sql' },
  2558. { oid => '1311', descr => 'intervals overlap?',
  2559. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  2560. prorettype => 'bool', proargtypes => 'time interval time time',
  2561. prosrc => 'see system_functions.sql' },
  2562. { oid => '1312', descr => 'I/O',
  2563. proname => 'timestamp_in', provolatile => 's', prorettype => 'timestamp',
  2564. proargtypes => 'cstring oid int4', prosrc => 'timestamp_in' },
  2565. { oid => '1313', descr => 'I/O',
  2566. proname => 'timestamp_out', provolatile => 's', prorettype => 'cstring',
  2567. proargtypes => 'timestamp', prosrc => 'timestamp_out' },
  2568. { oid => '2905', descr => 'I/O typmod',
  2569. proname => 'timestamptypmodin', prorettype => 'int4',
  2570. proargtypes => '_cstring', prosrc => 'timestamptypmodin' },
  2571. { oid => '2906', descr => 'I/O typmod',
  2572. proname => 'timestamptypmodout', prorettype => 'cstring',
  2573. proargtypes => 'int4', prosrc => 'timestamptypmodout' },
  2574. { oid => '1314', descr => 'less-equal-greater',
  2575. proname => 'timestamptz_cmp', proleakproof => 't', prorettype => 'int4',
  2576. proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_cmp' },
  2577. { oid => '1315', descr => 'less-equal-greater',
  2578. proname => 'interval_cmp', proleakproof => 't', prorettype => 'int4',
  2579. proargtypes => 'interval interval', prosrc => 'interval_cmp' },
  2580. { oid => '1316', descr => 'convert timestamp to time',
  2581. proname => 'time', prorettype => 'time', proargtypes => 'timestamp',
  2582. prosrc => 'timestamp_time' },
  2583. { oid => '1317', descr => 'length',
  2584. proname => 'length', prorettype => 'int4', proargtypes => 'text',
  2585. prosrc => 'textlen' },
  2586. { oid => '1318', descr => 'character length',
  2587. proname => 'length', prorettype => 'int4', proargtypes => 'bpchar',
  2588. prosrc => 'bpcharlen' },
  2589. { oid => '1319',
  2590. proname => 'xideqint4', proleakproof => 't', prorettype => 'bool',
  2591. proargtypes => 'xid int4', prosrc => 'xideq' },
  2592. { oid => '3309',
  2593. proname => 'xidneqint4', proleakproof => 't', prorettype => 'bool',
  2594. proargtypes => 'xid int4', prosrc => 'xidneq' },
  2595. { oid => '1326',
  2596. proname => 'interval_div', prorettype => 'interval',
  2597. proargtypes => 'interval float8', prosrc => 'interval_div' },
  2598. { oid => '1339', descr => 'base 10 logarithm',
  2599. proname => 'dlog10', prorettype => 'float8', proargtypes => 'float8',
  2600. prosrc => 'dlog10' },
  2601. { oid => '1340', descr => 'base 10 logarithm',
  2602. proname => 'log', prorettype => 'float8', proargtypes => 'float8',
  2603. prosrc => 'dlog10' },
  2604. { oid => '1194', descr => 'base 10 logarithm',
  2605. proname => 'log10', prorettype => 'float8', proargtypes => 'float8',
  2606. prosrc => 'dlog10' },
  2607. { oid => '1341', descr => 'natural logarithm',
  2608. proname => 'ln', prorettype => 'float8', proargtypes => 'float8',
  2609. prosrc => 'dlog1' },
  2610. { oid => '1342', descr => 'round to nearest integer',
  2611. proname => 'round', prorettype => 'float8', proargtypes => 'float8',
  2612. prosrc => 'dround' },
  2613. { oid => '1343', descr => 'truncate to integer',
  2614. proname => 'trunc', prorettype => 'float8', proargtypes => 'float8',
  2615. prosrc => 'dtrunc' },
  2616. { oid => '1344', descr => 'square root',
  2617. proname => 'sqrt', prorettype => 'float8', proargtypes => 'float8',
  2618. prosrc => 'dsqrt' },
  2619. { oid => '1345', descr => 'cube root',
  2620. proname => 'cbrt', prorettype => 'float8', proargtypes => 'float8',
  2621. prosrc => 'dcbrt' },
  2622. { oid => '1346', descr => 'exponentiation',
  2623. proname => 'pow', prorettype => 'float8', proargtypes => 'float8 float8',
  2624. prosrc => 'dpow' },
  2625. { oid => '1368', descr => 'exponentiation',
  2626. proname => 'power', prorettype => 'float8', proargtypes => 'float8 float8',
  2627. prosrc => 'dpow' },
  2628. { oid => '1347', descr => 'natural exponential (e^x)',
  2629. proname => 'exp', prorettype => 'float8', proargtypes => 'float8',
  2630. prosrc => 'dexp' },
  2631. # This form of obj_description is now deprecated, since it will fail if
  2632. # OIDs are not unique across system catalogs. Use the other form instead.
  2633. { oid => '1348', descr => 'deprecated, use two-argument form instead',
  2634. proname => 'obj_description', prolang => 'sql', procost => '100',
  2635. provolatile => 's', prorettype => 'text', proargtypes => 'oid',
  2636. prosrc => 'see system_functions.sql' },
  2637. { oid => '1349', descr => 'print type names of oidvector field',
  2638. proname => 'oidvectortypes', provolatile => 's', prorettype => 'text',
  2639. proargtypes => 'oidvector', prosrc => 'oidvectortypes' },
  2640. { oid => '1350', descr => 'I/O',
  2641. proname => 'timetz_in', provolatile => 's', prorettype => 'timetz',
  2642. proargtypes => 'cstring oid int4', prosrc => 'timetz_in' },
  2643. { oid => '1351', descr => 'I/O',
  2644. proname => 'timetz_out', prorettype => 'cstring', proargtypes => 'timetz',
  2645. prosrc => 'timetz_out' },
  2646. { oid => '2911', descr => 'I/O typmod',
  2647. proname => 'timetztypmodin', prorettype => 'int4', proargtypes => '_cstring',
  2648. prosrc => 'timetztypmodin' },
  2649. { oid => '2912', descr => 'I/O typmod',
  2650. proname => 'timetztypmodout', prorettype => 'cstring', proargtypes => 'int4',
  2651. prosrc => 'timetztypmodout' },
  2652. { oid => '1352',
  2653. proname => 'timetz_eq', proleakproof => 't', prorettype => 'bool',
  2654. proargtypes => 'timetz timetz', prosrc => 'timetz_eq' },
  2655. { oid => '1353',
  2656. proname => 'timetz_ne', proleakproof => 't', prorettype => 'bool',
  2657. proargtypes => 'timetz timetz', prosrc => 'timetz_ne' },
  2658. { oid => '1354',
  2659. proname => 'timetz_lt', proleakproof => 't', prorettype => 'bool',
  2660. proargtypes => 'timetz timetz', prosrc => 'timetz_lt' },
  2661. { oid => '1355',
  2662. proname => 'timetz_le', proleakproof => 't', prorettype => 'bool',
  2663. proargtypes => 'timetz timetz', prosrc => 'timetz_le' },
  2664. { oid => '1356',
  2665. proname => 'timetz_ge', proleakproof => 't', prorettype => 'bool',
  2666. proargtypes => 'timetz timetz', prosrc => 'timetz_ge' },
  2667. { oid => '1357',
  2668. proname => 'timetz_gt', proleakproof => 't', prorettype => 'bool',
  2669. proargtypes => 'timetz timetz', prosrc => 'timetz_gt' },
  2670. { oid => '1358', descr => 'less-equal-greater',
  2671. proname => 'timetz_cmp', proleakproof => 't', prorettype => 'int4',
  2672. proargtypes => 'timetz timetz', prosrc => 'timetz_cmp' },
  2673. { oid => '1359',
  2674. descr => 'convert date and time with time zone to timestamp with time zone',
  2675. proname => 'timestamptz', prorettype => 'timestamptz',
  2676. proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' },
  2677. { oid => '1367', descr => 'character length',
  2678. proname => 'character_length', prorettype => 'int4', proargtypes => 'bpchar',
  2679. prosrc => 'bpcharlen' },
  2680. { oid => '1369', descr => 'character length',
  2681. proname => 'character_length', prorettype => 'int4', proargtypes => 'text',
  2682. prosrc => 'textlen' },
  2683. { oid => '1370', descr => 'convert time to interval',
  2684. proname => 'interval', proleakproof => 't', prorettype => 'interval',
  2685. proargtypes => 'time', prosrc => 'time_interval' },
  2686. { oid => '1372', descr => 'character length',
  2687. proname => 'char_length', prorettype => 'int4', proargtypes => 'bpchar',
  2688. prosrc => 'bpcharlen' },
  2689. { oid => '1374', descr => 'octet length',
  2690. proname => 'octet_length', prorettype => 'int4', proargtypes => 'text',
  2691. prosrc => 'textoctetlen' },
  2692. { oid => '1375', descr => 'octet length',
  2693. proname => 'octet_length', prorettype => 'int4', proargtypes => 'bpchar',
  2694. prosrc => 'bpcharoctetlen' },
  2695. { oid => '1377', descr => 'larger of two',
  2696. proname => 'time_larger', prorettype => 'time', proargtypes => 'time time',
  2697. prosrc => 'time_larger' },
  2698. { oid => '1378', descr => 'smaller of two',
  2699. proname => 'time_smaller', prorettype => 'time', proargtypes => 'time time',
  2700. prosrc => 'time_smaller' },
  2701. { oid => '1379', descr => 'larger of two',
  2702. proname => 'timetz_larger', prorettype => 'timetz',
  2703. proargtypes => 'timetz timetz', prosrc => 'timetz_larger' },
  2704. { oid => '1380', descr => 'smaller of two',
  2705. proname => 'timetz_smaller', prorettype => 'timetz',
  2706. proargtypes => 'timetz timetz', prosrc => 'timetz_smaller' },
  2707. { oid => '1381', descr => 'character length',
  2708. proname => 'char_length', prorettype => 'int4', proargtypes => 'text',
  2709. prosrc => 'textlen' },
  2710. { oid => '1384', descr => 'extract field from date',
  2711. proname => 'date_part', prolang => 'sql', prorettype => 'float8',
  2712. proargtypes => 'text date', prosrc => 'see system_functions.sql' },
  2713. { oid => '6199', descr => 'extract field from date',
  2714. proname => 'extract', prorettype => 'numeric', proargtypes => 'text date',
  2715. prosrc => 'extract_date' },
  2716. { oid => '1385', descr => 'extract field from time',
  2717. proname => 'date_part', prorettype => 'float8', proargtypes => 'text time',
  2718. prosrc => 'time_part' },
  2719. { oid => '6200', descr => 'extract field from time',
  2720. proname => 'extract', prorettype => 'numeric', proargtypes => 'text time',
  2721. prosrc => 'extract_time' },
  2722. { oid => '1386',
  2723. descr => 'date difference from today preserving months and years',
  2724. proname => 'age', prolang => 'sql', provolatile => 's',
  2725. prorettype => 'interval', proargtypes => 'timestamptz',
  2726. prosrc => 'see system_functions.sql' },
  2727. { oid => '1388',
  2728. descr => 'convert timestamp with time zone to time with time zone',
  2729. proname => 'timetz', provolatile => 's', prorettype => 'timetz',
  2730. proargtypes => 'timestamptz', prosrc => 'timestamptz_timetz' },
  2731. { oid => '1373', descr => 'finite date?',
  2732. proname => 'isfinite', prorettype => 'bool', proargtypes => 'date',
  2733. prosrc => 'date_finite' },
  2734. { oid => '1389', descr => 'finite timestamp?',
  2735. proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamptz',
  2736. prosrc => 'timestamp_finite' },
  2737. { oid => '1390', descr => 'finite interval?',
  2738. proname => 'isfinite', prorettype => 'bool', proargtypes => 'interval',
  2739. prosrc => 'interval_finite' },
  2740. { oid => '1376', descr => 'factorial',
  2741. proname => 'factorial', prorettype => 'numeric', proargtypes => 'int8',
  2742. prosrc => 'numeric_fac' },
  2743. { oid => '1394', descr => 'absolute value',
  2744. proname => 'abs', prorettype => 'float4', proargtypes => 'float4',
  2745. prosrc => 'float4abs' },
  2746. { oid => '1395', descr => 'absolute value',
  2747. proname => 'abs', prorettype => 'float8', proargtypes => 'float8',
  2748. prosrc => 'float8abs' },
  2749. { oid => '1396', descr => 'absolute value',
  2750. proname => 'abs', prorettype => 'int8', proargtypes => 'int8',
  2751. prosrc => 'int8abs' },
  2752. { oid => '1397', descr => 'absolute value',
  2753. proname => 'abs', prorettype => 'int4', proargtypes => 'int4',
  2754. prosrc => 'int4abs' },
  2755. { oid => '1398', descr => 'absolute value',
  2756. proname => 'abs', prorettype => 'int2', proargtypes => 'int2',
  2757. prosrc => 'int2abs' },
  2758. # OIDS 1400 - 1499
  2759. { oid => '1400', descr => 'convert varchar to name',
  2760. proname => 'name', proleakproof => 't', prorettype => 'name',
  2761. proargtypes => 'varchar', prosrc => 'text_name' },
  2762. { oid => '1401', descr => 'convert name to varchar',
  2763. proname => 'varchar', proleakproof => 't', prorettype => 'varchar',
  2764. proargtypes => 'name', prosrc => 'name_text' },
  2765. { oid => '1402', descr => 'current schema name',
  2766. proname => 'current_schema', provolatile => 's', proparallel => 'u',
  2767. prorettype => 'name', proargtypes => '', prosrc => 'current_schema' },
  2768. { oid => '1403', descr => 'current schema search list',
  2769. proname => 'current_schemas', provolatile => 's', proparallel => 'u',
  2770. prorettype => '_name', proargtypes => 'bool', prosrc => 'current_schemas' },
  2771. { oid => '1404', descr => 'substitute portion of string',
  2772. proname => 'overlay', prorettype => 'text',
  2773. proargtypes => 'text text int4 int4', prosrc => 'textoverlay' },
  2774. { oid => '1405', descr => 'substitute portion of string',
  2775. proname => 'overlay', prorettype => 'text', proargtypes => 'text text int4',
  2776. prosrc => 'textoverlay_no_len' },
  2777. { oid => '1406', descr => 'vertically aligned',
  2778. proname => 'isvertical', prorettype => 'bool', proargtypes => 'point point',
  2779. prosrc => 'point_vert' },
  2780. { oid => '1407', descr => 'horizontally aligned',
  2781. proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'point point',
  2782. prosrc => 'point_horiz' },
  2783. { oid => '1408', descr => 'parallel',
  2784. proname => 'isparallel', prorettype => 'bool', proargtypes => 'lseg lseg',
  2785. prosrc => 'lseg_parallel' },
  2786. { oid => '1409', descr => 'perpendicular',
  2787. proname => 'isperp', prorettype => 'bool', proargtypes => 'lseg lseg',
  2788. prosrc => 'lseg_perp' },
  2789. { oid => '1410', descr => 'vertical',
  2790. proname => 'isvertical', prorettype => 'bool', proargtypes => 'lseg',
  2791. prosrc => 'lseg_vertical' },
  2792. { oid => '1411', descr => 'horizontal',
  2793. proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'lseg',
  2794. prosrc => 'lseg_horizontal' },
  2795. { oid => '1412', descr => 'parallel',
  2796. proname => 'isparallel', prorettype => 'bool', proargtypes => 'line line',
  2797. prosrc => 'line_parallel' },
  2798. { oid => '1413', descr => 'perpendicular',
  2799. proname => 'isperp', prorettype => 'bool', proargtypes => 'line line',
  2800. prosrc => 'line_perp' },
  2801. { oid => '1414', descr => 'vertical',
  2802. proname => 'isvertical', prorettype => 'bool', proargtypes => 'line',
  2803. prosrc => 'line_vertical' },
  2804. { oid => '1415', descr => 'horizontal',
  2805. proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'line',
  2806. prosrc => 'line_horizontal' },
  2807. { oid => '1416', descr => 'center of',
  2808. proname => 'point', prorettype => 'point', proargtypes => 'circle',
  2809. prosrc => 'circle_center' },
  2810. { oid => '1419', descr => 'convert interval to time',
  2811. proname => 'time', prorettype => 'time', proargtypes => 'interval',
  2812. prosrc => 'interval_time' },
  2813. { oid => '1421', descr => 'convert points to box',
  2814. proname => 'box', prorettype => 'box', proargtypes => 'point point',
  2815. prosrc => 'points_box' },
  2816. { oid => '1422',
  2817. proname => 'box_add', prorettype => 'box', proargtypes => 'box point',
  2818. prosrc => 'box_add' },
  2819. { oid => '1423',
  2820. proname => 'box_sub', prorettype => 'box', proargtypes => 'box point',
  2821. prosrc => 'box_sub' },
  2822. { oid => '1424',
  2823. proname => 'box_mul', prorettype => 'box', proargtypes => 'box point',
  2824. prosrc => 'box_mul' },
  2825. { oid => '1425',
  2826. proname => 'box_div', prorettype => 'box', proargtypes => 'box point',
  2827. prosrc => 'box_div' },
  2828. { oid => '1426',
  2829. proname => 'path_contain_pt', prolang => 'sql', prorettype => 'bool',
  2830. proargtypes => 'path point', prosrc => 'see system_functions.sql' },
  2831. { oid => '1428',
  2832. proname => 'poly_contain_pt', prorettype => 'bool',
  2833. proargtypes => 'polygon point', prosrc => 'poly_contain_pt' },
  2834. { oid => '1429',
  2835. proname => 'pt_contained_poly', prorettype => 'bool',
  2836. proargtypes => 'point polygon', prosrc => 'pt_contained_poly' },
  2837. { oid => '1430', descr => 'path closed?',
  2838. proname => 'isclosed', prorettype => 'bool', proargtypes => 'path',
  2839. prosrc => 'path_isclosed' },
  2840. { oid => '1431', descr => 'path open?',
  2841. proname => 'isopen', prorettype => 'bool', proargtypes => 'path',
  2842. prosrc => 'path_isopen' },
  2843. { oid => '1432',
  2844. proname => 'path_npoints', prorettype => 'int4', proargtypes => 'path',
  2845. prosrc => 'path_npoints' },
  2846. # pclose and popen might better be named close and open, but that crashes initdb.
  2847. # - thomas 97/04/20
  2848. { oid => '1433', descr => 'close path',
  2849. proname => 'pclose', prorettype => 'path', proargtypes => 'path',
  2850. prosrc => 'path_close' },
  2851. { oid => '1434', descr => 'open path',
  2852. proname => 'popen', prorettype => 'path', proargtypes => 'path',
  2853. prosrc => 'path_open' },
  2854. { oid => '1435',
  2855. proname => 'path_add', prorettype => 'path', proargtypes => 'path path',
  2856. prosrc => 'path_add' },
  2857. { oid => '1436',
  2858. proname => 'path_add_pt', prorettype => 'path', proargtypes => 'path point',
  2859. prosrc => 'path_add_pt' },
  2860. { oid => '1437',
  2861. proname => 'path_sub_pt', prorettype => 'path', proargtypes => 'path point',
  2862. prosrc => 'path_sub_pt' },
  2863. { oid => '1438',
  2864. proname => 'path_mul_pt', prorettype => 'path', proargtypes => 'path point',
  2865. prosrc => 'path_mul_pt' },
  2866. { oid => '1439',
  2867. proname => 'path_div_pt', prorettype => 'path', proargtypes => 'path point',
  2868. prosrc => 'path_div_pt' },
  2869. { oid => '1440', descr => 'convert x, y to point',
  2870. proname => 'point', prorettype => 'point', proargtypes => 'float8 float8',
  2871. prosrc => 'construct_point' },
  2872. { oid => '1441',
  2873. proname => 'point_add', prorettype => 'point', proargtypes => 'point point',
  2874. prosrc => 'point_add' },
  2875. { oid => '1442',
  2876. proname => 'point_sub', prorettype => 'point', proargtypes => 'point point',
  2877. prosrc => 'point_sub' },
  2878. { oid => '1443',
  2879. proname => 'point_mul', prorettype => 'point', proargtypes => 'point point',
  2880. prosrc => 'point_mul' },
  2881. { oid => '1444',
  2882. proname => 'point_div', prorettype => 'point', proargtypes => 'point point',
  2883. prosrc => 'point_div' },
  2884. { oid => '1445',
  2885. proname => 'poly_npoints', prorettype => 'int4', proargtypes => 'polygon',
  2886. prosrc => 'poly_npoints' },
  2887. { oid => '1446', descr => 'convert polygon to bounding box',
  2888. proname => 'box', prorettype => 'box', proargtypes => 'polygon',
  2889. prosrc => 'poly_box' },
  2890. { oid => '1447', descr => 'convert polygon to path',
  2891. proname => 'path', prorettype => 'path', proargtypes => 'polygon',
  2892. prosrc => 'poly_path' },
  2893. { oid => '1448', descr => 'convert box to polygon',
  2894. proname => 'polygon', prorettype => 'polygon', proargtypes => 'box',
  2895. prosrc => 'box_poly' },
  2896. { oid => '1449', descr => 'convert path to polygon',
  2897. proname => 'polygon', prorettype => 'polygon', proargtypes => 'path',
  2898. prosrc => 'path_poly' },
  2899. { oid => '1450', descr => 'I/O',
  2900. proname => 'circle_in', prorettype => 'circle', proargtypes => 'cstring',
  2901. prosrc => 'circle_in' },
  2902. { oid => '1451', descr => 'I/O',
  2903. proname => 'circle_out', prorettype => 'cstring', proargtypes => 'circle',
  2904. prosrc => 'circle_out' },
  2905. { oid => '1452',
  2906. proname => 'circle_same', prorettype => 'bool',
  2907. proargtypes => 'circle circle', prosrc => 'circle_same' },
  2908. { oid => '1453',
  2909. proname => 'circle_contain', prorettype => 'bool',
  2910. proargtypes => 'circle circle', prosrc => 'circle_contain' },
  2911. { oid => '1454',
  2912. proname => 'circle_left', prorettype => 'bool',
  2913. proargtypes => 'circle circle', prosrc => 'circle_left' },
  2914. { oid => '1455',
  2915. proname => 'circle_overleft', prorettype => 'bool',
  2916. proargtypes => 'circle circle', prosrc => 'circle_overleft' },
  2917. { oid => '1456',
  2918. proname => 'circle_overright', prorettype => 'bool',
  2919. proargtypes => 'circle circle', prosrc => 'circle_overright' },
  2920. { oid => '1457',
  2921. proname => 'circle_right', prorettype => 'bool',
  2922. proargtypes => 'circle circle', prosrc => 'circle_right' },
  2923. { oid => '1458',
  2924. proname => 'circle_contained', prorettype => 'bool',
  2925. proargtypes => 'circle circle', prosrc => 'circle_contained' },
  2926. { oid => '1459',
  2927. proname => 'circle_overlap', prorettype => 'bool',
  2928. proargtypes => 'circle circle', prosrc => 'circle_overlap' },
  2929. { oid => '1460',
  2930. proname => 'circle_below', prorettype => 'bool',
  2931. proargtypes => 'circle circle', prosrc => 'circle_below' },
  2932. { oid => '1461',
  2933. proname => 'circle_above', prorettype => 'bool',
  2934. proargtypes => 'circle circle', prosrc => 'circle_above' },
  2935. { oid => '1462',
  2936. proname => 'circle_eq', proleakproof => 't', prorettype => 'bool',
  2937. proargtypes => 'circle circle', prosrc => 'circle_eq' },
  2938. { oid => '1463',
  2939. proname => 'circle_ne', proleakproof => 't', prorettype => 'bool',
  2940. proargtypes => 'circle circle', prosrc => 'circle_ne' },
  2941. { oid => '1464',
  2942. proname => 'circle_lt', proleakproof => 't', prorettype => 'bool',
  2943. proargtypes => 'circle circle', prosrc => 'circle_lt' },
  2944. { oid => '1465',
  2945. proname => 'circle_gt', proleakproof => 't', prorettype => 'bool',
  2946. proargtypes => 'circle circle', prosrc => 'circle_gt' },
  2947. { oid => '1466',
  2948. proname => 'circle_le', proleakproof => 't', prorettype => 'bool',
  2949. proargtypes => 'circle circle', prosrc => 'circle_le' },
  2950. { oid => '1467',
  2951. proname => 'circle_ge', proleakproof => 't', prorettype => 'bool',
  2952. proargtypes => 'circle circle', prosrc => 'circle_ge' },
  2953. { oid => '1468', descr => 'area of circle',
  2954. proname => 'area', prorettype => 'float8', proargtypes => 'circle',
  2955. prosrc => 'circle_area' },
  2956. { oid => '1469', descr => 'diameter of circle',
  2957. proname => 'diameter', prorettype => 'float8', proargtypes => 'circle',
  2958. prosrc => 'circle_diameter' },
  2959. { oid => '1470', descr => 'radius of circle',
  2960. proname => 'radius', prorettype => 'float8', proargtypes => 'circle',
  2961. prosrc => 'circle_radius' },
  2962. { oid => '1471',
  2963. proname => 'circle_distance', prorettype => 'float8',
  2964. proargtypes => 'circle circle', prosrc => 'circle_distance' },
  2965. { oid => '1472',
  2966. proname => 'circle_center', prorettype => 'point', proargtypes => 'circle',
  2967. prosrc => 'circle_center' },
  2968. { oid => '1473', descr => 'convert point and radius to circle',
  2969. proname => 'circle', prorettype => 'circle', proargtypes => 'point float8',
  2970. prosrc => 'cr_circle' },
  2971. { oid => '1474', descr => 'convert polygon to circle',
  2972. proname => 'circle', prorettype => 'circle', proargtypes => 'polygon',
  2973. prosrc => 'poly_circle' },
  2974. { oid => '1475', descr => 'convert vertex count and circle to polygon',
  2975. proname => 'polygon', prorettype => 'polygon', proargtypes => 'int4 circle',
  2976. prosrc => 'circle_poly' },
  2977. { oid => '1476',
  2978. proname => 'dist_pc', prorettype => 'float8', proargtypes => 'point circle',
  2979. prosrc => 'dist_pc' },
  2980. { oid => '1477',
  2981. proname => 'circle_contain_pt', prorettype => 'bool',
  2982. proargtypes => 'circle point', prosrc => 'circle_contain_pt' },
  2983. { oid => '1478',
  2984. proname => 'pt_contained_circle', prorettype => 'bool',
  2985. proargtypes => 'point circle', prosrc => 'pt_contained_circle' },
  2986. { oid => '4091', descr => 'convert point to empty box',
  2987. proname => 'box', prorettype => 'box', proargtypes => 'point',
  2988. prosrc => 'point_box' },
  2989. { oid => '1479', descr => 'convert box to circle',
  2990. proname => 'circle', prorettype => 'circle', proargtypes => 'box',
  2991. prosrc => 'box_circle' },
  2992. { oid => '1480', descr => 'convert circle to box',
  2993. proname => 'box', prorettype => 'box', proargtypes => 'circle',
  2994. prosrc => 'circle_box' },
  2995. { oid => '1482',
  2996. proname => 'lseg_ne', proleakproof => 't', prorettype => 'bool',
  2997. proargtypes => 'lseg lseg', prosrc => 'lseg_ne' },
  2998. { oid => '1483',
  2999. proname => 'lseg_lt', proleakproof => 't', prorettype => 'bool',
  3000. proargtypes => 'lseg lseg', prosrc => 'lseg_lt' },
  3001. { oid => '1484',
  3002. proname => 'lseg_le', proleakproof => 't', prorettype => 'bool',
  3003. proargtypes => 'lseg lseg', prosrc => 'lseg_le' },
  3004. { oid => '1485',
  3005. proname => 'lseg_gt', proleakproof => 't', prorettype => 'bool',
  3006. proargtypes => 'lseg lseg', prosrc => 'lseg_gt' },
  3007. { oid => '1486',
  3008. proname => 'lseg_ge', proleakproof => 't', prorettype => 'bool',
  3009. proargtypes => 'lseg lseg', prosrc => 'lseg_ge' },
  3010. { oid => '1487',
  3011. proname => 'lseg_length', prorettype => 'float8', proargtypes => 'lseg',
  3012. prosrc => 'lseg_length' },
  3013. { oid => '1488',
  3014. proname => 'close_ls', prorettype => 'point', proargtypes => 'line lseg',
  3015. prosrc => 'close_ls' },
  3016. { oid => '1489',
  3017. proname => 'close_lseg', prorettype => 'point', proargtypes => 'lseg lseg',
  3018. prosrc => 'close_lseg' },
  3019. { oid => '1490', descr => 'I/O',
  3020. proname => 'line_in', prorettype => 'line', proargtypes => 'cstring',
  3021. prosrc => 'line_in' },
  3022. { oid => '1491', descr => 'I/O',
  3023. proname => 'line_out', prorettype => 'cstring', proargtypes => 'line',
  3024. prosrc => 'line_out' },
  3025. { oid => '1492',
  3026. proname => 'line_eq', prorettype => 'bool', proargtypes => 'line line',
  3027. prosrc => 'line_eq' },
  3028. { oid => '1493', descr => 'construct line from points',
  3029. proname => 'line', prorettype => 'line', proargtypes => 'point point',
  3030. prosrc => 'line_construct_pp' },
  3031. { oid => '1494',
  3032. proname => 'line_interpt', prorettype => 'point', proargtypes => 'line line',
  3033. prosrc => 'line_interpt' },
  3034. { oid => '1495',
  3035. proname => 'line_intersect', prorettype => 'bool', proargtypes => 'line line',
  3036. prosrc => 'line_intersect' },
  3037. { oid => '1496',
  3038. proname => 'line_parallel', prorettype => 'bool', proargtypes => 'line line',
  3039. prosrc => 'line_parallel' },
  3040. { oid => '1497',
  3041. proname => 'line_perp', prorettype => 'bool', proargtypes => 'line line',
  3042. prosrc => 'line_perp' },
  3043. { oid => '1498',
  3044. proname => 'line_vertical', prorettype => 'bool', proargtypes => 'line',
  3045. prosrc => 'line_vertical' },
  3046. { oid => '1499',
  3047. proname => 'line_horizontal', prorettype => 'bool', proargtypes => 'line',
  3048. prosrc => 'line_horizontal' },
  3049. # OIDS 1500 - 1599
  3050. { oid => '1530', descr => 'distance between endpoints',
  3051. proname => 'length', prorettype => 'float8', proargtypes => 'lseg',
  3052. prosrc => 'lseg_length' },
  3053. { oid => '1531', descr => 'sum of path segments',
  3054. proname => 'length', prorettype => 'float8', proargtypes => 'path',
  3055. prosrc => 'path_length' },
  3056. { oid => '1532', descr => 'center of',
  3057. proname => 'point', prorettype => 'point', proargtypes => 'lseg',
  3058. prosrc => 'lseg_center' },
  3059. { oid => '1534', descr => 'center of',
  3060. proname => 'point', prorettype => 'point', proargtypes => 'box',
  3061. prosrc => 'box_center' },
  3062. { oid => '1540', descr => 'center of',
  3063. proname => 'point', prorettype => 'point', proargtypes => 'polygon',
  3064. prosrc => 'poly_center' },
  3065. { oid => '1541', descr => 'diagonal of',
  3066. proname => 'lseg', prorettype => 'lseg', proargtypes => 'box',
  3067. prosrc => 'box_diagonal' },
  3068. { oid => '1542', descr => 'center of',
  3069. proname => 'center', prorettype => 'point', proargtypes => 'box',
  3070. prosrc => 'box_center' },
  3071. { oid => '1543', descr => 'center of',
  3072. proname => 'center', prorettype => 'point', proargtypes => 'circle',
  3073. prosrc => 'circle_center' },
  3074. { oid => '1544', descr => 'convert circle to 12-vertex polygon',
  3075. proname => 'polygon', prolang => 'sql', prorettype => 'polygon',
  3076. proargtypes => 'circle', prosrc => 'see system_functions.sql' },
  3077. { oid => '1545', descr => 'number of points',
  3078. proname => 'npoints', prorettype => 'int4', proargtypes => 'path',
  3079. prosrc => 'path_npoints' },
  3080. { oid => '1556', descr => 'number of points',
  3081. proname => 'npoints', prorettype => 'int4', proargtypes => 'polygon',
  3082. prosrc => 'poly_npoints' },
  3083. { oid => '1564', descr => 'I/O',
  3084. proname => 'bit_in', prorettype => 'bit', proargtypes => 'cstring oid int4',
  3085. prosrc => 'bit_in' },
  3086. { oid => '1565', descr => 'I/O',
  3087. proname => 'bit_out', prorettype => 'cstring', proargtypes => 'bit',
  3088. prosrc => 'bit_out' },
  3089. { oid => '2919', descr => 'I/O typmod',
  3090. proname => 'bittypmodin', prorettype => 'int4', proargtypes => '_cstring',
  3091. prosrc => 'bittypmodin' },
  3092. { oid => '2920', descr => 'I/O typmod',
  3093. proname => 'bittypmodout', prorettype => 'cstring', proargtypes => 'int4',
  3094. prosrc => 'bittypmodout' },
  3095. { oid => '1569', descr => 'matches LIKE expression',
  3096. proname => 'like', prosupport => 'textlike_support', prorettype => 'bool',
  3097. proargtypes => 'text text', prosrc => 'textlike' },
  3098. { oid => '1570', descr => 'does not match LIKE expression',
  3099. proname => 'notlike', prorettype => 'bool', proargtypes => 'text text',
  3100. prosrc => 'textnlike' },
  3101. { oid => '1571', descr => 'matches LIKE expression',
  3102. proname => 'like', prosupport => 'textlike_support', prorettype => 'bool',
  3103. proargtypes => 'name text', prosrc => 'namelike' },
  3104. { oid => '1572', descr => 'does not match LIKE expression',
  3105. proname => 'notlike', prorettype => 'bool', proargtypes => 'name text',
  3106. prosrc => 'namenlike' },
  3107. # SEQUENCE functions
  3108. { oid => '1574', descr => 'sequence next value',
  3109. proname => 'nextval', provolatile => 'v', proparallel => 'u',
  3110. prorettype => 'int8', proargtypes => 'regclass', prosrc => 'nextval_oid' },
  3111. { oid => '1575', descr => 'sequence current value',
  3112. proname => 'currval', provolatile => 'v', proparallel => 'u',
  3113. prorettype => 'int8', proargtypes => 'regclass', prosrc => 'currval_oid' },
  3114. { oid => '1576', descr => 'set sequence value',
  3115. proname => 'setval', provolatile => 'v', proparallel => 'u',
  3116. prorettype => 'int8', proargtypes => 'regclass int8',
  3117. prosrc => 'setval_oid' },
  3118. { oid => '1765', descr => 'set sequence value and is_called status',
  3119. proname => 'setval', provolatile => 'v', proparallel => 'u',
  3120. prorettype => 'int8', proargtypes => 'regclass int8 bool',
  3121. prosrc => 'setval3_oid' },
  3122. { oid => '3078',
  3123. descr => 'sequence parameters, for use by information schema',
  3124. proname => 'pg_sequence_parameters', provolatile => 's',
  3125. prorettype => 'record', proargtypes => 'oid',
  3126. proallargtypes => '{oid,int8,int8,int8,int8,bool,int8,oid}',
  3127. proargmodes => '{i,o,o,o,o,o,o,o}',
  3128. proargnames => '{sequence_oid,start_value,minimum_value,maximum_value,increment,cycle_option,cache_size,data_type}',
  3129. prosrc => 'pg_sequence_parameters' },
  3130. { oid => '4032', descr => 'sequence last value',
  3131. proname => 'pg_sequence_last_value', provolatile => 'v', proparallel => 'u',
  3132. prorettype => 'int8', proargtypes => 'regclass',
  3133. prosrc => 'pg_sequence_last_value' },
  3134. { oid => '275', descr => 'return the next oid for a system table',
  3135. proname => 'pg_nextoid', provolatile => 'v', proparallel => 'u',
  3136. prorettype => 'oid', proargtypes => 'regclass name regclass',
  3137. prosrc => 'pg_nextoid' },
  3138. { oid => '6241', descr => 'stop making pinned objects during initdb',
  3139. proname => 'pg_stop_making_pinned_objects', provolatile => 'v',
  3140. proparallel => 'u', prorettype => 'void', proargtypes => '',
  3141. prosrc => 'pg_stop_making_pinned_objects' },
  3142. { oid => '1579', descr => 'I/O',
  3143. proname => 'varbit_in', prorettype => 'varbit',
  3144. proargtypes => 'cstring oid int4', prosrc => 'varbit_in' },
  3145. { oid => '1580', descr => 'I/O',
  3146. proname => 'varbit_out', prorettype => 'cstring', proargtypes => 'varbit',
  3147. prosrc => 'varbit_out' },
  3148. { oid => '2902', descr => 'I/O typmod',
  3149. proname => 'varbittypmodin', prorettype => 'int4', proargtypes => '_cstring',
  3150. prosrc => 'varbittypmodin' },
  3151. { oid => '2921', descr => 'I/O typmod',
  3152. proname => 'varbittypmodout', prorettype => 'cstring', proargtypes => 'int4',
  3153. prosrc => 'varbittypmodout' },
  3154. { oid => '1581',
  3155. proname => 'biteq', proleakproof => 't', prorettype => 'bool',
  3156. proargtypes => 'bit bit', prosrc => 'biteq' },
  3157. { oid => '1582',
  3158. proname => 'bitne', proleakproof => 't', prorettype => 'bool',
  3159. proargtypes => 'bit bit', prosrc => 'bitne' },
  3160. { oid => '1592',
  3161. proname => 'bitge', proleakproof => 't', prorettype => 'bool',
  3162. proargtypes => 'bit bit', prosrc => 'bitge' },
  3163. { oid => '1593',
  3164. proname => 'bitgt', proleakproof => 't', prorettype => 'bool',
  3165. proargtypes => 'bit bit', prosrc => 'bitgt' },
  3166. { oid => '1594',
  3167. proname => 'bitle', proleakproof => 't', prorettype => 'bool',
  3168. proargtypes => 'bit bit', prosrc => 'bitle' },
  3169. { oid => '1595',
  3170. proname => 'bitlt', proleakproof => 't', prorettype => 'bool',
  3171. proargtypes => 'bit bit', prosrc => 'bitlt' },
  3172. { oid => '1596', descr => 'less-equal-greater',
  3173. proname => 'bitcmp', proleakproof => 't', prorettype => 'int4',
  3174. proargtypes => 'bit bit', prosrc => 'bitcmp' },
  3175. { oid => '1598', descr => 'random value',
  3176. proname => 'random', provolatile => 'v', proparallel => 'r',
  3177. prorettype => 'float8', proargtypes => '', prosrc => 'drandom' },
  3178. { oid => '1599', descr => 'set random seed',
  3179. proname => 'setseed', provolatile => 'v', proparallel => 'r',
  3180. prorettype => 'void', proargtypes => 'float8', prosrc => 'setseed' },
  3181. # OIDS 1600 - 1699
  3182. { oid => '1600', descr => 'arcsine',
  3183. proname => 'asin', prorettype => 'float8', proargtypes => 'float8',
  3184. prosrc => 'dasin' },
  3185. { oid => '1601', descr => 'arccosine',
  3186. proname => 'acos', prorettype => 'float8', proargtypes => 'float8',
  3187. prosrc => 'dacos' },
  3188. { oid => '1602', descr => 'arctangent',
  3189. proname => 'atan', prorettype => 'float8', proargtypes => 'float8',
  3190. prosrc => 'datan' },
  3191. { oid => '1603', descr => 'arctangent, two arguments',
  3192. proname => 'atan2', prorettype => 'float8', proargtypes => 'float8 float8',
  3193. prosrc => 'datan2' },
  3194. { oid => '1604', descr => 'sine',
  3195. proname => 'sin', prorettype => 'float8', proargtypes => 'float8',
  3196. prosrc => 'dsin' },
  3197. { oid => '1605', descr => 'cosine',
  3198. proname => 'cos', prorettype => 'float8', proargtypes => 'float8',
  3199. prosrc => 'dcos' },
  3200. { oid => '1606', descr => 'tangent',
  3201. proname => 'tan', prorettype => 'float8', proargtypes => 'float8',
  3202. prosrc => 'dtan' },
  3203. { oid => '1607', descr => 'cotangent',
  3204. proname => 'cot', prorettype => 'float8', proargtypes => 'float8',
  3205. prosrc => 'dcot' },
  3206. { oid => '2731', descr => 'arcsine, degrees',
  3207. proname => 'asind', prorettype => 'float8', proargtypes => 'float8',
  3208. prosrc => 'dasind' },
  3209. { oid => '2732', descr => 'arccosine, degrees',
  3210. proname => 'acosd', prorettype => 'float8', proargtypes => 'float8',
  3211. prosrc => 'dacosd' },
  3212. { oid => '2733', descr => 'arctangent, degrees',
  3213. proname => 'atand', prorettype => 'float8', proargtypes => 'float8',
  3214. prosrc => 'datand' },
  3215. { oid => '2734', descr => 'arctangent, two arguments, degrees',
  3216. proname => 'atan2d', prorettype => 'float8', proargtypes => 'float8 float8',
  3217. prosrc => 'datan2d' },
  3218. { oid => '2735', descr => 'sine, degrees',
  3219. proname => 'sind', prorettype => 'float8', proargtypes => 'float8',
  3220. prosrc => 'dsind' },
  3221. { oid => '2736', descr => 'cosine, degrees',
  3222. proname => 'cosd', prorettype => 'float8', proargtypes => 'float8',
  3223. prosrc => 'dcosd' },
  3224. { oid => '2737', descr => 'tangent, degrees',
  3225. proname => 'tand', prorettype => 'float8', proargtypes => 'float8',
  3226. prosrc => 'dtand' },
  3227. { oid => '2738', descr => 'cotangent, degrees',
  3228. proname => 'cotd', prorettype => 'float8', proargtypes => 'float8',
  3229. prosrc => 'dcotd' },
  3230. { oid => '1608', descr => 'radians to degrees',
  3231. proname => 'degrees', prorettype => 'float8', proargtypes => 'float8',
  3232. prosrc => 'degrees' },
  3233. { oid => '1609', descr => 'degrees to radians',
  3234. proname => 'radians', prorettype => 'float8', proargtypes => 'float8',
  3235. prosrc => 'radians' },
  3236. { oid => '1610', descr => 'PI',
  3237. proname => 'pi', prorettype => 'float8', proargtypes => '', prosrc => 'dpi' },
  3238. { oid => '2462', descr => 'hyperbolic sine',
  3239. proname => 'sinh', prorettype => 'float8', proargtypes => 'float8',
  3240. prosrc => 'dsinh' },
  3241. { oid => '2463', descr => 'hyperbolic cosine',
  3242. proname => 'cosh', prorettype => 'float8', proargtypes => 'float8',
  3243. prosrc => 'dcosh' },
  3244. { oid => '2464', descr => 'hyperbolic tangent',
  3245. proname => 'tanh', prorettype => 'float8', proargtypes => 'float8',
  3246. prosrc => 'dtanh' },
  3247. { oid => '2465', descr => 'inverse hyperbolic sine',
  3248. proname => 'asinh', prorettype => 'float8', proargtypes => 'float8',
  3249. prosrc => 'dasinh' },
  3250. { oid => '2466', descr => 'inverse hyperbolic cosine',
  3251. proname => 'acosh', prorettype => 'float8', proargtypes => 'float8',
  3252. prosrc => 'dacosh' },
  3253. { oid => '2467', descr => 'inverse hyperbolic tangent',
  3254. proname => 'atanh', prorettype => 'float8', proargtypes => 'float8',
  3255. prosrc => 'datanh' },
  3256. { oid => '1618',
  3257. proname => 'interval_mul', prorettype => 'interval',
  3258. proargtypes => 'interval float8', prosrc => 'interval_mul' },
  3259. { oid => '1620', descr => 'convert first char to int4',
  3260. proname => 'ascii', prorettype => 'int4', proargtypes => 'text',
  3261. prosrc => 'ascii' },
  3262. { oid => '1621', descr => 'convert int4 to char',
  3263. proname => 'chr', prorettype => 'text', proargtypes => 'int4',
  3264. prosrc => 'chr' },
  3265. { oid => '1622', descr => 'replicate string n times',
  3266. proname => 'repeat', prorettype => 'text', proargtypes => 'text int4',
  3267. prosrc => 'repeat' },
  3268. { oid => '1623', descr => 'convert SQL regexp pattern to POSIX style',
  3269. proname => 'similar_escape', proisstrict => 'f', prorettype => 'text',
  3270. proargtypes => 'text text', prosrc => 'similar_escape' },
  3271. { oid => '1986', descr => 'convert SQL regexp pattern to POSIX style',
  3272. proname => 'similar_to_escape', prorettype => 'text',
  3273. proargtypes => 'text text', prosrc => 'similar_to_escape_2' },
  3274. { oid => '1987', descr => 'convert SQL regexp pattern to POSIX style',
  3275. proname => 'similar_to_escape', prorettype => 'text', proargtypes => 'text',
  3276. prosrc => 'similar_to_escape_1' },
  3277. { oid => '1624',
  3278. proname => 'mul_d_interval', prorettype => 'interval',
  3279. proargtypes => 'float8 interval', prosrc => 'mul_d_interval' },
  3280. { oid => '1631',
  3281. proname => 'bpcharlike', prosupport => 'textlike_support',
  3282. prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'textlike' },
  3283. { oid => '1632',
  3284. proname => 'bpcharnlike', prorettype => 'bool', proargtypes => 'bpchar text',
  3285. prosrc => 'textnlike' },
  3286. { oid => '1633',
  3287. proname => 'texticlike', prosupport => 'texticlike_support',
  3288. prorettype => 'bool', proargtypes => 'text text', prosrc => 'texticlike' },
  3289. { oid => '1025', descr => 'planner support for texticlike',
  3290. proname => 'texticlike_support', prorettype => 'internal',
  3291. proargtypes => 'internal', prosrc => 'texticlike_support' },
  3292. { oid => '1634',
  3293. proname => 'texticnlike', prorettype => 'bool', proargtypes => 'text text',
  3294. prosrc => 'texticnlike' },
  3295. { oid => '1635',
  3296. proname => 'nameiclike', prosupport => 'texticlike_support',
  3297. prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameiclike' },
  3298. { oid => '1636',
  3299. proname => 'nameicnlike', prorettype => 'bool', proargtypes => 'name text',
  3300. prosrc => 'nameicnlike' },
  3301. { oid => '1637', descr => 'convert LIKE pattern to use backslash escapes',
  3302. proname => 'like_escape', prorettype => 'text', proargtypes => 'text text',
  3303. prosrc => 'like_escape' },
  3304. { oid => '1656',
  3305. proname => 'bpcharicregexeq', prosupport => 'texticregexeq_support',
  3306. prorettype => 'bool', proargtypes => 'bpchar text',
  3307. prosrc => 'texticregexeq' },
  3308. { oid => '1657',
  3309. proname => 'bpcharicregexne', prorettype => 'bool',
  3310. proargtypes => 'bpchar text', prosrc => 'texticregexne' },
  3311. { oid => '1658',
  3312. proname => 'bpcharregexeq', prosupport => 'textregexeq_support',
  3313. prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'textregexeq' },
  3314. { oid => '1659',
  3315. proname => 'bpcharregexne', prorettype => 'bool',
  3316. proargtypes => 'bpchar text', prosrc => 'textregexne' },
  3317. { oid => '1660',
  3318. proname => 'bpchariclike', prosupport => 'texticlike_support',
  3319. prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'texticlike' },
  3320. { oid => '1661',
  3321. proname => 'bpcharicnlike', prorettype => 'bool',
  3322. proargtypes => 'bpchar text', prosrc => 'texticnlike' },
  3323. # Oracle Compatibility Related Functions - By Edmund Mergl <[email protected]>
  3324. { oid => '868', descr => 'position of substring',
  3325. proname => 'strpos', prorettype => 'int4', proargtypes => 'text text',
  3326. prosrc => 'textpos' },
  3327. { oid => '870', descr => 'lowercase',
  3328. proname => 'lower', prorettype => 'text', proargtypes => 'text',
  3329. prosrc => 'lower' },
  3330. { oid => '871', descr => 'uppercase',
  3331. proname => 'upper', prorettype => 'text', proargtypes => 'text',
  3332. prosrc => 'upper' },
  3333. { oid => '872', descr => 'capitalize each word',
  3334. proname => 'initcap', prorettype => 'text', proargtypes => 'text',
  3335. prosrc => 'initcap' },
  3336. { oid => '873', descr => 'left-pad string to length',
  3337. proname => 'lpad', prorettype => 'text', proargtypes => 'text int4 text',
  3338. prosrc => 'lpad' },
  3339. { oid => '874', descr => 'right-pad string to length',
  3340. proname => 'rpad', prorettype => 'text', proargtypes => 'text int4 text',
  3341. prosrc => 'rpad' },
  3342. { oid => '875', descr => 'trim selected characters from left end of string',
  3343. proname => 'ltrim', prorettype => 'text', proargtypes => 'text text',
  3344. prosrc => 'ltrim' },
  3345. { oid => '876', descr => 'trim selected characters from right end of string',
  3346. proname => 'rtrim', prorettype => 'text', proargtypes => 'text text',
  3347. prosrc => 'rtrim' },
  3348. { oid => '877', descr => 'extract portion of string',
  3349. proname => 'substr', prorettype => 'text', proargtypes => 'text int4 int4',
  3350. prosrc => 'text_substr' },
  3351. { oid => '878', descr => 'map a set of characters appearing in string',
  3352. proname => 'translate', prorettype => 'text', proargtypes => 'text text text',
  3353. prosrc => 'translate' },
  3354. { oid => '879', descr => 'left-pad string to length',
  3355. proname => 'lpad', prolang => 'sql', prorettype => 'text',
  3356. proargtypes => 'text int4', prosrc => 'see system_functions.sql' },
  3357. { oid => '880', descr => 'right-pad string to length',
  3358. proname => 'rpad', prolang => 'sql', prorettype => 'text',
  3359. proargtypes => 'text int4', prosrc => 'see system_functions.sql' },
  3360. { oid => '881', descr => 'trim spaces from left end of string',
  3361. proname => 'ltrim', prorettype => 'text', proargtypes => 'text',
  3362. prosrc => 'ltrim1' },
  3363. { oid => '882', descr => 'trim spaces from right end of string',
  3364. proname => 'rtrim', prorettype => 'text', proargtypes => 'text',
  3365. prosrc => 'rtrim1' },
  3366. { oid => '883', descr => 'extract portion of string',
  3367. proname => 'substr', prorettype => 'text', proargtypes => 'text int4',
  3368. prosrc => 'text_substr_no_len' },
  3369. { oid => '884', descr => 'trim selected characters from both ends of string',
  3370. proname => 'btrim', prorettype => 'text', proargtypes => 'text text',
  3371. prosrc => 'btrim' },
  3372. { oid => '885', descr => 'trim spaces from both ends of string',
  3373. proname => 'btrim', prorettype => 'text', proargtypes => 'text',
  3374. prosrc => 'btrim1' },
  3375. { oid => '936', descr => 'extract portion of string',
  3376. proname => 'substring', prorettype => 'text', proargtypes => 'text int4 int4',
  3377. prosrc => 'text_substr' },
  3378. { oid => '937', descr => 'extract portion of string',
  3379. proname => 'substring', prorettype => 'text', proargtypes => 'text int4',
  3380. prosrc => 'text_substr_no_len' },
  3381. { oid => '2087',
  3382. descr => 'replace all occurrences in string of old_substr with new_substr',
  3383. proname => 'replace', prorettype => 'text', proargtypes => 'text text text',
  3384. prosrc => 'replace_text' },
  3385. { oid => '2284', descr => 'replace text using regexp',
  3386. proname => 'regexp_replace', prorettype => 'text',
  3387. proargtypes => 'text text text', prosrc => 'textregexreplace_noopt' },
  3388. { oid => '2285', descr => 'replace text using regexp',
  3389. proname => 'regexp_replace', prorettype => 'text',
  3390. proargtypes => 'text text text text', prosrc => 'textregexreplace' },
  3391. { oid => '6251', descr => 'replace text using regexp',
  3392. proname => 'regexp_replace', prorettype => 'text',
  3393. proargtypes => 'text text text int4 int4 text',
  3394. prosrc => 'textregexreplace_extended' },
  3395. { oid => '6252', descr => 'replace text using regexp',
  3396. proname => 'regexp_replace', prorettype => 'text',
  3397. proargtypes => 'text text text int4 int4',
  3398. prosrc => 'textregexreplace_extended_no_flags' },
  3399. { oid => '6253', descr => 'replace text using regexp',
  3400. proname => 'regexp_replace', prorettype => 'text',
  3401. proargtypes => 'text text text int4',
  3402. prosrc => 'textregexreplace_extended_no_n' },
  3403. { oid => '3396', descr => 'find first match for regexp',
  3404. proname => 'regexp_match', prorettype => '_text', proargtypes => 'text text',
  3405. prosrc => 'regexp_match_no_flags' },
  3406. { oid => '3397', descr => 'find first match for regexp',
  3407. proname => 'regexp_match', prorettype => '_text',
  3408. proargtypes => 'text text text', prosrc => 'regexp_match' },
  3409. { oid => '2763', descr => 'find match(es) for regexp',
  3410. proname => 'regexp_matches', prorows => '1', proretset => 't',
  3411. prorettype => '_text', proargtypes => 'text text',
  3412. prosrc => 'regexp_matches_no_flags' },
  3413. { oid => '2764', descr => 'find match(es) for regexp',
  3414. proname => 'regexp_matches', prorows => '10', proretset => 't',
  3415. prorettype => '_text', proargtypes => 'text text text',
  3416. prosrc => 'regexp_matches' },
  3417. { oid => '6254', descr => 'count regexp matches',
  3418. proname => 'regexp_count', prorettype => 'int4', proargtypes => 'text text',
  3419. prosrc => 'regexp_count_no_start' },
  3420. { oid => '6255', descr => 'count regexp matches',
  3421. proname => 'regexp_count', prorettype => 'int4',
  3422. proargtypes => 'text text int4', prosrc => 'regexp_count_no_flags' },
  3423. { oid => '6256', descr => 'count regexp matches',
  3424. proname => 'regexp_count', prorettype => 'int4',
  3425. proargtypes => 'text text int4 text', prosrc => 'regexp_count' },
  3426. { oid => '6257', descr => 'position of regexp match',
  3427. proname => 'regexp_instr', prorettype => 'int4', proargtypes => 'text text',
  3428. prosrc => 'regexp_instr_no_start' },
  3429. { oid => '6258', descr => 'position of regexp match',
  3430. proname => 'regexp_instr', prorettype => 'int4',
  3431. proargtypes => 'text text int4', prosrc => 'regexp_instr_no_n' },
  3432. { oid => '6259', descr => 'position of regexp match',
  3433. proname => 'regexp_instr', prorettype => 'int4',
  3434. proargtypes => 'text text int4 int4', prosrc => 'regexp_instr_no_endoption' },
  3435. { oid => '6260', descr => 'position of regexp match',
  3436. proname => 'regexp_instr', prorettype => 'int4',
  3437. proargtypes => 'text text int4 int4 int4',
  3438. prosrc => 'regexp_instr_no_flags' },
  3439. { oid => '6261', descr => 'position of regexp match',
  3440. proname => 'regexp_instr', prorettype => 'int4',
  3441. proargtypes => 'text text int4 int4 int4 text',
  3442. prosrc => 'regexp_instr_no_subexpr' },
  3443. { oid => '6262', descr => 'position of regexp match',
  3444. proname => 'regexp_instr', prorettype => 'int4',
  3445. proargtypes => 'text text int4 int4 int4 text int4',
  3446. prosrc => 'regexp_instr' },
  3447. { oid => '6263', descr => 'test for regexp match',
  3448. proname => 'regexp_like', prorettype => 'bool', proargtypes => 'text text',
  3449. prosrc => 'regexp_like_no_flags' },
  3450. { oid => '6264', descr => 'test for regexp match',
  3451. proname => 'regexp_like', prorettype => 'bool',
  3452. proargtypes => 'text text text', prosrc => 'regexp_like' },
  3453. { oid => '6265', descr => 'extract substring that matches regexp',
  3454. proname => 'regexp_substr', prorettype => 'text', proargtypes => 'text text',
  3455. prosrc => 'regexp_substr_no_start' },
  3456. { oid => '6266', descr => 'extract substring that matches regexp',
  3457. proname => 'regexp_substr', prorettype => 'text',
  3458. proargtypes => 'text text int4', prosrc => 'regexp_substr_no_n' },
  3459. { oid => '6267', descr => 'extract substring that matches regexp',
  3460. proname => 'regexp_substr', prorettype => 'text',
  3461. proargtypes => 'text text int4 int4', prosrc => 'regexp_substr_no_flags' },
  3462. { oid => '6268', descr => 'extract substring that matches regexp',
  3463. proname => 'regexp_substr', prorettype => 'text',
  3464. proargtypes => 'text text int4 int4 text',
  3465. prosrc => 'regexp_substr_no_subexpr' },
  3466. { oid => '6269', descr => 'extract substring that matches regexp',
  3467. proname => 'regexp_substr', prorettype => 'text',
  3468. proargtypes => 'text text int4 int4 text int4', prosrc => 'regexp_substr' },
  3469. { oid => '2088', descr => 'split string by field_sep and return field_num',
  3470. proname => 'split_part', prorettype => 'text',
  3471. proargtypes => 'text text int4', prosrc => 'split_part' },
  3472. { oid => '2765', descr => 'split string by pattern',
  3473. proname => 'regexp_split_to_table', prorows => '1000', proretset => 't',
  3474. prorettype => 'text', proargtypes => 'text text',
  3475. prosrc => 'regexp_split_to_table_no_flags' },
  3476. { oid => '2766', descr => 'split string by pattern',
  3477. proname => 'regexp_split_to_table', prorows => '1000', proretset => 't',
  3478. prorettype => 'text', proargtypes => 'text text text',
  3479. prosrc => 'regexp_split_to_table' },
  3480. { oid => '2767', descr => 'split string by pattern',
  3481. proname => 'regexp_split_to_array', prorettype => '_text',
  3482. proargtypes => 'text text', prosrc => 'regexp_split_to_array_no_flags' },
  3483. { oid => '2768', descr => 'split string by pattern',
  3484. proname => 'regexp_split_to_array', prorettype => '_text',
  3485. proargtypes => 'text text text', prosrc => 'regexp_split_to_array' },
  3486. { oid => '2089', descr => 'convert int4 number to hex',
  3487. proname => 'to_hex', prorettype => 'text', proargtypes => 'int4',
  3488. prosrc => 'to_hex32' },
  3489. { oid => '2090', descr => 'convert int8 number to hex',
  3490. proname => 'to_hex', prorettype => 'text', proargtypes => 'int8',
  3491. prosrc => 'to_hex64' },
  3492. # for character set encoding support
  3493. # return database encoding name
  3494. { oid => '1039', descr => 'encoding name of current database',
  3495. proname => 'getdatabaseencoding', provolatile => 's', prorettype => 'name',
  3496. proargtypes => '', prosrc => 'getdatabaseencoding' },
  3497. # return client encoding name i.e. session encoding
  3498. { oid => '810', descr => 'encoding name of current database',
  3499. proname => 'pg_client_encoding', provolatile => 's', prorettype => 'name',
  3500. proargtypes => '', prosrc => 'pg_client_encoding' },
  3501. { oid => '1713', descr => 'length of string in specified encoding',
  3502. proname => 'length', provolatile => 's', prorettype => 'int4',
  3503. proargtypes => 'bytea name', prosrc => 'length_in_encoding' },
  3504. { oid => '1714',
  3505. descr => 'convert string with specified source encoding name',
  3506. proname => 'convert_from', provolatile => 's', prorettype => 'text',
  3507. proargtypes => 'bytea name', prosrc => 'pg_convert_from' },
  3508. { oid => '1717',
  3509. descr => 'convert string with specified destination encoding name',
  3510. proname => 'convert_to', provolatile => 's', prorettype => 'bytea',
  3511. proargtypes => 'text name', prosrc => 'pg_convert_to' },
  3512. { oid => '1813', descr => 'convert string with specified encoding names',
  3513. proname => 'convert', provolatile => 's', prorettype => 'bytea',
  3514. proargtypes => 'bytea name name', prosrc => 'pg_convert' },
  3515. { oid => '1264', descr => 'convert encoding name to encoding id',
  3516. proname => 'pg_char_to_encoding', provolatile => 's', prorettype => 'int4',
  3517. proargtypes => 'name', prosrc => 'PG_char_to_encoding' },
  3518. { oid => '1597', descr => 'convert encoding id to encoding name',
  3519. proname => 'pg_encoding_to_char', provolatile => 's', prorettype => 'name',
  3520. proargtypes => 'int4', prosrc => 'PG_encoding_to_char' },
  3521. { oid => '2319',
  3522. descr => 'maximum octet length of a character in given encoding',
  3523. proname => 'pg_encoding_max_length', prorettype => 'int4',
  3524. proargtypes => 'int4', prosrc => 'pg_encoding_max_length_sql' },
  3525. { oid => '1638',
  3526. proname => 'oidgt', proleakproof => 't', prorettype => 'bool',
  3527. proargtypes => 'oid oid', prosrc => 'oidgt' },
  3528. { oid => '1639',
  3529. proname => 'oidge', proleakproof => 't', prorettype => 'bool',
  3530. proargtypes => 'oid oid', prosrc => 'oidge' },
  3531. # System-view support functions
  3532. { oid => '1573', descr => 'source text of a rule',
  3533. proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text',
  3534. proargtypes => 'oid', prosrc => 'pg_get_ruledef' },
  3535. { oid => '1640', descr => 'select statement of a view',
  3536. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  3537. prorettype => 'text', proargtypes => 'text',
  3538. prosrc => 'pg_get_viewdef_name' },
  3539. { oid => '1641', descr => 'select statement of a view',
  3540. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  3541. prorettype => 'text', proargtypes => 'oid', prosrc => 'pg_get_viewdef' },
  3542. { oid => '1642', descr => 'role name by OID (with fallback)',
  3543. proname => 'pg_get_userbyid', provolatile => 's', prorettype => 'name',
  3544. proargtypes => 'oid', prosrc => 'pg_get_userbyid' },
  3545. { oid => '1643', descr => 'index description',
  3546. proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text',
  3547. proargtypes => 'oid', prosrc => 'pg_get_indexdef' },
  3548. { oid => '3415', descr => 'extended statistics object description',
  3549. proname => 'pg_get_statisticsobjdef', provolatile => 's',
  3550. prorettype => 'text', proargtypes => 'oid',
  3551. prosrc => 'pg_get_statisticsobjdef' },
  3552. { oid => '6174', descr => 'extended statistics columns',
  3553. proname => 'pg_get_statisticsobjdef_columns', provolatile => 's',
  3554. prorettype => 'text', proargtypes => 'oid',
  3555. prosrc => 'pg_get_statisticsobjdef_columns' },
  3556. { oid => '6173', descr => 'extended statistics expressions',
  3557. proname => 'pg_get_statisticsobjdef_expressions', provolatile => 's',
  3558. prorettype => '_text', proargtypes => 'oid',
  3559. prosrc => 'pg_get_statisticsobjdef_expressions' },
  3560. { oid => '3352', descr => 'partition key description',
  3561. proname => 'pg_get_partkeydef', provolatile => 's', prorettype => 'text',
  3562. proargtypes => 'oid', prosrc => 'pg_get_partkeydef' },
  3563. { oid => '3408', descr => 'partition constraint description',
  3564. proname => 'pg_get_partition_constraintdef', provolatile => 's',
  3565. prorettype => 'text', proargtypes => 'oid',
  3566. prosrc => 'pg_get_partition_constraintdef' },
  3567. { oid => '1662', descr => 'trigger description',
  3568. proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text',
  3569. proargtypes => 'oid', prosrc => 'pg_get_triggerdef' },
  3570. { oid => '1387', descr => 'constraint description',
  3571. proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text',
  3572. proargtypes => 'oid', prosrc => 'pg_get_constraintdef' },
  3573. { oid => '1716', descr => 'deparse an encoded expression',
  3574. proname => 'pg_get_expr', provolatile => 's', prorettype => 'text',
  3575. proargtypes => 'pg_node_tree oid', prosrc => 'pg_get_expr' },
  3576. { oid => '1665', descr => 'name of sequence for a serial column',
  3577. proname => 'pg_get_serial_sequence', provolatile => 's', prorettype => 'text',
  3578. proargtypes => 'text text', prosrc => 'pg_get_serial_sequence' },
  3579. { oid => '2098', descr => 'definition of a function',
  3580. proname => 'pg_get_functiondef', provolatile => 's', prorettype => 'text',
  3581. proargtypes => 'oid', prosrc => 'pg_get_functiondef' },
  3582. { oid => '2162', descr => 'argument list of a function',
  3583. proname => 'pg_get_function_arguments', provolatile => 's',
  3584. prorettype => 'text', proargtypes => 'oid',
  3585. prosrc => 'pg_get_function_arguments' },
  3586. { oid => '2232', descr => 'identity argument list of a function',
  3587. proname => 'pg_get_function_identity_arguments', provolatile => 's',
  3588. prorettype => 'text', proargtypes => 'oid',
  3589. prosrc => 'pg_get_function_identity_arguments' },
  3590. { oid => '2165', descr => 'result type of a function',
  3591. proname => 'pg_get_function_result', provolatile => 's', prorettype => 'text',
  3592. proargtypes => 'oid', prosrc => 'pg_get_function_result' },
  3593. { oid => '3808', descr => 'function argument default',
  3594. proname => 'pg_get_function_arg_default', provolatile => 's',
  3595. prorettype => 'text', proargtypes => 'oid int4',
  3596. prosrc => 'pg_get_function_arg_default' },
  3597. { oid => '6197', descr => 'function SQL body',
  3598. proname => 'pg_get_function_sqlbody', provolatile => 's',
  3599. prorettype => 'text', proargtypes => 'oid',
  3600. prosrc => 'pg_get_function_sqlbody' },
  3601. { oid => '1686', descr => 'list of SQL keywords',
  3602. proname => 'pg_get_keywords', procost => '10', prorows => '500',
  3603. proretset => 't', provolatile => 's', prorettype => 'record',
  3604. proargtypes => '', proallargtypes => '{text,char,bool,text,text}',
  3605. proargmodes => '{o,o,o,o,o}',
  3606. proargnames => '{word,catcode,barelabel,catdesc,baredesc}',
  3607. prosrc => 'pg_get_keywords' },
  3608. { oid => '6159', descr => 'list of catalog foreign key relationships',
  3609. proname => 'pg_get_catalog_foreign_keys', procost => '10', prorows => '250',
  3610. proretset => 't', provolatile => 's', prorettype => 'record',
  3611. proargtypes => '',
  3612. proallargtypes => '{regclass,_text,regclass,_text,bool,bool}',
  3613. proargmodes => '{o,o,o,o,o,o}',
  3614. proargnames => '{fktable,fkcols,pktable,pkcols,is_array,is_opt}',
  3615. prosrc => 'pg_get_catalog_foreign_keys' },
  3616. { oid => '2289', descr => 'convert generic options array to name/value table',
  3617. proname => 'pg_options_to_table', prorows => '3', proretset => 't',
  3618. provolatile => 's', prorettype => 'record', proargtypes => '_text',
  3619. proallargtypes => '{_text,text,text}', proargmodes => '{i,o,o}',
  3620. proargnames => '{options_array,option_name,option_value}',
  3621. prosrc => 'pg_options_to_table' },
  3622. { oid => '1619', descr => 'type of the argument',
  3623. proname => 'pg_typeof', proisstrict => 'f', provolatile => 's',
  3624. prorettype => 'regtype', proargtypes => 'any', prosrc => 'pg_typeof' },
  3625. { oid => '3162',
  3626. descr => 'collation of the argument; implementation of the COLLATION FOR expression',
  3627. proname => 'pg_collation_for', proisstrict => 'f', provolatile => 's',
  3628. prorettype => 'text', proargtypes => 'any', prosrc => 'pg_collation_for' },
  3629. { oid => '3842', descr => 'is a relation insertable/updatable/deletable',
  3630. proname => 'pg_relation_is_updatable', procost => '10', provolatile => 's',
  3631. prorettype => 'int4', proargtypes => 'regclass bool',
  3632. prosrc => 'pg_relation_is_updatable' },
  3633. { oid => '3843', descr => 'is a column updatable',
  3634. proname => 'pg_column_is_updatable', procost => '10', provolatile => 's',
  3635. prorettype => 'bool', proargtypes => 'regclass int2 bool',
  3636. prosrc => 'pg_column_is_updatable' },
  3637. { oid => '6120', descr => 'oid of replica identity index if any',
  3638. proname => 'pg_get_replica_identity_index', procost => '10',
  3639. provolatile => 's', prorettype => 'regclass', proargtypes => 'regclass',
  3640. prosrc => 'pg_get_replica_identity_index' },
  3641. # Deferrable unique constraint trigger
  3642. { oid => '1250', descr => 'deferred UNIQUE constraint check',
  3643. proname => 'unique_key_recheck', provolatile => 'v', prorettype => 'trigger',
  3644. proargtypes => '', prosrc => 'unique_key_recheck' },
  3645. # Generic referential integrity constraint triggers
  3646. { oid => '1644', descr => 'referential integrity FOREIGN KEY ... REFERENCES',
  3647. proname => 'RI_FKey_check_ins', provolatile => 'v', prorettype => 'trigger',
  3648. proargtypes => '', prosrc => 'RI_FKey_check_ins' },
  3649. { oid => '1645', descr => 'referential integrity FOREIGN KEY ... REFERENCES',
  3650. proname => 'RI_FKey_check_upd', provolatile => 'v', prorettype => 'trigger',
  3651. proargtypes => '', prosrc => 'RI_FKey_check_upd' },
  3652. { oid => '1646', descr => 'referential integrity ON DELETE CASCADE',
  3653. proname => 'RI_FKey_cascade_del', provolatile => 'v', prorettype => 'trigger',
  3654. proargtypes => '', prosrc => 'RI_FKey_cascade_del' },
  3655. { oid => '1647', descr => 'referential integrity ON UPDATE CASCADE',
  3656. proname => 'RI_FKey_cascade_upd', provolatile => 'v', prorettype => 'trigger',
  3657. proargtypes => '', prosrc => 'RI_FKey_cascade_upd' },
  3658. { oid => '1648', descr => 'referential integrity ON DELETE RESTRICT',
  3659. proname => 'RI_FKey_restrict_del', provolatile => 'v',
  3660. prorettype => 'trigger', proargtypes => '',
  3661. prosrc => 'RI_FKey_restrict_del' },
  3662. { oid => '1649', descr => 'referential integrity ON UPDATE RESTRICT',
  3663. proname => 'RI_FKey_restrict_upd', provolatile => 'v',
  3664. prorettype => 'trigger', proargtypes => '',
  3665. prosrc => 'RI_FKey_restrict_upd' },
  3666. { oid => '1650', descr => 'referential integrity ON DELETE SET NULL',
  3667. proname => 'RI_FKey_setnull_del', provolatile => 'v', prorettype => 'trigger',
  3668. proargtypes => '', prosrc => 'RI_FKey_setnull_del' },
  3669. { oid => '1651', descr => 'referential integrity ON UPDATE SET NULL',
  3670. proname => 'RI_FKey_setnull_upd', provolatile => 'v', prorettype => 'trigger',
  3671. proargtypes => '', prosrc => 'RI_FKey_setnull_upd' },
  3672. { oid => '1652', descr => 'referential integrity ON DELETE SET DEFAULT',
  3673. proname => 'RI_FKey_setdefault_del', provolatile => 'v',
  3674. prorettype => 'trigger', proargtypes => '',
  3675. prosrc => 'RI_FKey_setdefault_del' },
  3676. { oid => '1653', descr => 'referential integrity ON UPDATE SET DEFAULT',
  3677. proname => 'RI_FKey_setdefault_upd', provolatile => 'v',
  3678. prorettype => 'trigger', proargtypes => '',
  3679. prosrc => 'RI_FKey_setdefault_upd' },
  3680. { oid => '1654', descr => 'referential integrity ON DELETE NO ACTION',
  3681. proname => 'RI_FKey_noaction_del', provolatile => 'v',
  3682. prorettype => 'trigger', proargtypes => '',
  3683. prosrc => 'RI_FKey_noaction_del' },
  3684. { oid => '1655', descr => 'referential integrity ON UPDATE NO ACTION',
  3685. proname => 'RI_FKey_noaction_upd', provolatile => 'v',
  3686. prorettype => 'trigger', proargtypes => '',
  3687. prosrc => 'RI_FKey_noaction_upd' },
  3688. { oid => '1666',
  3689. proname => 'varbiteq', proleakproof => 't', prorettype => 'bool',
  3690. proargtypes => 'varbit varbit', prosrc => 'biteq' },
  3691. { oid => '1667',
  3692. proname => 'varbitne', proleakproof => 't', prorettype => 'bool',
  3693. proargtypes => 'varbit varbit', prosrc => 'bitne' },
  3694. { oid => '1668',
  3695. proname => 'varbitge', proleakproof => 't', prorettype => 'bool',
  3696. proargtypes => 'varbit varbit', prosrc => 'bitge' },
  3697. { oid => '1669',
  3698. proname => 'varbitgt', proleakproof => 't', prorettype => 'bool',
  3699. proargtypes => 'varbit varbit', prosrc => 'bitgt' },
  3700. { oid => '1670',
  3701. proname => 'varbitle', proleakproof => 't', prorettype => 'bool',
  3702. proargtypes => 'varbit varbit', prosrc => 'bitle' },
  3703. { oid => '1671',
  3704. proname => 'varbitlt', proleakproof => 't', prorettype => 'bool',
  3705. proargtypes => 'varbit varbit', prosrc => 'bitlt' },
  3706. { oid => '1672', descr => 'less-equal-greater',
  3707. proname => 'varbitcmp', proleakproof => 't', prorettype => 'int4',
  3708. proargtypes => 'varbit varbit', prosrc => 'bitcmp' },
  3709. # avoid the C names bitand and bitor, since they are C++ keywords
  3710. { oid => '1673',
  3711. proname => 'bitand', prorettype => 'bit', proargtypes => 'bit bit',
  3712. prosrc => 'bit_and' },
  3713. { oid => '1674',
  3714. proname => 'bitor', prorettype => 'bit', proargtypes => 'bit bit',
  3715. prosrc => 'bit_or' },
  3716. { oid => '1675',
  3717. proname => 'bitxor', prorettype => 'bit', proargtypes => 'bit bit',
  3718. prosrc => 'bitxor' },
  3719. { oid => '1676',
  3720. proname => 'bitnot', prorettype => 'bit', proargtypes => 'bit',
  3721. prosrc => 'bitnot' },
  3722. { oid => '1677',
  3723. proname => 'bitshiftleft', prorettype => 'bit', proargtypes => 'bit int4',
  3724. prosrc => 'bitshiftleft' },
  3725. { oid => '1678',
  3726. proname => 'bitshiftright', prorettype => 'bit', proargtypes => 'bit int4',
  3727. prosrc => 'bitshiftright' },
  3728. { oid => '1679',
  3729. proname => 'bitcat', prorettype => 'varbit', proargtypes => 'varbit varbit',
  3730. prosrc => 'bitcat' },
  3731. { oid => '1680', descr => 'extract portion of bitstring',
  3732. proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4 int4',
  3733. prosrc => 'bitsubstr' },
  3734. { oid => '1681', descr => 'bitstring length',
  3735. proname => 'length', prorettype => 'int4', proargtypes => 'bit',
  3736. prosrc => 'bitlength' },
  3737. { oid => '1682', descr => 'octet length',
  3738. proname => 'octet_length', prorettype => 'int4', proargtypes => 'bit',
  3739. prosrc => 'bitoctetlength' },
  3740. { oid => '1683', descr => 'convert int4 to bitstring',
  3741. proname => 'bit', prorettype => 'bit', proargtypes => 'int4 int4',
  3742. prosrc => 'bitfromint4' },
  3743. { oid => '1684', descr => 'convert bitstring to int4',
  3744. proname => 'int4', prorettype => 'int4', proargtypes => 'bit',
  3745. prosrc => 'bittoint4' },
  3746. { oid => '1685', descr => 'adjust bit() to typmod length',
  3747. proname => 'bit', prorettype => 'bit', proargtypes => 'bit int4 bool',
  3748. prosrc => 'bit' },
  3749. { oid => '3158', descr => 'planner support for varbit length coercion',
  3750. proname => 'varbit_support', prorettype => 'internal',
  3751. proargtypes => 'internal', prosrc => 'varbit_support' },
  3752. { oid => '1687', descr => 'adjust varbit() to typmod length',
  3753. proname => 'varbit', prosupport => 'varbit_support', prorettype => 'varbit',
  3754. proargtypes => 'varbit int4 bool', prosrc => 'varbit' },
  3755. { oid => '1698', descr => 'position of sub-bitstring',
  3756. proname => 'position', prorettype => 'int4', proargtypes => 'bit bit',
  3757. prosrc => 'bitposition' },
  3758. { oid => '1699', descr => 'extract portion of bitstring',
  3759. proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4',
  3760. prosrc => 'bitsubstr_no_len' },
  3761. { oid => '3030', descr => 'substitute portion of bitstring',
  3762. proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4 int4',
  3763. prosrc => 'bitoverlay' },
  3764. { oid => '3031', descr => 'substitute portion of bitstring',
  3765. proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4',
  3766. prosrc => 'bitoverlay_no_len' },
  3767. { oid => '3032', descr => 'get bit',
  3768. proname => 'get_bit', prorettype => 'int4', proargtypes => 'bit int4',
  3769. prosrc => 'bitgetbit' },
  3770. { oid => '3033', descr => 'set bit',
  3771. proname => 'set_bit', prorettype => 'bit', proargtypes => 'bit int4 int4',
  3772. prosrc => 'bitsetbit' },
  3773. { oid => '6162', descr => 'number of set bits',
  3774. proname => 'bit_count', prorettype => 'int8', proargtypes => 'bit',
  3775. prosrc => 'bit_bit_count' },
  3776. # for macaddr type support
  3777. { oid => '436', descr => 'I/O',
  3778. proname => 'macaddr_in', prorettype => 'macaddr', proargtypes => 'cstring',
  3779. prosrc => 'macaddr_in' },
  3780. { oid => '437', descr => 'I/O',
  3781. proname => 'macaddr_out', prorettype => 'cstring', proargtypes => 'macaddr',
  3782. prosrc => 'macaddr_out' },
  3783. { oid => '753', descr => 'MACADDR manufacturer fields',
  3784. proname => 'trunc', prorettype => 'macaddr', proargtypes => 'macaddr',
  3785. prosrc => 'macaddr_trunc' },
  3786. { oid => '830',
  3787. proname => 'macaddr_eq', proleakproof => 't', prorettype => 'bool',
  3788. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_eq' },
  3789. { oid => '831',
  3790. proname => 'macaddr_lt', proleakproof => 't', prorettype => 'bool',
  3791. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_lt' },
  3792. { oid => '832',
  3793. proname => 'macaddr_le', proleakproof => 't', prorettype => 'bool',
  3794. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_le' },
  3795. { oid => '833',
  3796. proname => 'macaddr_gt', proleakproof => 't', prorettype => 'bool',
  3797. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_gt' },
  3798. { oid => '834',
  3799. proname => 'macaddr_ge', proleakproof => 't', prorettype => 'bool',
  3800. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ge' },
  3801. { oid => '835',
  3802. proname => 'macaddr_ne', proleakproof => 't', prorettype => 'bool',
  3803. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ne' },
  3804. { oid => '836', descr => 'less-equal-greater',
  3805. proname => 'macaddr_cmp', proleakproof => 't', prorettype => 'int4',
  3806. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_cmp' },
  3807. { oid => '3144',
  3808. proname => 'macaddr_not', prorettype => 'macaddr', proargtypes => 'macaddr',
  3809. prosrc => 'macaddr_not' },
  3810. { oid => '3145',
  3811. proname => 'macaddr_and', prorettype => 'macaddr',
  3812. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_and' },
  3813. { oid => '3146',
  3814. proname => 'macaddr_or', prorettype => 'macaddr',
  3815. proargtypes => 'macaddr macaddr', prosrc => 'macaddr_or' },
  3816. { oid => '3359', descr => 'sort support',
  3817. proname => 'macaddr_sortsupport', prorettype => 'void',
  3818. proargtypes => 'internal', prosrc => 'macaddr_sortsupport' },
  3819. # for macaddr8 type support
  3820. { oid => '4110', descr => 'I/O',
  3821. proname => 'macaddr8_in', prorettype => 'macaddr8', proargtypes => 'cstring',
  3822. prosrc => 'macaddr8_in' },
  3823. { oid => '4111', descr => 'I/O',
  3824. proname => 'macaddr8_out', prorettype => 'cstring', proargtypes => 'macaddr8',
  3825. prosrc => 'macaddr8_out' },
  3826. { oid => '4112', descr => 'MACADDR8 manufacturer fields',
  3827. proname => 'trunc', prorettype => 'macaddr8', proargtypes => 'macaddr8',
  3828. prosrc => 'macaddr8_trunc' },
  3829. { oid => '4113',
  3830. proname => 'macaddr8_eq', proleakproof => 't', prorettype => 'bool',
  3831. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_eq' },
  3832. { oid => '4114',
  3833. proname => 'macaddr8_lt', proleakproof => 't', prorettype => 'bool',
  3834. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_lt' },
  3835. { oid => '4115',
  3836. proname => 'macaddr8_le', proleakproof => 't', prorettype => 'bool',
  3837. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_le' },
  3838. { oid => '4116',
  3839. proname => 'macaddr8_gt', proleakproof => 't', prorettype => 'bool',
  3840. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_gt' },
  3841. { oid => '4117',
  3842. proname => 'macaddr8_ge', proleakproof => 't', prorettype => 'bool',
  3843. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ge' },
  3844. { oid => '4118',
  3845. proname => 'macaddr8_ne', proleakproof => 't', prorettype => 'bool',
  3846. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ne' },
  3847. { oid => '4119', descr => 'less-equal-greater',
  3848. proname => 'macaddr8_cmp', proleakproof => 't', prorettype => 'int4',
  3849. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_cmp' },
  3850. { oid => '4120',
  3851. proname => 'macaddr8_not', prorettype => 'macaddr8',
  3852. proargtypes => 'macaddr8', prosrc => 'macaddr8_not' },
  3853. { oid => '4121',
  3854. proname => 'macaddr8_and', prorettype => 'macaddr8',
  3855. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_and' },
  3856. { oid => '4122',
  3857. proname => 'macaddr8_or', prorettype => 'macaddr8',
  3858. proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_or' },
  3859. { oid => '4123', descr => 'convert macaddr to macaddr8',
  3860. proname => 'macaddr8', proleakproof => 't', prorettype => 'macaddr8',
  3861. proargtypes => 'macaddr', prosrc => 'macaddrtomacaddr8' },
  3862. { oid => '4124', descr => 'convert macaddr8 to macaddr',
  3863. proname => 'macaddr', prorettype => 'macaddr', proargtypes => 'macaddr8',
  3864. prosrc => 'macaddr8tomacaddr' },
  3865. { oid => '4125', descr => 'set 7th bit in macaddr8',
  3866. proname => 'macaddr8_set7bit', prorettype => 'macaddr8',
  3867. proargtypes => 'macaddr8', prosrc => 'macaddr8_set7bit' },
  3868. # for inet type support
  3869. { oid => '910', descr => 'I/O',
  3870. proname => 'inet_in', prorettype => 'inet', proargtypes => 'cstring',
  3871. prosrc => 'inet_in' },
  3872. { oid => '911', descr => 'I/O',
  3873. proname => 'inet_out', prorettype => 'cstring', proargtypes => 'inet',
  3874. prosrc => 'inet_out' },
  3875. # for cidr type support
  3876. { oid => '1267', descr => 'I/O',
  3877. proname => 'cidr_in', prorettype => 'cidr', proargtypes => 'cstring',
  3878. prosrc => 'cidr_in' },
  3879. { oid => '1427', descr => 'I/O',
  3880. proname => 'cidr_out', prorettype => 'cstring', proargtypes => 'cidr',
  3881. prosrc => 'cidr_out' },
  3882. # these are used for both inet and cidr
  3883. { oid => '920',
  3884. proname => 'network_eq', proleakproof => 't', prorettype => 'bool',
  3885. proargtypes => 'inet inet', prosrc => 'network_eq' },
  3886. { oid => '921',
  3887. proname => 'network_lt', proleakproof => 't', prorettype => 'bool',
  3888. proargtypes => 'inet inet', prosrc => 'network_lt' },
  3889. { oid => '922',
  3890. proname => 'network_le', proleakproof => 't', prorettype => 'bool',
  3891. proargtypes => 'inet inet', prosrc => 'network_le' },
  3892. { oid => '923',
  3893. proname => 'network_gt', proleakproof => 't', prorettype => 'bool',
  3894. proargtypes => 'inet inet', prosrc => 'network_gt' },
  3895. { oid => '924',
  3896. proname => 'network_ge', proleakproof => 't', prorettype => 'bool',
  3897. proargtypes => 'inet inet', prosrc => 'network_ge' },
  3898. { oid => '925',
  3899. proname => 'network_ne', proleakproof => 't', prorettype => 'bool',
  3900. proargtypes => 'inet inet', prosrc => 'network_ne' },
  3901. { oid => '3562', descr => 'larger of two',
  3902. proname => 'network_larger', prorettype => 'inet', proargtypes => 'inet inet',
  3903. prosrc => 'network_larger' },
  3904. { oid => '3563', descr => 'smaller of two',
  3905. proname => 'network_smaller', prorettype => 'inet',
  3906. proargtypes => 'inet inet', prosrc => 'network_smaller' },
  3907. { oid => '926', descr => 'less-equal-greater',
  3908. proname => 'network_cmp', proleakproof => 't', prorettype => 'int4',
  3909. proargtypes => 'inet inet', prosrc => 'network_cmp' },
  3910. { oid => '927',
  3911. proname => 'network_sub', prosupport => 'network_subset_support',
  3912. prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_sub' },
  3913. { oid => '928',
  3914. proname => 'network_subeq', prosupport => 'network_subset_support',
  3915. prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_subeq' },
  3916. { oid => '929',
  3917. proname => 'network_sup', prosupport => 'network_subset_support',
  3918. prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_sup' },
  3919. { oid => '930',
  3920. proname => 'network_supeq', prosupport => 'network_subset_support',
  3921. prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_supeq' },
  3922. { oid => '1173', descr => 'planner support for network_sub/superset',
  3923. proname => 'network_subset_support', prorettype => 'internal',
  3924. proargtypes => 'internal', prosrc => 'network_subset_support' },
  3925. { oid => '3551',
  3926. proname => 'network_overlap', prorettype => 'bool',
  3927. proargtypes => 'inet inet', prosrc => 'network_overlap' },
  3928. { oid => '5033', descr => 'sort support',
  3929. proname => 'network_sortsupport', prorettype => 'void',
  3930. proargtypes => 'internal', prosrc => 'network_sortsupport' },
  3931. # inet/cidr functions
  3932. { oid => '598', descr => 'abbreviated display of inet value',
  3933. proname => 'abbrev', prorettype => 'text', proargtypes => 'inet',
  3934. prosrc => 'inet_abbrev' },
  3935. { oid => '599', descr => 'abbreviated display of cidr value',
  3936. proname => 'abbrev', prorettype => 'text', proargtypes => 'cidr',
  3937. prosrc => 'cidr_abbrev' },
  3938. { oid => '605', descr => 'change netmask of inet',
  3939. proname => 'set_masklen', prorettype => 'inet', proargtypes => 'inet int4',
  3940. prosrc => 'inet_set_masklen' },
  3941. { oid => '635', descr => 'change netmask of cidr',
  3942. proname => 'set_masklen', prorettype => 'cidr', proargtypes => 'cidr int4',
  3943. prosrc => 'cidr_set_masklen' },
  3944. { oid => '711', descr => 'address family (4 for IPv4, 6 for IPv6)',
  3945. proname => 'family', prorettype => 'int4', proargtypes => 'inet',
  3946. prosrc => 'network_family' },
  3947. { oid => '683', descr => 'network part of address',
  3948. proname => 'network', prorettype => 'cidr', proargtypes => 'inet',
  3949. prosrc => 'network_network' },
  3950. { oid => '696', descr => 'netmask of address',
  3951. proname => 'netmask', prorettype => 'inet', proargtypes => 'inet',
  3952. prosrc => 'network_netmask' },
  3953. { oid => '697', descr => 'netmask length',
  3954. proname => 'masklen', prorettype => 'int4', proargtypes => 'inet',
  3955. prosrc => 'network_masklen' },
  3956. { oid => '698', descr => 'broadcast address of network',
  3957. proname => 'broadcast', prorettype => 'inet', proargtypes => 'inet',
  3958. prosrc => 'network_broadcast' },
  3959. { oid => '699', descr => 'show address octets only',
  3960. proname => 'host', prorettype => 'text', proargtypes => 'inet',
  3961. prosrc => 'network_host' },
  3962. { oid => '730', descr => 'show all parts of inet/cidr value',
  3963. proname => 'text', prorettype => 'text', proargtypes => 'inet',
  3964. prosrc => 'network_show' },
  3965. { oid => '1362', descr => 'hostmask of address',
  3966. proname => 'hostmask', prorettype => 'inet', proargtypes => 'inet',
  3967. prosrc => 'network_hostmask' },
  3968. { oid => '1715', descr => 'convert inet to cidr',
  3969. proname => 'cidr', prorettype => 'cidr', proargtypes => 'inet',
  3970. prosrc => 'inet_to_cidr' },
  3971. { oid => '2196', descr => 'inet address of the client',
  3972. proname => 'inet_client_addr', proisstrict => 'f', provolatile => 's',
  3973. proparallel => 'r', prorettype => 'inet', proargtypes => '',
  3974. prosrc => 'inet_client_addr' },
  3975. { oid => '2197', descr => 'client\'s port number for this connection',
  3976. proname => 'inet_client_port', proisstrict => 'f', provolatile => 's',
  3977. proparallel => 'r', prorettype => 'int4', proargtypes => '',
  3978. prosrc => 'inet_client_port' },
  3979. { oid => '2198', descr => 'inet address of the server',
  3980. proname => 'inet_server_addr', proisstrict => 'f', provolatile => 's',
  3981. proparallel => 'r', prorettype => 'inet', proargtypes => '',
  3982. prosrc => 'inet_server_addr' },
  3983. { oid => '2199', descr => 'server\'s port number for this connection',
  3984. proname => 'inet_server_port', proisstrict => 'f', provolatile => 's',
  3985. proparallel => 'r', prorettype => 'int4', proargtypes => '',
  3986. prosrc => 'inet_server_port' },
  3987. { oid => '2627',
  3988. proname => 'inetnot', prorettype => 'inet', proargtypes => 'inet',
  3989. prosrc => 'inetnot' },
  3990. { oid => '2628',
  3991. proname => 'inetand', prorettype => 'inet', proargtypes => 'inet inet',
  3992. prosrc => 'inetand' },
  3993. { oid => '2629',
  3994. proname => 'inetor', prorettype => 'inet', proargtypes => 'inet inet',
  3995. prosrc => 'inetor' },
  3996. { oid => '2630',
  3997. proname => 'inetpl', prorettype => 'inet', proargtypes => 'inet int8',
  3998. prosrc => 'inetpl' },
  3999. { oid => '2631',
  4000. proname => 'int8pl_inet', prolang => 'sql', prorettype => 'inet',
  4001. proargtypes => 'int8 inet', prosrc => 'see system_functions.sql' },
  4002. { oid => '2632',
  4003. proname => 'inetmi_int8', prorettype => 'inet', proargtypes => 'inet int8',
  4004. prosrc => 'inetmi_int8' },
  4005. { oid => '2633',
  4006. proname => 'inetmi', prorettype => 'int8', proargtypes => 'inet inet',
  4007. prosrc => 'inetmi' },
  4008. { oid => '4071', descr => 'are the addresses from the same family?',
  4009. proname => 'inet_same_family', prorettype => 'bool',
  4010. proargtypes => 'inet inet', prosrc => 'inet_same_family' },
  4011. { oid => '4063',
  4012. descr => 'the smallest network which includes both of the given networks',
  4013. proname => 'inet_merge', prorettype => 'cidr', proargtypes => 'inet inet',
  4014. prosrc => 'inet_merge' },
  4015. # GiST support for inet and cidr
  4016. { oid => '3553', descr => 'GiST support',
  4017. proname => 'inet_gist_consistent', prorettype => 'bool',
  4018. proargtypes => 'internal inet int2 oid internal',
  4019. prosrc => 'inet_gist_consistent' },
  4020. { oid => '3554', descr => 'GiST support',
  4021. proname => 'inet_gist_union', prorettype => 'inet',
  4022. proargtypes => 'internal internal', prosrc => 'inet_gist_union' },
  4023. { oid => '3555', descr => 'GiST support',
  4024. proname => 'inet_gist_compress', prorettype => 'internal',
  4025. proargtypes => 'internal', prosrc => 'inet_gist_compress' },
  4026. { oid => '3573', descr => 'GiST support',
  4027. proname => 'inet_gist_fetch', prorettype => 'internal',
  4028. proargtypes => 'internal', prosrc => 'inet_gist_fetch' },
  4029. { oid => '3557', descr => 'GiST support',
  4030. proname => 'inet_gist_penalty', prorettype => 'internal',
  4031. proargtypes => 'internal internal internal', prosrc => 'inet_gist_penalty' },
  4032. { oid => '3558', descr => 'GiST support',
  4033. proname => 'inet_gist_picksplit', prorettype => 'internal',
  4034. proargtypes => 'internal internal', prosrc => 'inet_gist_picksplit' },
  4035. { oid => '3559', descr => 'GiST support',
  4036. proname => 'inet_gist_same', prorettype => 'internal',
  4037. proargtypes => 'inet inet internal', prosrc => 'inet_gist_same' },
  4038. # SP-GiST support for inet and cidr
  4039. { oid => '3795', descr => 'SP-GiST support',
  4040. proname => 'inet_spg_config', prorettype => 'void',
  4041. proargtypes => 'internal internal', prosrc => 'inet_spg_config' },
  4042. { oid => '3796', descr => 'SP-GiST support',
  4043. proname => 'inet_spg_choose', prorettype => 'void',
  4044. proargtypes => 'internal internal', prosrc => 'inet_spg_choose' },
  4045. { oid => '3797', descr => 'SP-GiST support',
  4046. proname => 'inet_spg_picksplit', prorettype => 'void',
  4047. proargtypes => 'internal internal', prosrc => 'inet_spg_picksplit' },
  4048. { oid => '3798', descr => 'SP-GiST support',
  4049. proname => 'inet_spg_inner_consistent', prorettype => 'void',
  4050. proargtypes => 'internal internal', prosrc => 'inet_spg_inner_consistent' },
  4051. { oid => '3799', descr => 'SP-GiST support',
  4052. proname => 'inet_spg_leaf_consistent', prorettype => 'bool',
  4053. proargtypes => 'internal internal', prosrc => 'inet_spg_leaf_consistent' },
  4054. # Selectivity estimation for inet and cidr
  4055. { oid => '3560', descr => 'restriction selectivity for network operators',
  4056. proname => 'networksel', provolatile => 's', prorettype => 'float8',
  4057. proargtypes => 'internal oid internal int4', prosrc => 'networksel' },
  4058. { oid => '3561', descr => 'join selectivity for network operators',
  4059. proname => 'networkjoinsel', provolatile => 's', prorettype => 'float8',
  4060. proargtypes => 'internal oid internal int2 internal',
  4061. prosrc => 'networkjoinsel' },
  4062. { oid => '1690',
  4063. proname => 'time_mi_time', prorettype => 'interval',
  4064. proargtypes => 'time time', prosrc => 'time_mi_time' },
  4065. { oid => '1691',
  4066. proname => 'boolle', proleakproof => 't', prorettype => 'bool',
  4067. proargtypes => 'bool bool', prosrc => 'boolle' },
  4068. { oid => '1692',
  4069. proname => 'boolge', proleakproof => 't', prorettype => 'bool',
  4070. proargtypes => 'bool bool', prosrc => 'boolge' },
  4071. { oid => '1693', descr => 'less-equal-greater',
  4072. proname => 'btboolcmp', proleakproof => 't', prorettype => 'int4',
  4073. proargtypes => 'bool bool', prosrc => 'btboolcmp' },
  4074. { oid => '1688', descr => 'hash',
  4075. proname => 'time_hash', prorettype => 'int4', proargtypes => 'time',
  4076. prosrc => 'time_hash' },
  4077. { oid => '3409', descr => 'hash',
  4078. proname => 'time_hash_extended', prorettype => 'int8',
  4079. proargtypes => 'time int8', prosrc => 'time_hash_extended' },
  4080. { oid => '1696', descr => 'hash',
  4081. proname => 'timetz_hash', prorettype => 'int4', proargtypes => 'timetz',
  4082. prosrc => 'timetz_hash' },
  4083. { oid => '3410', descr => 'hash',
  4084. proname => 'timetz_hash_extended', prorettype => 'int8',
  4085. proargtypes => 'timetz int8', prosrc => 'timetz_hash_extended' },
  4086. { oid => '1697', descr => 'hash',
  4087. proname => 'interval_hash', prorettype => 'int4', proargtypes => 'interval',
  4088. prosrc => 'interval_hash' },
  4089. { oid => '3418', descr => 'hash',
  4090. proname => 'interval_hash_extended', prorettype => 'int8',
  4091. proargtypes => 'interval int8', prosrc => 'interval_hash_extended' },
  4092. # OID's 1700 - 1799 NUMERIC data type
  4093. { oid => '1701', descr => 'I/O',
  4094. proname => 'numeric_in', prorettype => 'numeric',
  4095. proargtypes => 'cstring oid int4', prosrc => 'numeric_in' },
  4096. { oid => '1702', descr => 'I/O',
  4097. proname => 'numeric_out', prorettype => 'cstring', proargtypes => 'numeric',
  4098. prosrc => 'numeric_out' },
  4099. { oid => '2917', descr => 'I/O typmod',
  4100. proname => 'numerictypmodin', prorettype => 'int4', proargtypes => '_cstring',
  4101. prosrc => 'numerictypmodin' },
  4102. { oid => '2918', descr => 'I/O typmod',
  4103. proname => 'numerictypmodout', prorettype => 'cstring', proargtypes => 'int4',
  4104. prosrc => 'numerictypmodout' },
  4105. { oid => '3157', descr => 'planner support for numeric length coercion',
  4106. proname => 'numeric_support', prorettype => 'internal',
  4107. proargtypes => 'internal', prosrc => 'numeric_support' },
  4108. { oid => '1703', descr => 'adjust numeric to typmod precision/scale',
  4109. proname => 'numeric', prosupport => 'numeric_support',
  4110. prorettype => 'numeric', proargtypes => 'numeric int4', prosrc => 'numeric' },
  4111. { oid => '1704',
  4112. proname => 'numeric_abs', prorettype => 'numeric', proargtypes => 'numeric',
  4113. prosrc => 'numeric_abs' },
  4114. { oid => '1705', descr => 'absolute value',
  4115. proname => 'abs', prorettype => 'numeric', proargtypes => 'numeric',
  4116. prosrc => 'numeric_abs' },
  4117. { oid => '1706', descr => 'sign of value',
  4118. proname => 'sign', prorettype => 'numeric', proargtypes => 'numeric',
  4119. prosrc => 'numeric_sign' },
  4120. { oid => '1707', descr => 'value rounded to \'scale\'',
  4121. proname => 'round', prorettype => 'numeric', proargtypes => 'numeric int4',
  4122. prosrc => 'numeric_round' },
  4123. { oid => '1708', descr => 'value rounded to \'scale\' of zero',
  4124. proname => 'round', prolang => 'sql', prorettype => 'numeric',
  4125. proargtypes => 'numeric', prosrc => 'see system_functions.sql' },
  4126. { oid => '1709', descr => 'value truncated to \'scale\'',
  4127. proname => 'trunc', prorettype => 'numeric', proargtypes => 'numeric int4',
  4128. prosrc => 'numeric_trunc' },
  4129. { oid => '1710', descr => 'value truncated to \'scale\' of zero',
  4130. proname => 'trunc', prolang => 'sql', prorettype => 'numeric',
  4131. proargtypes => 'numeric', prosrc => 'see system_functions.sql' },
  4132. { oid => '1711', descr => 'nearest integer >= value',
  4133. proname => 'ceil', prorettype => 'numeric', proargtypes => 'numeric',
  4134. prosrc => 'numeric_ceil' },
  4135. { oid => '2167', descr => 'nearest integer >= value',
  4136. proname => 'ceiling', prorettype => 'numeric', proargtypes => 'numeric',
  4137. prosrc => 'numeric_ceil' },
  4138. { oid => '1712', descr => 'nearest integer <= value',
  4139. proname => 'floor', prorettype => 'numeric', proargtypes => 'numeric',
  4140. prosrc => 'numeric_floor' },
  4141. { oid => '1718',
  4142. proname => 'numeric_eq', prorettype => 'bool',
  4143. proargtypes => 'numeric numeric', prosrc => 'numeric_eq' },
  4144. { oid => '1719',
  4145. proname => 'numeric_ne', prorettype => 'bool',
  4146. proargtypes => 'numeric numeric', prosrc => 'numeric_ne' },
  4147. { oid => '1720',
  4148. proname => 'numeric_gt', prorettype => 'bool',
  4149. proargtypes => 'numeric numeric', prosrc => 'numeric_gt' },
  4150. { oid => '1721',
  4151. proname => 'numeric_ge', prorettype => 'bool',
  4152. proargtypes => 'numeric numeric', prosrc => 'numeric_ge' },
  4153. { oid => '1722',
  4154. proname => 'numeric_lt', prorettype => 'bool',
  4155. proargtypes => 'numeric numeric', prosrc => 'numeric_lt' },
  4156. { oid => '1723',
  4157. proname => 'numeric_le', prorettype => 'bool',
  4158. proargtypes => 'numeric numeric', prosrc => 'numeric_le' },
  4159. { oid => '1724',
  4160. proname => 'numeric_add', prorettype => 'numeric',
  4161. proargtypes => 'numeric numeric', prosrc => 'numeric_add' },
  4162. { oid => '1725',
  4163. proname => 'numeric_sub', prorettype => 'numeric',
  4164. proargtypes => 'numeric numeric', prosrc => 'numeric_sub' },
  4165. { oid => '1726',
  4166. proname => 'numeric_mul', prorettype => 'numeric',
  4167. proargtypes => 'numeric numeric', prosrc => 'numeric_mul' },
  4168. { oid => '1727',
  4169. proname => 'numeric_div', prorettype => 'numeric',
  4170. proargtypes => 'numeric numeric', prosrc => 'numeric_div' },
  4171. { oid => '1728', descr => 'modulus',
  4172. proname => 'mod', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4173. prosrc => 'numeric_mod' },
  4174. { oid => '1729',
  4175. proname => 'numeric_mod', prorettype => 'numeric',
  4176. proargtypes => 'numeric numeric', prosrc => 'numeric_mod' },
  4177. { oid => '5048', descr => 'greatest common divisor',
  4178. proname => 'gcd', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4179. prosrc => 'numeric_gcd' },
  4180. { oid => '5049', descr => 'least common multiple',
  4181. proname => 'lcm', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4182. prosrc => 'numeric_lcm' },
  4183. { oid => '1730', descr => 'square root',
  4184. proname => 'sqrt', prorettype => 'numeric', proargtypes => 'numeric',
  4185. prosrc => 'numeric_sqrt' },
  4186. { oid => '1731', descr => 'square root',
  4187. proname => 'numeric_sqrt', prorettype => 'numeric', proargtypes => 'numeric',
  4188. prosrc => 'numeric_sqrt' },
  4189. { oid => '1732', descr => 'natural exponential (e^x)',
  4190. proname => 'exp', prorettype => 'numeric', proargtypes => 'numeric',
  4191. prosrc => 'numeric_exp' },
  4192. { oid => '1733', descr => 'natural exponential (e^x)',
  4193. proname => 'numeric_exp', prorettype => 'numeric', proargtypes => 'numeric',
  4194. prosrc => 'numeric_exp' },
  4195. { oid => '1734', descr => 'natural logarithm',
  4196. proname => 'ln', prorettype => 'numeric', proargtypes => 'numeric',
  4197. prosrc => 'numeric_ln' },
  4198. { oid => '1735', descr => 'natural logarithm',
  4199. proname => 'numeric_ln', prorettype => 'numeric', proargtypes => 'numeric',
  4200. prosrc => 'numeric_ln' },
  4201. { oid => '1736', descr => 'logarithm base m of n',
  4202. proname => 'log', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4203. prosrc => 'numeric_log' },
  4204. { oid => '1737', descr => 'logarithm base m of n',
  4205. proname => 'numeric_log', prorettype => 'numeric',
  4206. proargtypes => 'numeric numeric', prosrc => 'numeric_log' },
  4207. { oid => '1738', descr => 'exponentiation',
  4208. proname => 'pow', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4209. prosrc => 'numeric_power' },
  4210. { oid => '2169', descr => 'exponentiation',
  4211. proname => 'power', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4212. prosrc => 'numeric_power' },
  4213. { oid => '1739',
  4214. proname => 'numeric_power', prorettype => 'numeric',
  4215. proargtypes => 'numeric numeric', prosrc => 'numeric_power' },
  4216. { oid => '3281', descr => 'number of decimal digits in the fractional part',
  4217. proname => 'scale', prorettype => 'int4', proargtypes => 'numeric',
  4218. prosrc => 'numeric_scale' },
  4219. { oid => '5042', descr => 'minimum scale needed to represent the value',
  4220. proname => 'min_scale', prorettype => 'int4', proargtypes => 'numeric',
  4221. prosrc => 'numeric_min_scale' },
  4222. { oid => '5043',
  4223. descr => 'numeric with minimum scale needed to represent the value',
  4224. proname => 'trim_scale', prorettype => 'numeric', proargtypes => 'numeric',
  4225. prosrc => 'numeric_trim_scale' },
  4226. { oid => '1740', descr => 'convert int4 to numeric',
  4227. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4228. proargtypes => 'int4', prosrc => 'int4_numeric' },
  4229. { oid => '1741', descr => 'base 10 logarithm',
  4230. proname => 'log', prolang => 'sql', prorettype => 'numeric',
  4231. proargtypes => 'numeric', prosrc => 'see system_functions.sql' },
  4232. { oid => '1481', descr => 'base 10 logarithm',
  4233. proname => 'log10', prolang => 'sql', prorettype => 'numeric',
  4234. proargtypes => 'numeric', prosrc => 'see system_functions.sql' },
  4235. { oid => '1742', descr => 'convert float4 to numeric',
  4236. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4237. proargtypes => 'float4', prosrc => 'float4_numeric' },
  4238. { oid => '1743', descr => 'convert float8 to numeric',
  4239. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4240. proargtypes => 'float8', prosrc => 'float8_numeric' },
  4241. { oid => '1744', descr => 'convert numeric to int4',
  4242. proname => 'int4', prorettype => 'int4', proargtypes => 'numeric',
  4243. prosrc => 'numeric_int4' },
  4244. { oid => '1745', descr => 'convert numeric to float4',
  4245. proname => 'float4', prorettype => 'float4', proargtypes => 'numeric',
  4246. prosrc => 'numeric_float4' },
  4247. { oid => '1746', descr => 'convert numeric to float8',
  4248. proname => 'float8', prorettype => 'float8', proargtypes => 'numeric',
  4249. prosrc => 'numeric_float8' },
  4250. { oid => '1973', descr => 'trunc(x/y)',
  4251. proname => 'div', prorettype => 'numeric', proargtypes => 'numeric numeric',
  4252. prosrc => 'numeric_div_trunc' },
  4253. { oid => '1980', descr => 'trunc(x/y)',
  4254. proname => 'numeric_div_trunc', prorettype => 'numeric',
  4255. proargtypes => 'numeric numeric', prosrc => 'numeric_div_trunc' },
  4256. { oid => '2170', descr => 'bucket number of operand in equal-width histogram',
  4257. proname => 'width_bucket', prorettype => 'int4',
  4258. proargtypes => 'numeric numeric numeric int4',
  4259. prosrc => 'width_bucket_numeric' },
  4260. { oid => '1747',
  4261. proname => 'time_pl_interval', prorettype => 'time',
  4262. proargtypes => 'time interval', prosrc => 'time_pl_interval' },
  4263. { oid => '1748',
  4264. proname => 'time_mi_interval', prorettype => 'time',
  4265. proargtypes => 'time interval', prosrc => 'time_mi_interval' },
  4266. { oid => '1749',
  4267. proname => 'timetz_pl_interval', prorettype => 'timetz',
  4268. proargtypes => 'timetz interval', prosrc => 'timetz_pl_interval' },
  4269. { oid => '1750',
  4270. proname => 'timetz_mi_interval', prorettype => 'timetz',
  4271. proargtypes => 'timetz interval', prosrc => 'timetz_mi_interval' },
  4272. { oid => '1764', descr => 'increment by one',
  4273. proname => 'numeric_inc', prorettype => 'numeric', proargtypes => 'numeric',
  4274. prosrc => 'numeric_inc' },
  4275. { oid => '1766', descr => 'smaller of two',
  4276. proname => 'numeric_smaller', prorettype => 'numeric',
  4277. proargtypes => 'numeric numeric', prosrc => 'numeric_smaller' },
  4278. { oid => '1767', descr => 'larger of two',
  4279. proname => 'numeric_larger', prorettype => 'numeric',
  4280. proargtypes => 'numeric numeric', prosrc => 'numeric_larger' },
  4281. { oid => '1769', descr => 'less-equal-greater',
  4282. proname => 'numeric_cmp', prorettype => 'int4',
  4283. proargtypes => 'numeric numeric', prosrc => 'numeric_cmp' },
  4284. { oid => '3283', descr => 'sort support',
  4285. proname => 'numeric_sortsupport', prorettype => 'void',
  4286. proargtypes => 'internal', prosrc => 'numeric_sortsupport' },
  4287. { oid => '1771',
  4288. proname => 'numeric_uminus', prorettype => 'numeric',
  4289. proargtypes => 'numeric', prosrc => 'numeric_uminus' },
  4290. { oid => '1779', descr => 'convert numeric to int8',
  4291. proname => 'int8', prorettype => 'int8', proargtypes => 'numeric',
  4292. prosrc => 'numeric_int8' },
  4293. { oid => '1781', descr => 'convert int8 to numeric',
  4294. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4295. proargtypes => 'int8', prosrc => 'int8_numeric' },
  4296. { oid => '1782', descr => 'convert int2 to numeric',
  4297. proname => 'numeric', proleakproof => 't', prorettype => 'numeric',
  4298. proargtypes => 'int2', prosrc => 'int2_numeric' },
  4299. { oid => '1783', descr => 'convert numeric to int2',
  4300. proname => 'int2', prorettype => 'int2', proargtypes => 'numeric',
  4301. prosrc => 'numeric_int2' },
  4302. { oid => '6103', descr => 'convert numeric to pg_lsn',
  4303. proname => 'pg_lsn', prorettype => 'pg_lsn', proargtypes => 'numeric',
  4304. prosrc => 'numeric_pg_lsn' },
  4305. { oid => '3556', descr => 'convert jsonb to boolean',
  4306. proname => 'bool', prorettype => 'bool', proargtypes => 'jsonb',
  4307. prosrc => 'jsonb_bool' },
  4308. { oid => '3449', descr => 'convert jsonb to numeric',
  4309. proname => 'numeric', prorettype => 'numeric', proargtypes => 'jsonb',
  4310. prosrc => 'jsonb_numeric' },
  4311. { oid => '3450', descr => 'convert jsonb to int2',
  4312. proname => 'int2', prorettype => 'int2', proargtypes => 'jsonb',
  4313. prosrc => 'jsonb_int2' },
  4314. { oid => '3451', descr => 'convert jsonb to int4',
  4315. proname => 'int4', prorettype => 'int4', proargtypes => 'jsonb',
  4316. prosrc => 'jsonb_int4' },
  4317. { oid => '3452', descr => 'convert jsonb to int8',
  4318. proname => 'int8', prorettype => 'int8', proargtypes => 'jsonb',
  4319. prosrc => 'jsonb_int8' },
  4320. { oid => '3453', descr => 'convert jsonb to float4',
  4321. proname => 'float4', prorettype => 'float4', proargtypes => 'jsonb',
  4322. prosrc => 'jsonb_float4' },
  4323. { oid => '2580', descr => 'convert jsonb to float8',
  4324. proname => 'float8', prorettype => 'float8', proargtypes => 'jsonb',
  4325. prosrc => 'jsonb_float8' },
  4326. # formatting
  4327. { oid => '1770', descr => 'format timestamp with time zone to text',
  4328. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4329. proargtypes => 'timestamptz text', prosrc => 'timestamptz_to_char' },
  4330. { oid => '1772', descr => 'format numeric to text',
  4331. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4332. proargtypes => 'numeric text', prosrc => 'numeric_to_char' },
  4333. { oid => '1773', descr => 'format int4 to text',
  4334. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4335. proargtypes => 'int4 text', prosrc => 'int4_to_char' },
  4336. { oid => '1774', descr => 'format int8 to text',
  4337. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4338. proargtypes => 'int8 text', prosrc => 'int8_to_char' },
  4339. { oid => '1775', descr => 'format float4 to text',
  4340. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4341. proargtypes => 'float4 text', prosrc => 'float4_to_char' },
  4342. { oid => '1776', descr => 'format float8 to text',
  4343. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4344. proargtypes => 'float8 text', prosrc => 'float8_to_char' },
  4345. { oid => '1777', descr => 'convert text to numeric',
  4346. proname => 'to_number', provolatile => 's', prorettype => 'numeric',
  4347. proargtypes => 'text text', prosrc => 'numeric_to_number' },
  4348. { oid => '1778', descr => 'convert text to timestamp with time zone',
  4349. proname => 'to_timestamp', provolatile => 's', prorettype => 'timestamptz',
  4350. proargtypes => 'text text', prosrc => 'to_timestamp' },
  4351. { oid => '1780', descr => 'convert text to date',
  4352. proname => 'to_date', provolatile => 's', prorettype => 'date',
  4353. proargtypes => 'text text', prosrc => 'to_date' },
  4354. { oid => '1768', descr => 'format interval to text',
  4355. proname => 'to_char', provolatile => 's', prorettype => 'text',
  4356. proargtypes => 'interval text', prosrc => 'interval_to_char' },
  4357. { oid => '1282', descr => 'quote an identifier for usage in a querystring',
  4358. proname => 'quote_ident', prorettype => 'text', proargtypes => 'text',
  4359. prosrc => 'quote_ident' },
  4360. { oid => '1283', descr => 'quote a literal for usage in a querystring',
  4361. proname => 'quote_literal', prorettype => 'text', proargtypes => 'text',
  4362. prosrc => 'quote_literal' },
  4363. { oid => '1285', descr => 'quote a data value for usage in a querystring',
  4364. proname => 'quote_literal', prolang => 'sql', provolatile => 's',
  4365. prorettype => 'text', proargtypes => 'anyelement',
  4366. prosrc => 'select pg_catalog.quote_literal($1::pg_catalog.text)' },
  4367. { oid => '1289',
  4368. descr => 'quote a possibly-null literal for usage in a querystring',
  4369. proname => 'quote_nullable', proisstrict => 'f', prorettype => 'text',
  4370. proargtypes => 'text', prosrc => 'quote_nullable' },
  4371. { oid => '1290',
  4372. descr => 'quote a possibly-null data value for usage in a querystring',
  4373. proname => 'quote_nullable', prolang => 'sql', proisstrict => 'f',
  4374. provolatile => 's', prorettype => 'text', proargtypes => 'anyelement',
  4375. prosrc => 'select pg_catalog.quote_nullable($1::pg_catalog.text)' },
  4376. { oid => '1798', descr => 'I/O',
  4377. proname => 'oidin', prorettype => 'oid', proargtypes => 'cstring',
  4378. prosrc => 'oidin' },
  4379. { oid => '1799', descr => 'I/O',
  4380. proname => 'oidout', prorettype => 'cstring', proargtypes => 'oid',
  4381. prosrc => 'oidout' },
  4382. { oid => '3058', descr => 'concatenate values',
  4383. proname => 'concat', provariadic => 'any', proisstrict => 'f',
  4384. provolatile => 's', prorettype => 'text', proargtypes => 'any',
  4385. proallargtypes => '{any}', proargmodes => '{v}', prosrc => 'text_concat' },
  4386. { oid => '3059', descr => 'concatenate values with separators',
  4387. proname => 'concat_ws', provariadic => 'any', proisstrict => 'f',
  4388. provolatile => 's', prorettype => 'text', proargtypes => 'text any',
  4389. proallargtypes => '{text,any}', proargmodes => '{i,v}',
  4390. prosrc => 'text_concat_ws' },
  4391. { oid => '3060', descr => 'extract the first n characters',
  4392. proname => 'left', prorettype => 'text', proargtypes => 'text int4',
  4393. prosrc => 'text_left' },
  4394. { oid => '3061', descr => 'extract the last n characters',
  4395. proname => 'right', prorettype => 'text', proargtypes => 'text int4',
  4396. prosrc => 'text_right' },
  4397. { oid => '3062', descr => 'reverse text',
  4398. proname => 'reverse', prorettype => 'text', proargtypes => 'text',
  4399. prosrc => 'text_reverse' },
  4400. { oid => '3539', descr => 'format text message',
  4401. proname => 'format', provariadic => 'any', proisstrict => 'f',
  4402. provolatile => 's', prorettype => 'text', proargtypes => 'text any',
  4403. proallargtypes => '{text,any}', proargmodes => '{i,v}',
  4404. prosrc => 'text_format' },
  4405. { oid => '3540', descr => 'format text message',
  4406. proname => 'format', proisstrict => 'f', provolatile => 's',
  4407. prorettype => 'text', proargtypes => 'text', prosrc => 'text_format_nv' },
  4408. { oid => '1810', descr => 'length in bits',
  4409. proname => 'bit_length', prolang => 'sql', prorettype => 'int4',
  4410. proargtypes => 'bytea', prosrc => 'see system_functions.sql' },
  4411. { oid => '1811', descr => 'length in bits',
  4412. proname => 'bit_length', prolang => 'sql', prorettype => 'int4',
  4413. proargtypes => 'text', prosrc => 'see system_functions.sql' },
  4414. { oid => '1812', descr => 'length in bits',
  4415. proname => 'bit_length', prolang => 'sql', prorettype => 'int4',
  4416. proargtypes => 'bit', prosrc => 'see system_functions.sql' },
  4417. # Selectivity estimators for LIKE and related operators
  4418. { oid => '1814', descr => 'restriction selectivity of ILIKE',
  4419. proname => 'iclikesel', provolatile => 's', prorettype => 'float8',
  4420. proargtypes => 'internal oid internal int4', prosrc => 'iclikesel' },
  4421. { oid => '1815', descr => 'restriction selectivity of NOT ILIKE',
  4422. proname => 'icnlikesel', provolatile => 's', prorettype => 'float8',
  4423. proargtypes => 'internal oid internal int4', prosrc => 'icnlikesel' },
  4424. { oid => '1816', descr => 'join selectivity of ILIKE',
  4425. proname => 'iclikejoinsel', provolatile => 's', prorettype => 'float8',
  4426. proargtypes => 'internal oid internal int2 internal',
  4427. prosrc => 'iclikejoinsel' },
  4428. { oid => '1817', descr => 'join selectivity of NOT ILIKE',
  4429. proname => 'icnlikejoinsel', provolatile => 's', prorettype => 'float8',
  4430. proargtypes => 'internal oid internal int2 internal',
  4431. prosrc => 'icnlikejoinsel' },
  4432. { oid => '1818', descr => 'restriction selectivity of regex match',
  4433. proname => 'regexeqsel', provolatile => 's', prorettype => 'float8',
  4434. proargtypes => 'internal oid internal int4', prosrc => 'regexeqsel' },
  4435. { oid => '1819', descr => 'restriction selectivity of LIKE',
  4436. proname => 'likesel', provolatile => 's', prorettype => 'float8',
  4437. proargtypes => 'internal oid internal int4', prosrc => 'likesel' },
  4438. { oid => '1820',
  4439. descr => 'restriction selectivity of case-insensitive regex match',
  4440. proname => 'icregexeqsel', provolatile => 's', prorettype => 'float8',
  4441. proargtypes => 'internal oid internal int4', prosrc => 'icregexeqsel' },
  4442. { oid => '1821', descr => 'restriction selectivity of regex non-match',
  4443. proname => 'regexnesel', provolatile => 's', prorettype => 'float8',
  4444. proargtypes => 'internal oid internal int4', prosrc => 'regexnesel' },
  4445. { oid => '1822', descr => 'restriction selectivity of NOT LIKE',
  4446. proname => 'nlikesel', provolatile => 's', prorettype => 'float8',
  4447. proargtypes => 'internal oid internal int4', prosrc => 'nlikesel' },
  4448. { oid => '1823',
  4449. descr => 'restriction selectivity of case-insensitive regex non-match',
  4450. proname => 'icregexnesel', provolatile => 's', prorettype => 'float8',
  4451. proargtypes => 'internal oid internal int4', prosrc => 'icregexnesel' },
  4452. { oid => '1824', descr => 'join selectivity of regex match',
  4453. proname => 'regexeqjoinsel', provolatile => 's', prorettype => 'float8',
  4454. proargtypes => 'internal oid internal int2 internal',
  4455. prosrc => 'regexeqjoinsel' },
  4456. { oid => '1825', descr => 'join selectivity of LIKE',
  4457. proname => 'likejoinsel', provolatile => 's', prorettype => 'float8',
  4458. proargtypes => 'internal oid internal int2 internal',
  4459. prosrc => 'likejoinsel' },
  4460. { oid => '1826', descr => 'join selectivity of case-insensitive regex match',
  4461. proname => 'icregexeqjoinsel', provolatile => 's', prorettype => 'float8',
  4462. proargtypes => 'internal oid internal int2 internal',
  4463. prosrc => 'icregexeqjoinsel' },
  4464. { oid => '1827', descr => 'join selectivity of regex non-match',
  4465. proname => 'regexnejoinsel', provolatile => 's', prorettype => 'float8',
  4466. proargtypes => 'internal oid internal int2 internal',
  4467. prosrc => 'regexnejoinsel' },
  4468. { oid => '1828', descr => 'join selectivity of NOT LIKE',
  4469. proname => 'nlikejoinsel', provolatile => 's', prorettype => 'float8',
  4470. proargtypes => 'internal oid internal int2 internal',
  4471. prosrc => 'nlikejoinsel' },
  4472. { oid => '1829',
  4473. descr => 'join selectivity of case-insensitive regex non-match',
  4474. proname => 'icregexnejoinsel', provolatile => 's', prorettype => 'float8',
  4475. proargtypes => 'internal oid internal int2 internal',
  4476. prosrc => 'icregexnejoinsel' },
  4477. { oid => '3437', descr => 'restriction selectivity of exact prefix',
  4478. proname => 'prefixsel', provolatile => 's', prorettype => 'float8',
  4479. proargtypes => 'internal oid internal int4', prosrc => 'prefixsel' },
  4480. { oid => '3438', descr => 'join selectivity of exact prefix',
  4481. proname => 'prefixjoinsel', provolatile => 's', prorettype => 'float8',
  4482. proargtypes => 'internal oid internal int2 internal',
  4483. prosrc => 'prefixjoinsel' },
  4484. # Aggregate-related functions
  4485. { oid => '1830', descr => 'aggregate final function',
  4486. proname => 'float8_avg', prorettype => 'float8', proargtypes => '_float8',
  4487. prosrc => 'float8_avg' },
  4488. { oid => '2512', descr => 'aggregate final function',
  4489. proname => 'float8_var_pop', prorettype => 'float8', proargtypes => '_float8',
  4490. prosrc => 'float8_var_pop' },
  4491. { oid => '1831', descr => 'aggregate final function',
  4492. proname => 'float8_var_samp', prorettype => 'float8',
  4493. proargtypes => '_float8', prosrc => 'float8_var_samp' },
  4494. { oid => '2513', descr => 'aggregate final function',
  4495. proname => 'float8_stddev_pop', prorettype => 'float8',
  4496. proargtypes => '_float8', prosrc => 'float8_stddev_pop' },
  4497. { oid => '1832', descr => 'aggregate final function',
  4498. proname => 'float8_stddev_samp', prorettype => 'float8',
  4499. proargtypes => '_float8', prosrc => 'float8_stddev_samp' },
  4500. { oid => '1833', descr => 'aggregate transition function',
  4501. proname => 'numeric_accum', proisstrict => 'f', prorettype => 'internal',
  4502. proargtypes => 'internal numeric', prosrc => 'numeric_accum' },
  4503. { oid => '3341', descr => 'aggregate combine function',
  4504. proname => 'numeric_combine', proisstrict => 'f', prorettype => 'internal',
  4505. proargtypes => 'internal internal', prosrc => 'numeric_combine' },
  4506. { oid => '2858', descr => 'aggregate transition function',
  4507. proname => 'numeric_avg_accum', proisstrict => 'f', prorettype => 'internal',
  4508. proargtypes => 'internal numeric', prosrc => 'numeric_avg_accum' },
  4509. { oid => '3337', descr => 'aggregate combine function',
  4510. proname => 'numeric_avg_combine', proisstrict => 'f',
  4511. prorettype => 'internal', proargtypes => 'internal internal',
  4512. prosrc => 'numeric_avg_combine' },
  4513. { oid => '2740', descr => 'aggregate serial function',
  4514. proname => 'numeric_avg_serialize', prorettype => 'bytea',
  4515. proargtypes => 'internal', prosrc => 'numeric_avg_serialize' },
  4516. { oid => '2741', descr => 'aggregate deserial function',
  4517. proname => 'numeric_avg_deserialize', prorettype => 'internal',
  4518. proargtypes => 'bytea internal', prosrc => 'numeric_avg_deserialize' },
  4519. { oid => '3335', descr => 'aggregate serial function',
  4520. proname => 'numeric_serialize', prorettype => 'bytea',
  4521. proargtypes => 'internal', prosrc => 'numeric_serialize' },
  4522. { oid => '3336', descr => 'aggregate deserial function',
  4523. proname => 'numeric_deserialize', prorettype => 'internal',
  4524. proargtypes => 'bytea internal', prosrc => 'numeric_deserialize' },
  4525. { oid => '3548', descr => 'aggregate transition function',
  4526. proname => 'numeric_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4527. proargtypes => 'internal numeric', prosrc => 'numeric_accum_inv' },
  4528. { oid => '1834', descr => 'aggregate transition function',
  4529. proname => 'int2_accum', proisstrict => 'f', prorettype => 'internal',
  4530. proargtypes => 'internal int2', prosrc => 'int2_accum' },
  4531. { oid => '1835', descr => 'aggregate transition function',
  4532. proname => 'int4_accum', proisstrict => 'f', prorettype => 'internal',
  4533. proargtypes => 'internal int4', prosrc => 'int4_accum' },
  4534. { oid => '1836', descr => 'aggregate transition function',
  4535. proname => 'int8_accum', proisstrict => 'f', prorettype => 'internal',
  4536. proargtypes => 'internal int8', prosrc => 'int8_accum' },
  4537. { oid => '3338', descr => 'aggregate combine function',
  4538. proname => 'numeric_poly_combine', proisstrict => 'f',
  4539. prorettype => 'internal', proargtypes => 'internal internal',
  4540. prosrc => 'numeric_poly_combine' },
  4541. { oid => '3339', descr => 'aggregate serial function',
  4542. proname => 'numeric_poly_serialize', prorettype => 'bytea',
  4543. proargtypes => 'internal', prosrc => 'numeric_poly_serialize' },
  4544. { oid => '3340', descr => 'aggregate deserial function',
  4545. proname => 'numeric_poly_deserialize', prorettype => 'internal',
  4546. proargtypes => 'bytea internal', prosrc => 'numeric_poly_deserialize' },
  4547. { oid => '2746', descr => 'aggregate transition function',
  4548. proname => 'int8_avg_accum', proisstrict => 'f', prorettype => 'internal',
  4549. proargtypes => 'internal int8', prosrc => 'int8_avg_accum' },
  4550. { oid => '3567', descr => 'aggregate transition function',
  4551. proname => 'int2_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4552. proargtypes => 'internal int2', prosrc => 'int2_accum_inv' },
  4553. { oid => '3568', descr => 'aggregate transition function',
  4554. proname => 'int4_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4555. proargtypes => 'internal int4', prosrc => 'int4_accum_inv' },
  4556. { oid => '3569', descr => 'aggregate transition function',
  4557. proname => 'int8_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4558. proargtypes => 'internal int8', prosrc => 'int8_accum_inv' },
  4559. { oid => '3387', descr => 'aggregate transition function',
  4560. proname => 'int8_avg_accum_inv', proisstrict => 'f', prorettype => 'internal',
  4561. proargtypes => 'internal int8', prosrc => 'int8_avg_accum_inv' },
  4562. { oid => '2785', descr => 'aggregate combine function',
  4563. proname => 'int8_avg_combine', proisstrict => 'f', prorettype => 'internal',
  4564. proargtypes => 'internal internal', prosrc => 'int8_avg_combine' },
  4565. { oid => '2786', descr => 'aggregate serial function',
  4566. proname => 'int8_avg_serialize', prorettype => 'bytea',
  4567. proargtypes => 'internal', prosrc => 'int8_avg_serialize' },
  4568. { oid => '2787', descr => 'aggregate deserial function',
  4569. proname => 'int8_avg_deserialize', prorettype => 'internal',
  4570. proargtypes => 'bytea internal', prosrc => 'int8_avg_deserialize' },
  4571. { oid => '3324', descr => 'aggregate combine function',
  4572. proname => 'int4_avg_combine', prorettype => '_int8',
  4573. proargtypes => '_int8 _int8', prosrc => 'int4_avg_combine' },
  4574. { oid => '3178', descr => 'aggregate final function',
  4575. proname => 'numeric_sum', proisstrict => 'f', prorettype => 'numeric',
  4576. proargtypes => 'internal', prosrc => 'numeric_sum' },
  4577. { oid => '1837', descr => 'aggregate final function',
  4578. proname => 'numeric_avg', proisstrict => 'f', prorettype => 'numeric',
  4579. proargtypes => 'internal', prosrc => 'numeric_avg' },
  4580. { oid => '2514', descr => 'aggregate final function',
  4581. proname => 'numeric_var_pop', proisstrict => 'f', prorettype => 'numeric',
  4582. proargtypes => 'internal', prosrc => 'numeric_var_pop' },
  4583. { oid => '1838', descr => 'aggregate final function',
  4584. proname => 'numeric_var_samp', proisstrict => 'f', prorettype => 'numeric',
  4585. proargtypes => 'internal', prosrc => 'numeric_var_samp' },
  4586. { oid => '2596', descr => 'aggregate final function',
  4587. proname => 'numeric_stddev_pop', proisstrict => 'f', prorettype => 'numeric',
  4588. proargtypes => 'internal', prosrc => 'numeric_stddev_pop' },
  4589. { oid => '1839', descr => 'aggregate final function',
  4590. proname => 'numeric_stddev_samp', proisstrict => 'f', prorettype => 'numeric',
  4591. proargtypes => 'internal', prosrc => 'numeric_stddev_samp' },
  4592. { oid => '1840', descr => 'aggregate transition function',
  4593. proname => 'int2_sum', proisstrict => 'f', prorettype => 'int8',
  4594. proargtypes => 'int8 int2', prosrc => 'int2_sum' },
  4595. { oid => '1841', descr => 'aggregate transition function',
  4596. proname => 'int4_sum', proisstrict => 'f', prorettype => 'int8',
  4597. proargtypes => 'int8 int4', prosrc => 'int4_sum' },
  4598. { oid => '1842', descr => 'aggregate transition function',
  4599. proname => 'int8_sum', proisstrict => 'f', prorettype => 'numeric',
  4600. proargtypes => 'numeric int8', prosrc => 'int8_sum' },
  4601. { oid => '3388', descr => 'aggregate final function',
  4602. proname => 'numeric_poly_sum', proisstrict => 'f', prorettype => 'numeric',
  4603. proargtypes => 'internal', prosrc => 'numeric_poly_sum' },
  4604. { oid => '3389', descr => 'aggregate final function',
  4605. proname => 'numeric_poly_avg', proisstrict => 'f', prorettype => 'numeric',
  4606. proargtypes => 'internal', prosrc => 'numeric_poly_avg' },
  4607. { oid => '3390', descr => 'aggregate final function',
  4608. proname => 'numeric_poly_var_pop', proisstrict => 'f',
  4609. prorettype => 'numeric', proargtypes => 'internal',
  4610. prosrc => 'numeric_poly_var_pop' },
  4611. { oid => '3391', descr => 'aggregate final function',
  4612. proname => 'numeric_poly_var_samp', proisstrict => 'f',
  4613. prorettype => 'numeric', proargtypes => 'internal',
  4614. prosrc => 'numeric_poly_var_samp' },
  4615. { oid => '3392', descr => 'aggregate final function',
  4616. proname => 'numeric_poly_stddev_pop', proisstrict => 'f',
  4617. prorettype => 'numeric', proargtypes => 'internal',
  4618. prosrc => 'numeric_poly_stddev_pop' },
  4619. { oid => '3393', descr => 'aggregate final function',
  4620. proname => 'numeric_poly_stddev_samp', proisstrict => 'f',
  4621. prorettype => 'numeric', proargtypes => 'internal',
  4622. prosrc => 'numeric_poly_stddev_samp' },
  4623. { oid => '1843', descr => 'aggregate transition function',
  4624. proname => 'interval_accum', prorettype => '_interval',
  4625. proargtypes => '_interval interval', prosrc => 'interval_accum' },
  4626. { oid => '3325', descr => 'aggregate combine function',
  4627. proname => 'interval_combine', prorettype => '_interval',
  4628. proargtypes => '_interval _interval', prosrc => 'interval_combine' },
  4629. { oid => '3549', descr => 'aggregate transition function',
  4630. proname => 'interval_accum_inv', prorettype => '_interval',
  4631. proargtypes => '_interval interval', prosrc => 'interval_accum_inv' },
  4632. { oid => '1844', descr => 'aggregate final function',
  4633. proname => 'interval_avg', prorettype => 'interval',
  4634. proargtypes => '_interval', prosrc => 'interval_avg' },
  4635. { oid => '1962', descr => 'aggregate transition function',
  4636. proname => 'int2_avg_accum', prorettype => '_int8',
  4637. proargtypes => '_int8 int2', prosrc => 'int2_avg_accum' },
  4638. { oid => '1963', descr => 'aggregate transition function',
  4639. proname => 'int4_avg_accum', prorettype => '_int8',
  4640. proargtypes => '_int8 int4', prosrc => 'int4_avg_accum' },
  4641. { oid => '3570', descr => 'aggregate transition function',
  4642. proname => 'int2_avg_accum_inv', prorettype => '_int8',
  4643. proargtypes => '_int8 int2', prosrc => 'int2_avg_accum_inv' },
  4644. { oid => '3571', descr => 'aggregate transition function',
  4645. proname => 'int4_avg_accum_inv', prorettype => '_int8',
  4646. proargtypes => '_int8 int4', prosrc => 'int4_avg_accum_inv' },
  4647. { oid => '1964', descr => 'aggregate final function',
  4648. proname => 'int8_avg', prorettype => 'numeric', proargtypes => '_int8',
  4649. prosrc => 'int8_avg' },
  4650. { oid => '3572', descr => 'aggregate final function',
  4651. proname => 'int2int4_sum', prorettype => 'int8', proargtypes => '_int8',
  4652. prosrc => 'int2int4_sum' },
  4653. { oid => '2805', descr => 'aggregate transition function',
  4654. proname => 'int8inc_float8_float8', prorettype => 'int8',
  4655. proargtypes => 'int8 float8 float8', prosrc => 'int8inc_float8_float8' },
  4656. { oid => '2806', descr => 'aggregate transition function',
  4657. proname => 'float8_regr_accum', prorettype => '_float8',
  4658. proargtypes => '_float8 float8 float8', prosrc => 'float8_regr_accum' },
  4659. { oid => '3342', descr => 'aggregate combine function',
  4660. proname => 'float8_regr_combine', prorettype => '_float8',
  4661. proargtypes => '_float8 _float8', prosrc => 'float8_regr_combine' },
  4662. { oid => '2807', descr => 'aggregate final function',
  4663. proname => 'float8_regr_sxx', prorettype => 'float8',
  4664. proargtypes => '_float8', prosrc => 'float8_regr_sxx' },
  4665. { oid => '2808', descr => 'aggregate final function',
  4666. proname => 'float8_regr_syy', prorettype => 'float8',
  4667. proargtypes => '_float8', prosrc => 'float8_regr_syy' },
  4668. { oid => '2809', descr => 'aggregate final function',
  4669. proname => 'float8_regr_sxy', prorettype => 'float8',
  4670. proargtypes => '_float8', prosrc => 'float8_regr_sxy' },
  4671. { oid => '2810', descr => 'aggregate final function',
  4672. proname => 'float8_regr_avgx', prorettype => 'float8',
  4673. proargtypes => '_float8', prosrc => 'float8_regr_avgx' },
  4674. { oid => '2811', descr => 'aggregate final function',
  4675. proname => 'float8_regr_avgy', prorettype => 'float8',
  4676. proargtypes => '_float8', prosrc => 'float8_regr_avgy' },
  4677. { oid => '2812', descr => 'aggregate final function',
  4678. proname => 'float8_regr_r2', prorettype => 'float8', proargtypes => '_float8',
  4679. prosrc => 'float8_regr_r2' },
  4680. { oid => '2813', descr => 'aggregate final function',
  4681. proname => 'float8_regr_slope', prorettype => 'float8',
  4682. proargtypes => '_float8', prosrc => 'float8_regr_slope' },
  4683. { oid => '2814', descr => 'aggregate final function',
  4684. proname => 'float8_regr_intercept', prorettype => 'float8',
  4685. proargtypes => '_float8', prosrc => 'float8_regr_intercept' },
  4686. { oid => '2815', descr => 'aggregate final function',
  4687. proname => 'float8_covar_pop', prorettype => 'float8',
  4688. proargtypes => '_float8', prosrc => 'float8_covar_pop' },
  4689. { oid => '2816', descr => 'aggregate final function',
  4690. proname => 'float8_covar_samp', prorettype => 'float8',
  4691. proargtypes => '_float8', prosrc => 'float8_covar_samp' },
  4692. { oid => '2817', descr => 'aggregate final function',
  4693. proname => 'float8_corr', prorettype => 'float8', proargtypes => '_float8',
  4694. prosrc => 'float8_corr' },
  4695. { oid => '3535', descr => 'aggregate transition function',
  4696. proname => 'string_agg_transfn', proisstrict => 'f', prorettype => 'internal',
  4697. proargtypes => 'internal text text', prosrc => 'string_agg_transfn' },
  4698. { oid => '3536', descr => 'aggregate final function',
  4699. proname => 'string_agg_finalfn', proisstrict => 'f', prorettype => 'text',
  4700. proargtypes => 'internal', prosrc => 'string_agg_finalfn' },
  4701. { oid => '3538', descr => 'concatenate aggregate input into a string',
  4702. proname => 'string_agg', prokind => 'a', proisstrict => 'f',
  4703. prorettype => 'text', proargtypes => 'text text',
  4704. prosrc => 'aggregate_dummy' },
  4705. { oid => '3543', descr => 'aggregate transition function',
  4706. proname => 'bytea_string_agg_transfn', proisstrict => 'f',
  4707. prorettype => 'internal', proargtypes => 'internal bytea bytea',
  4708. prosrc => 'bytea_string_agg_transfn' },
  4709. { oid => '3544', descr => 'aggregate final function',
  4710. proname => 'bytea_string_agg_finalfn', proisstrict => 'f',
  4711. prorettype => 'bytea', proargtypes => 'internal',
  4712. prosrc => 'bytea_string_agg_finalfn' },
  4713. { oid => '3545', descr => 'concatenate aggregate input into a bytea',
  4714. proname => 'string_agg', prokind => 'a', proisstrict => 'f',
  4715. prorettype => 'bytea', proargtypes => 'bytea bytea',
  4716. prosrc => 'aggregate_dummy' },
  4717. # To ASCII conversion
  4718. { oid => '1845', descr => 'encode text from DB encoding to ASCII text',
  4719. proname => 'to_ascii', prorettype => 'text', proargtypes => 'text',
  4720. prosrc => 'to_ascii_default' },
  4721. { oid => '1846', descr => 'encode text from encoding to ASCII text',
  4722. proname => 'to_ascii', prorettype => 'text', proargtypes => 'text int4',
  4723. prosrc => 'to_ascii_enc' },
  4724. { oid => '1847', descr => 'encode text from encoding to ASCII text',
  4725. proname => 'to_ascii', prorettype => 'text', proargtypes => 'text name',
  4726. prosrc => 'to_ascii_encname' },
  4727. { oid => '1848',
  4728. proname => 'interval_pl_time', prolang => 'sql', prorettype => 'time',
  4729. proargtypes => 'interval time', prosrc => 'see system_functions.sql' },
  4730. { oid => '1850',
  4731. proname => 'int28eq', proleakproof => 't', prorettype => 'bool',
  4732. proargtypes => 'int2 int8', prosrc => 'int28eq' },
  4733. { oid => '1851',
  4734. proname => 'int28ne', proleakproof => 't', prorettype => 'bool',
  4735. proargtypes => 'int2 int8', prosrc => 'int28ne' },
  4736. { oid => '1852',
  4737. proname => 'int28lt', proleakproof => 't', prorettype => 'bool',
  4738. proargtypes => 'int2 int8', prosrc => 'int28lt' },
  4739. { oid => '1853',
  4740. proname => 'int28gt', proleakproof => 't', prorettype => 'bool',
  4741. proargtypes => 'int2 int8', prosrc => 'int28gt' },
  4742. { oid => '1854',
  4743. proname => 'int28le', proleakproof => 't', prorettype => 'bool',
  4744. proargtypes => 'int2 int8', prosrc => 'int28le' },
  4745. { oid => '1855',
  4746. proname => 'int28ge', proleakproof => 't', prorettype => 'bool',
  4747. proargtypes => 'int2 int8', prosrc => 'int28ge' },
  4748. { oid => '1856',
  4749. proname => 'int82eq', proleakproof => 't', prorettype => 'bool',
  4750. proargtypes => 'int8 int2', prosrc => 'int82eq' },
  4751. { oid => '1857',
  4752. proname => 'int82ne', proleakproof => 't', prorettype => 'bool',
  4753. proargtypes => 'int8 int2', prosrc => 'int82ne' },
  4754. { oid => '1858',
  4755. proname => 'int82lt', proleakproof => 't', prorettype => 'bool',
  4756. proargtypes => 'int8 int2', prosrc => 'int82lt' },
  4757. { oid => '1859',
  4758. proname => 'int82gt', proleakproof => 't', prorettype => 'bool',
  4759. proargtypes => 'int8 int2', prosrc => 'int82gt' },
  4760. { oid => '1860',
  4761. proname => 'int82le', proleakproof => 't', prorettype => 'bool',
  4762. proargtypes => 'int8 int2', prosrc => 'int82le' },
  4763. { oid => '1861',
  4764. proname => 'int82ge', proleakproof => 't', prorettype => 'bool',
  4765. proargtypes => 'int8 int2', prosrc => 'int82ge' },
  4766. { oid => '1892',
  4767. proname => 'int2and', prorettype => 'int2', proargtypes => 'int2 int2',
  4768. prosrc => 'int2and' },
  4769. { oid => '1893',
  4770. proname => 'int2or', prorettype => 'int2', proargtypes => 'int2 int2',
  4771. prosrc => 'int2or' },
  4772. { oid => '1894',
  4773. proname => 'int2xor', prorettype => 'int2', proargtypes => 'int2 int2',
  4774. prosrc => 'int2xor' },
  4775. { oid => '1895',
  4776. proname => 'int2not', prorettype => 'int2', proargtypes => 'int2',
  4777. prosrc => 'int2not' },
  4778. { oid => '1896',
  4779. proname => 'int2shl', prorettype => 'int2', proargtypes => 'int2 int4',
  4780. prosrc => 'int2shl' },
  4781. { oid => '1897',
  4782. proname => 'int2shr', prorettype => 'int2', proargtypes => 'int2 int4',
  4783. prosrc => 'int2shr' },
  4784. { oid => '1898',
  4785. proname => 'int4and', prorettype => 'int4', proargtypes => 'int4 int4',
  4786. prosrc => 'int4and' },
  4787. { oid => '1899',
  4788. proname => 'int4or', prorettype => 'int4', proargtypes => 'int4 int4',
  4789. prosrc => 'int4or' },
  4790. { oid => '1900',
  4791. proname => 'int4xor', prorettype => 'int4', proargtypes => 'int4 int4',
  4792. prosrc => 'int4xor' },
  4793. { oid => '1901',
  4794. proname => 'int4not', prorettype => 'int4', proargtypes => 'int4',
  4795. prosrc => 'int4not' },
  4796. { oid => '1902',
  4797. proname => 'int4shl', prorettype => 'int4', proargtypes => 'int4 int4',
  4798. prosrc => 'int4shl' },
  4799. { oid => '1903',
  4800. proname => 'int4shr', prorettype => 'int4', proargtypes => 'int4 int4',
  4801. prosrc => 'int4shr' },
  4802. { oid => '1904',
  4803. proname => 'int8and', prorettype => 'int8', proargtypes => 'int8 int8',
  4804. prosrc => 'int8and' },
  4805. { oid => '1905',
  4806. proname => 'int8or', prorettype => 'int8', proargtypes => 'int8 int8',
  4807. prosrc => 'int8or' },
  4808. { oid => '1906',
  4809. proname => 'int8xor', prorettype => 'int8', proargtypes => 'int8 int8',
  4810. prosrc => 'int8xor' },
  4811. { oid => '1907',
  4812. proname => 'int8not', prorettype => 'int8', proargtypes => 'int8',
  4813. prosrc => 'int8not' },
  4814. { oid => '1908',
  4815. proname => 'int8shl', prorettype => 'int8', proargtypes => 'int8 int4',
  4816. prosrc => 'int8shl' },
  4817. { oid => '1909',
  4818. proname => 'int8shr', prorettype => 'int8', proargtypes => 'int8 int4',
  4819. prosrc => 'int8shr' },
  4820. { oid => '1910',
  4821. proname => 'int8up', prorettype => 'int8', proargtypes => 'int8',
  4822. prosrc => 'int8up' },
  4823. { oid => '1911',
  4824. proname => 'int2up', prorettype => 'int2', proargtypes => 'int2',
  4825. prosrc => 'int2up' },
  4826. { oid => '1912',
  4827. proname => 'int4up', prorettype => 'int4', proargtypes => 'int4',
  4828. prosrc => 'int4up' },
  4829. { oid => '1913',
  4830. proname => 'float4up', prorettype => 'float4', proargtypes => 'float4',
  4831. prosrc => 'float4up' },
  4832. { oid => '1914',
  4833. proname => 'float8up', prorettype => 'float8', proargtypes => 'float8',
  4834. prosrc => 'float8up' },
  4835. { oid => '1915',
  4836. proname => 'numeric_uplus', prorettype => 'numeric', proargtypes => 'numeric',
  4837. prosrc => 'numeric_uplus' },
  4838. { oid => '1922', descr => 'user privilege on relation by username, rel name',
  4839. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4840. proargtypes => 'name text text', prosrc => 'has_table_privilege_name_name' },
  4841. { oid => '1923', descr => 'user privilege on relation by username, rel oid',
  4842. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4843. proargtypes => 'name oid text', prosrc => 'has_table_privilege_name_id' },
  4844. { oid => '1924', descr => 'user privilege on relation by user oid, rel name',
  4845. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4846. proargtypes => 'oid text text', prosrc => 'has_table_privilege_id_name' },
  4847. { oid => '1925', descr => 'user privilege on relation by user oid, rel oid',
  4848. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4849. proargtypes => 'oid oid text', prosrc => 'has_table_privilege_id_id' },
  4850. { oid => '1926', descr => 'current user privilege on relation by rel name',
  4851. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4852. proargtypes => 'text text', prosrc => 'has_table_privilege_name' },
  4853. { oid => '1927', descr => 'current user privilege on relation by rel oid',
  4854. proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool',
  4855. proargtypes => 'oid text', prosrc => 'has_table_privilege_id' },
  4856. { oid => '2181', descr => 'user privilege on sequence by username, seq name',
  4857. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4858. proargtypes => 'name text text',
  4859. prosrc => 'has_sequence_privilege_name_name' },
  4860. { oid => '2182', descr => 'user privilege on sequence by username, seq oid',
  4861. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4862. proargtypes => 'name oid text', prosrc => 'has_sequence_privilege_name_id' },
  4863. { oid => '2183', descr => 'user privilege on sequence by user oid, seq name',
  4864. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4865. proargtypes => 'oid text text', prosrc => 'has_sequence_privilege_id_name' },
  4866. { oid => '2184', descr => 'user privilege on sequence by user oid, seq oid',
  4867. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4868. proargtypes => 'oid oid text', prosrc => 'has_sequence_privilege_id_id' },
  4869. { oid => '2185', descr => 'current user privilege on sequence by seq name',
  4870. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4871. proargtypes => 'text text', prosrc => 'has_sequence_privilege_name' },
  4872. { oid => '2186', descr => 'current user privilege on sequence by seq oid',
  4873. proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool',
  4874. proargtypes => 'oid text', prosrc => 'has_sequence_privilege_id' },
  4875. { oid => '3012',
  4876. descr => 'user privilege on column by username, rel name, col name',
  4877. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4878. proargtypes => 'name text text text',
  4879. prosrc => 'has_column_privilege_name_name_name' },
  4880. { oid => '3013',
  4881. descr => 'user privilege on column by username, rel name, col attnum',
  4882. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4883. proargtypes => 'name text int2 text',
  4884. prosrc => 'has_column_privilege_name_name_attnum' },
  4885. { oid => '3014',
  4886. descr => 'user privilege on column by username, rel oid, col name',
  4887. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4888. proargtypes => 'name oid text text',
  4889. prosrc => 'has_column_privilege_name_id_name' },
  4890. { oid => '3015',
  4891. descr => 'user privilege on column by username, rel oid, col attnum',
  4892. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4893. proargtypes => 'name oid int2 text',
  4894. prosrc => 'has_column_privilege_name_id_attnum' },
  4895. { oid => '3016',
  4896. descr => 'user privilege on column by user oid, rel name, col name',
  4897. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4898. proargtypes => 'oid text text text',
  4899. prosrc => 'has_column_privilege_id_name_name' },
  4900. { oid => '3017',
  4901. descr => 'user privilege on column by user oid, rel name, col attnum',
  4902. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4903. proargtypes => 'oid text int2 text',
  4904. prosrc => 'has_column_privilege_id_name_attnum' },
  4905. { oid => '3018',
  4906. descr => 'user privilege on column by user oid, rel oid, col name',
  4907. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4908. proargtypes => 'oid oid text text',
  4909. prosrc => 'has_column_privilege_id_id_name' },
  4910. { oid => '3019',
  4911. descr => 'user privilege on column by user oid, rel oid, col attnum',
  4912. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4913. proargtypes => 'oid oid int2 text',
  4914. prosrc => 'has_column_privilege_id_id_attnum' },
  4915. { oid => '3020',
  4916. descr => 'current user privilege on column by rel name, col name',
  4917. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4918. proargtypes => 'text text text', prosrc => 'has_column_privilege_name_name' },
  4919. { oid => '3021',
  4920. descr => 'current user privilege on column by rel name, col attnum',
  4921. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4922. proargtypes => 'text int2 text',
  4923. prosrc => 'has_column_privilege_name_attnum' },
  4924. { oid => '3022',
  4925. descr => 'current user privilege on column by rel oid, col name',
  4926. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4927. proargtypes => 'oid text text', prosrc => 'has_column_privilege_id_name' },
  4928. { oid => '3023',
  4929. descr => 'current user privilege on column by rel oid, col attnum',
  4930. proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool',
  4931. proargtypes => 'oid int2 text', prosrc => 'has_column_privilege_id_attnum' },
  4932. { oid => '3024',
  4933. descr => 'user privilege on any column by username, rel name',
  4934. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  4935. prorettype => 'bool', proargtypes => 'name text text',
  4936. prosrc => 'has_any_column_privilege_name_name' },
  4937. { oid => '3025', descr => 'user privilege on any column by username, rel oid',
  4938. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  4939. prorettype => 'bool', proargtypes => 'name oid text',
  4940. prosrc => 'has_any_column_privilege_name_id' },
  4941. { oid => '3026',
  4942. descr => 'user privilege on any column by user oid, rel name',
  4943. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  4944. prorettype => 'bool', proargtypes => 'oid text text',
  4945. prosrc => 'has_any_column_privilege_id_name' },
  4946. { oid => '3027', descr => 'user privilege on any column by user oid, rel oid',
  4947. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  4948. prorettype => 'bool', proargtypes => 'oid oid text',
  4949. prosrc => 'has_any_column_privilege_id_id' },
  4950. { oid => '3028', descr => 'current user privilege on any column by rel name',
  4951. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  4952. prorettype => 'bool', proargtypes => 'text text',
  4953. prosrc => 'has_any_column_privilege_name' },
  4954. { oid => '3029', descr => 'current user privilege on any column by rel oid',
  4955. proname => 'has_any_column_privilege', procost => '10', provolatile => 's',
  4956. prorettype => 'bool', proargtypes => 'oid text',
  4957. prosrc => 'has_any_column_privilege_id' },
  4958. { oid => '3355', descr => 'I/O',
  4959. proname => 'pg_ndistinct_in', prorettype => 'pg_ndistinct',
  4960. proargtypes => 'cstring', prosrc => 'pg_ndistinct_in' },
  4961. { oid => '3356', descr => 'I/O',
  4962. proname => 'pg_ndistinct_out', prorettype => 'cstring',
  4963. proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_out' },
  4964. { oid => '3357', descr => 'I/O',
  4965. proname => 'pg_ndistinct_recv', provolatile => 's',
  4966. prorettype => 'pg_ndistinct', proargtypes => 'internal',
  4967. prosrc => 'pg_ndistinct_recv' },
  4968. { oid => '3358', descr => 'I/O',
  4969. proname => 'pg_ndistinct_send', provolatile => 's', prorettype => 'bytea',
  4970. proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_send' },
  4971. { oid => '3404', descr => 'I/O',
  4972. proname => 'pg_dependencies_in', prorettype => 'pg_dependencies',
  4973. proargtypes => 'cstring', prosrc => 'pg_dependencies_in' },
  4974. { oid => '3405', descr => 'I/O',
  4975. proname => 'pg_dependencies_out', prorettype => 'cstring',
  4976. proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_out' },
  4977. { oid => '3406', descr => 'I/O',
  4978. proname => 'pg_dependencies_recv', provolatile => 's',
  4979. prorettype => 'pg_dependencies', proargtypes => 'internal',
  4980. prosrc => 'pg_dependencies_recv' },
  4981. { oid => '3407', descr => 'I/O',
  4982. proname => 'pg_dependencies_send', provolatile => 's', prorettype => 'bytea',
  4983. proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_send' },
  4984. { oid => '5018', descr => 'I/O',
  4985. proname => 'pg_mcv_list_in', prorettype => 'pg_mcv_list',
  4986. proargtypes => 'cstring', prosrc => 'pg_mcv_list_in' },
  4987. { oid => '5019', descr => 'I/O',
  4988. proname => 'pg_mcv_list_out', prorettype => 'cstring',
  4989. proargtypes => 'pg_mcv_list', prosrc => 'pg_mcv_list_out' },
  4990. { oid => '5020', descr => 'I/O',
  4991. proname => 'pg_mcv_list_recv', provolatile => 's',
  4992. prorettype => 'pg_mcv_list', proargtypes => 'internal',
  4993. prosrc => 'pg_mcv_list_recv' },
  4994. { oid => '5021', descr => 'I/O',
  4995. proname => 'pg_mcv_list_send', provolatile => 's', prorettype => 'bytea',
  4996. proargtypes => 'pg_mcv_list', prosrc => 'pg_mcv_list_send' },
  4997. { oid => '3427', descr => 'details about MCV list items',
  4998. proname => 'pg_mcv_list_items', prorows => '1000', proretset => 't',
  4999. provolatile => 's', prorettype => 'record', proargtypes => 'pg_mcv_list',
  5000. proallargtypes => '{pg_mcv_list,int4,_text,_bool,float8,float8}',
  5001. proargmodes => '{i,o,o,o,o,o}',
  5002. proargnames => '{mcv_list,index,values,nulls,frequency,base_frequency}',
  5003. prosrc => 'pg_stats_ext_mcvlist_items' },
  5004. { oid => '1928', descr => 'statistics: number of scans done for table/index',
  5005. proname => 'pg_stat_get_numscans', provolatile => 's', proparallel => 'r',
  5006. prorettype => 'int8', proargtypes => 'oid',
  5007. prosrc => 'pg_stat_get_numscans' },
  5008. { oid => '1929', descr => 'statistics: number of tuples read by seqscan',
  5009. proname => 'pg_stat_get_tuples_returned', provolatile => 's',
  5010. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5011. prosrc => 'pg_stat_get_tuples_returned' },
  5012. { oid => '1930', descr => 'statistics: number of tuples fetched by idxscan',
  5013. proname => 'pg_stat_get_tuples_fetched', provolatile => 's',
  5014. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5015. prosrc => 'pg_stat_get_tuples_fetched' },
  5016. { oid => '1931', descr => 'statistics: number of tuples inserted',
  5017. proname => 'pg_stat_get_tuples_inserted', provolatile => 's',
  5018. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5019. prosrc => 'pg_stat_get_tuples_inserted' },
  5020. { oid => '1932', descr => 'statistics: number of tuples updated',
  5021. proname => 'pg_stat_get_tuples_updated', provolatile => 's',
  5022. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5023. prosrc => 'pg_stat_get_tuples_updated' },
  5024. { oid => '1933', descr => 'statistics: number of tuples deleted',
  5025. proname => 'pg_stat_get_tuples_deleted', provolatile => 's',
  5026. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5027. prosrc => 'pg_stat_get_tuples_deleted' },
  5028. { oid => '1972', descr => 'statistics: number of tuples hot updated',
  5029. proname => 'pg_stat_get_tuples_hot_updated', provolatile => 's',
  5030. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5031. prosrc => 'pg_stat_get_tuples_hot_updated' },
  5032. { oid => '2878', descr => 'statistics: number of live tuples',
  5033. proname => 'pg_stat_get_live_tuples', provolatile => 's', proparallel => 'r',
  5034. prorettype => 'int8', proargtypes => 'oid',
  5035. prosrc => 'pg_stat_get_live_tuples' },
  5036. { oid => '2879', descr => 'statistics: number of dead tuples',
  5037. proname => 'pg_stat_get_dead_tuples', provolatile => 's', proparallel => 'r',
  5038. prorettype => 'int8', proargtypes => 'oid',
  5039. prosrc => 'pg_stat_get_dead_tuples' },
  5040. { oid => '3177',
  5041. descr => 'statistics: number of tuples changed since last analyze',
  5042. proname => 'pg_stat_get_mod_since_analyze', provolatile => 's',
  5043. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5044. prosrc => 'pg_stat_get_mod_since_analyze' },
  5045. { oid => '5053',
  5046. descr => 'statistics: number of tuples inserted since last vacuum',
  5047. proname => 'pg_stat_get_ins_since_vacuum', provolatile => 's',
  5048. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5049. prosrc => 'pg_stat_get_ins_since_vacuum' },
  5050. { oid => '1934', descr => 'statistics: number of blocks fetched',
  5051. proname => 'pg_stat_get_blocks_fetched', provolatile => 's',
  5052. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5053. prosrc => 'pg_stat_get_blocks_fetched' },
  5054. { oid => '1935', descr => 'statistics: number of blocks found in cache',
  5055. proname => 'pg_stat_get_blocks_hit', provolatile => 's', proparallel => 'r',
  5056. prorettype => 'int8', proargtypes => 'oid',
  5057. prosrc => 'pg_stat_get_blocks_hit' },
  5058. { oid => '2781', descr => 'statistics: last manual vacuum time for a table',
  5059. proname => 'pg_stat_get_last_vacuum_time', provolatile => 's',
  5060. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5061. prosrc => 'pg_stat_get_last_vacuum_time' },
  5062. { oid => '2782', descr => 'statistics: last auto vacuum time for a table',
  5063. proname => 'pg_stat_get_last_autovacuum_time', provolatile => 's',
  5064. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5065. prosrc => 'pg_stat_get_last_autovacuum_time' },
  5066. { oid => '2783', descr => 'statistics: last manual analyze time for a table',
  5067. proname => 'pg_stat_get_last_analyze_time', provolatile => 's',
  5068. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5069. prosrc => 'pg_stat_get_last_analyze_time' },
  5070. { oid => '2784', descr => 'statistics: last auto analyze time for a table',
  5071. proname => 'pg_stat_get_last_autoanalyze_time', provolatile => 's',
  5072. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5073. prosrc => 'pg_stat_get_last_autoanalyze_time' },
  5074. { oid => '3054', descr => 'statistics: number of manual vacuums for a table',
  5075. proname => 'pg_stat_get_vacuum_count', provolatile => 's', proparallel => 'r',
  5076. prorettype => 'int8', proargtypes => 'oid',
  5077. prosrc => 'pg_stat_get_vacuum_count' },
  5078. { oid => '3055', descr => 'statistics: number of auto vacuums for a table',
  5079. proname => 'pg_stat_get_autovacuum_count', provolatile => 's',
  5080. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5081. prosrc => 'pg_stat_get_autovacuum_count' },
  5082. { oid => '3056', descr => 'statistics: number of manual analyzes for a table',
  5083. proname => 'pg_stat_get_analyze_count', provolatile => 's',
  5084. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5085. prosrc => 'pg_stat_get_analyze_count' },
  5086. { oid => '3057', descr => 'statistics: number of auto analyzes for a table',
  5087. proname => 'pg_stat_get_autoanalyze_count', provolatile => 's',
  5088. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5089. prosrc => 'pg_stat_get_autoanalyze_count' },
  5090. { oid => '1936', descr => 'statistics: currently active backend IDs',
  5091. proname => 'pg_stat_get_backend_idset', prorows => '100', proretset => 't',
  5092. provolatile => 's', proparallel => 'r', prorettype => 'int4',
  5093. proargtypes => '', prosrc => 'pg_stat_get_backend_idset' },
  5094. { oid => '2022',
  5095. descr => 'statistics: information about currently active backends',
  5096. proname => 'pg_stat_get_activity', prorows => '100', proisstrict => 'f',
  5097. proretset => 't', provolatile => 's', proparallel => 'r',
  5098. prorettype => 'record', proargtypes => 'int4',
  5099. proallargtypes => '{int4,oid,int4,oid,text,text,text,text,text,timestamptz,timestamptz,timestamptz,timestamptz,inet,text,int4,xid,xid,text,bool,text,text,int4,text,numeric,text,bool,text,bool,int4,int8}',
  5100. proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5101. proargnames => '{pid,datid,pid,usesysid,application_name,state,query,wait_event_type,wait_event,xact_start,query_start,backend_start,state_change,client_addr,client_hostname,client_port,backend_xid,backend_xmin,backend_type,ssl,sslversion,sslcipher,sslbits,ssl_client_dn,ssl_client_serial,ssl_issuer_dn,gss_auth,gss_princ,gss_enc,leader_pid,query_id}',
  5102. prosrc => 'pg_stat_get_activity' },
  5103. { oid => '3318',
  5104. descr => 'statistics: information about progress of backends running maintenance command',
  5105. proname => 'pg_stat_get_progress_info', prorows => '100', proretset => 't',
  5106. provolatile => 's', proparallel => 'r', prorettype => 'record',
  5107. proargtypes => 'text',
  5108. proallargtypes => '{text,int4,oid,oid,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8}',
  5109. proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5110. proargnames => '{cmdtype,pid,datid,relid,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12,param13,param14,param15,param16,param17,param18,param19,param20}',
  5111. prosrc => 'pg_stat_get_progress_info' },
  5112. { oid => '3099',
  5113. descr => 'statistics: information about currently active replication',
  5114. proname => 'pg_stat_get_wal_senders', prorows => '10', proisstrict => 'f',
  5115. proretset => 't', provolatile => 's', proparallel => 'r',
  5116. prorettype => 'record', proargtypes => '',
  5117. proallargtypes => '{int4,text,pg_lsn,pg_lsn,pg_lsn,pg_lsn,interval,interval,interval,int4,text,timestamptz}',
  5118. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}',
  5119. proargnames => '{pid,state,sent_lsn,write_lsn,flush_lsn,replay_lsn,write_lag,flush_lag,replay_lag,sync_priority,sync_state,reply_time}',
  5120. prosrc => 'pg_stat_get_wal_senders' },
  5121. { oid => '3317', descr => 'statistics: information about WAL receiver',
  5122. proname => 'pg_stat_get_wal_receiver', proisstrict => 'f', provolatile => 's',
  5123. proparallel => 'r', prorettype => 'record', proargtypes => '',
  5124. proallargtypes => '{int4,text,pg_lsn,int4,pg_lsn,pg_lsn,int4,timestamptz,timestamptz,pg_lsn,timestamptz,text,text,int4,text}',
  5125. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5126. proargnames => '{pid,status,receive_start_lsn,receive_start_tli,written_lsn,flushed_lsn,received_tli,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time,slot_name,sender_host,sender_port,conninfo}',
  5127. prosrc => 'pg_stat_get_wal_receiver' },
  5128. { oid => '6169', descr => 'statistics: information about replication slot',
  5129. proname => 'pg_stat_get_replication_slot', provolatile => 's',
  5130. proparallel => 'r', prorettype => 'record', proargtypes => 'text',
  5131. proallargtypes => '{text,text,int8,int8,int8,int8,int8,int8,int8,int8,timestamptz}',
  5132. proargmodes => '{i,o,o,o,o,o,o,o,o,o,o}',
  5133. proargnames => '{slot_name,slot_name,spill_txns,spill_count,spill_bytes,stream_txns,stream_count,stream_bytes,total_txns,total_bytes,stats_reset}',
  5134. prosrc => 'pg_stat_get_replication_slot' },
  5135. { oid => '6230', descr => 'statistics: check if a stats object exists',
  5136. proname => 'pg_stat_have_stats', provolatile => 'v', proparallel => 'r',
  5137. prorettype => 'bool', proargtypes => 'text oid oid',
  5138. prosrc => 'pg_stat_have_stats' },
  5139. { oid => '6231', descr => 'statistics: information about subscription stats',
  5140. proname => 'pg_stat_get_subscription_stats', provolatile => 's',
  5141. proparallel => 'r', prorettype => 'record', proargtypes => 'oid',
  5142. proallargtypes => '{oid,oid,int8,int8,timestamptz}',
  5143. proargmodes => '{i,o,o,o,o}',
  5144. proargnames => '{subid,subid,apply_error_count,sync_error_count,stats_reset}',
  5145. prosrc => 'pg_stat_get_subscription_stats' },
  5146. { oid => '6118', descr => 'statistics: information about subscription',
  5147. proname => 'pg_stat_get_subscription', prorows => '10', proisstrict => 'f',
  5148. proretset => 't', provolatile => 's', proparallel => 'r',
  5149. prorettype => 'record', proargtypes => 'oid',
  5150. proallargtypes => '{oid,oid,oid,int4,pg_lsn,timestamptz,timestamptz,pg_lsn,timestamptz}',
  5151. proargmodes => '{i,o,o,o,o,o,o,o,o}',
  5152. proargnames => '{subid,subid,relid,pid,received_lsn,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time}',
  5153. prosrc => 'pg_stat_get_subscription' },
  5154. { oid => '2026', descr => 'statistics: current backend PID',
  5155. proname => 'pg_backend_pid', provolatile => 's', proparallel => 'r',
  5156. prorettype => 'int4', proargtypes => '', prosrc => 'pg_backend_pid' },
  5157. { oid => '1937', descr => 'statistics: PID of backend',
  5158. proname => 'pg_stat_get_backend_pid', provolatile => 's', proparallel => 'r',
  5159. prorettype => 'int4', proargtypes => 'int4',
  5160. prosrc => 'pg_stat_get_backend_pid' },
  5161. { oid => '1938', descr => 'statistics: database ID of backend',
  5162. proname => 'pg_stat_get_backend_dbid', provolatile => 's', proparallel => 'r',
  5163. prorettype => 'oid', proargtypes => 'int4',
  5164. prosrc => 'pg_stat_get_backend_dbid' },
  5165. { oid => '1939', descr => 'statistics: user ID of backend',
  5166. proname => 'pg_stat_get_backend_userid', provolatile => 's',
  5167. proparallel => 'r', prorettype => 'oid', proargtypes => 'int4',
  5168. prosrc => 'pg_stat_get_backend_userid' },
  5169. { oid => '1940', descr => 'statistics: current query of backend',
  5170. proname => 'pg_stat_get_backend_activity', provolatile => 's',
  5171. proparallel => 'r', prorettype => 'text', proargtypes => 'int4',
  5172. prosrc => 'pg_stat_get_backend_activity' },
  5173. { oid => '2788',
  5174. descr => 'statistics: wait event type on which backend is currently waiting',
  5175. proname => 'pg_stat_get_backend_wait_event_type', provolatile => 's',
  5176. proparallel => 'r', prorettype => 'text', proargtypes => 'int4',
  5177. prosrc => 'pg_stat_get_backend_wait_event_type' },
  5178. { oid => '2853',
  5179. descr => 'statistics: wait event on which backend is currently waiting',
  5180. proname => 'pg_stat_get_backend_wait_event', provolatile => 's',
  5181. proparallel => 'r', prorettype => 'text', proargtypes => 'int4',
  5182. prosrc => 'pg_stat_get_backend_wait_event' },
  5183. { oid => '2094',
  5184. descr => 'statistics: start time for current query of backend',
  5185. proname => 'pg_stat_get_backend_activity_start', provolatile => 's',
  5186. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4',
  5187. prosrc => 'pg_stat_get_backend_activity_start' },
  5188. { oid => '2857',
  5189. descr => 'statistics: start time for backend\'s current transaction',
  5190. proname => 'pg_stat_get_backend_xact_start', provolatile => 's',
  5191. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4',
  5192. prosrc => 'pg_stat_get_backend_xact_start' },
  5193. { oid => '1391',
  5194. descr => 'statistics: start time for current backend session',
  5195. proname => 'pg_stat_get_backend_start', provolatile => 's',
  5196. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4',
  5197. prosrc => 'pg_stat_get_backend_start' },
  5198. { oid => '1392',
  5199. descr => 'statistics: address of client connected to backend',
  5200. proname => 'pg_stat_get_backend_client_addr', provolatile => 's',
  5201. proparallel => 'r', prorettype => 'inet', proargtypes => 'int4',
  5202. prosrc => 'pg_stat_get_backend_client_addr' },
  5203. { oid => '1393',
  5204. descr => 'statistics: port number of client connected to backend',
  5205. proname => 'pg_stat_get_backend_client_port', provolatile => 's',
  5206. proparallel => 'r', prorettype => 'int4', proargtypes => 'int4',
  5207. prosrc => 'pg_stat_get_backend_client_port' },
  5208. { oid => '1941', descr => 'statistics: number of backends in database',
  5209. proname => 'pg_stat_get_db_numbackends', provolatile => 's',
  5210. proparallel => 'r', prorettype => 'int4', proargtypes => 'oid',
  5211. prosrc => 'pg_stat_get_db_numbackends' },
  5212. { oid => '1942', descr => 'statistics: transactions committed',
  5213. proname => 'pg_stat_get_db_xact_commit', provolatile => 's',
  5214. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5215. prosrc => 'pg_stat_get_db_xact_commit' },
  5216. { oid => '1943', descr => 'statistics: transactions rolled back',
  5217. proname => 'pg_stat_get_db_xact_rollback', provolatile => 's',
  5218. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5219. prosrc => 'pg_stat_get_db_xact_rollback' },
  5220. { oid => '1944', descr => 'statistics: blocks fetched for database',
  5221. proname => 'pg_stat_get_db_blocks_fetched', provolatile => 's',
  5222. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5223. prosrc => 'pg_stat_get_db_blocks_fetched' },
  5224. { oid => '1945', descr => 'statistics: blocks found in cache for database',
  5225. proname => 'pg_stat_get_db_blocks_hit', provolatile => 's',
  5226. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5227. prosrc => 'pg_stat_get_db_blocks_hit' },
  5228. { oid => '2758', descr => 'statistics: tuples returned for database',
  5229. proname => 'pg_stat_get_db_tuples_returned', provolatile => 's',
  5230. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5231. prosrc => 'pg_stat_get_db_tuples_returned' },
  5232. { oid => '2759', descr => 'statistics: tuples fetched for database',
  5233. proname => 'pg_stat_get_db_tuples_fetched', provolatile => 's',
  5234. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5235. prosrc => 'pg_stat_get_db_tuples_fetched' },
  5236. { oid => '2760', descr => 'statistics: tuples inserted in database',
  5237. proname => 'pg_stat_get_db_tuples_inserted', provolatile => 's',
  5238. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5239. prosrc => 'pg_stat_get_db_tuples_inserted' },
  5240. { oid => '2761', descr => 'statistics: tuples updated in database',
  5241. proname => 'pg_stat_get_db_tuples_updated', provolatile => 's',
  5242. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5243. prosrc => 'pg_stat_get_db_tuples_updated' },
  5244. { oid => '2762', descr => 'statistics: tuples deleted in database',
  5245. proname => 'pg_stat_get_db_tuples_deleted', provolatile => 's',
  5246. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5247. prosrc => 'pg_stat_get_db_tuples_deleted' },
  5248. { oid => '3065',
  5249. descr => 'statistics: recovery conflicts in database caused by drop tablespace',
  5250. proname => 'pg_stat_get_db_conflict_tablespace', provolatile => 's',
  5251. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5252. prosrc => 'pg_stat_get_db_conflict_tablespace' },
  5253. { oid => '3066',
  5254. descr => 'statistics: recovery conflicts in database caused by relation lock',
  5255. proname => 'pg_stat_get_db_conflict_lock', provolatile => 's',
  5256. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5257. prosrc => 'pg_stat_get_db_conflict_lock' },
  5258. { oid => '3067',
  5259. descr => 'statistics: recovery conflicts in database caused by snapshot expiry',
  5260. proname => 'pg_stat_get_db_conflict_snapshot', provolatile => 's',
  5261. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5262. prosrc => 'pg_stat_get_db_conflict_snapshot' },
  5263. { oid => '3068',
  5264. descr => 'statistics: recovery conflicts in database caused by shared buffer pin',
  5265. proname => 'pg_stat_get_db_conflict_bufferpin', provolatile => 's',
  5266. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5267. prosrc => 'pg_stat_get_db_conflict_bufferpin' },
  5268. { oid => '3069',
  5269. descr => 'statistics: recovery conflicts in database caused by buffer deadlock',
  5270. proname => 'pg_stat_get_db_conflict_startup_deadlock', provolatile => 's',
  5271. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5272. prosrc => 'pg_stat_get_db_conflict_startup_deadlock' },
  5273. { oid => '3070', descr => 'statistics: recovery conflicts in database',
  5274. proname => 'pg_stat_get_db_conflict_all', provolatile => 's',
  5275. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5276. prosrc => 'pg_stat_get_db_conflict_all' },
  5277. { oid => '3152', descr => 'statistics: deadlocks detected in database',
  5278. proname => 'pg_stat_get_db_deadlocks', provolatile => 's', proparallel => 'r',
  5279. prorettype => 'int8', proargtypes => 'oid',
  5280. prosrc => 'pg_stat_get_db_deadlocks' },
  5281. { oid => '3426',
  5282. descr => 'statistics: checksum failures detected in database',
  5283. proname => 'pg_stat_get_db_checksum_failures', provolatile => 's',
  5284. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5285. prosrc => 'pg_stat_get_db_checksum_failures' },
  5286. { oid => '3428',
  5287. descr => 'statistics: when last checksum failure was detected in database',
  5288. proname => 'pg_stat_get_db_checksum_last_failure', provolatile => 's',
  5289. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5290. prosrc => 'pg_stat_get_db_checksum_last_failure' },
  5291. { oid => '3074', descr => 'statistics: last reset for a database',
  5292. proname => 'pg_stat_get_db_stat_reset_time', provolatile => 's',
  5293. proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid',
  5294. prosrc => 'pg_stat_get_db_stat_reset_time' },
  5295. { oid => '3150', descr => 'statistics: number of temporary files written',
  5296. proname => 'pg_stat_get_db_temp_files', provolatile => 's',
  5297. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5298. prosrc => 'pg_stat_get_db_temp_files' },
  5299. { oid => '3151',
  5300. descr => 'statistics: number of bytes in temporary files written',
  5301. proname => 'pg_stat_get_db_temp_bytes', provolatile => 's',
  5302. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5303. prosrc => 'pg_stat_get_db_temp_bytes' },
  5304. { oid => '2844', descr => 'statistics: block read time, in milliseconds',
  5305. proname => 'pg_stat_get_db_blk_read_time', provolatile => 's',
  5306. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5307. prosrc => 'pg_stat_get_db_blk_read_time' },
  5308. { oid => '2845', descr => 'statistics: block write time, in milliseconds',
  5309. proname => 'pg_stat_get_db_blk_write_time', provolatile => 's',
  5310. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5311. prosrc => 'pg_stat_get_db_blk_write_time' },
  5312. { oid => '6185', descr => 'statistics: session time, in milliseconds',
  5313. proname => 'pg_stat_get_db_session_time', provolatile => 's',
  5314. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5315. prosrc => 'pg_stat_get_db_session_time' },
  5316. { oid => '6186', descr => 'statistics: session active time, in milliseconds',
  5317. proname => 'pg_stat_get_db_active_time', provolatile => 's',
  5318. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5319. prosrc => 'pg_stat_get_db_active_time' },
  5320. { oid => '6187',
  5321. descr => 'statistics: session idle in transaction time, in milliseconds',
  5322. proname => 'pg_stat_get_db_idle_in_transaction_time', provolatile => 's',
  5323. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5324. prosrc => 'pg_stat_get_db_idle_in_transaction_time' },
  5325. { oid => '6188', descr => 'statistics: total number of sessions',
  5326. proname => 'pg_stat_get_db_sessions', provolatile => 's', proparallel => 'r',
  5327. prorettype => 'int8', proargtypes => 'oid',
  5328. prosrc => 'pg_stat_get_db_sessions' },
  5329. { oid => '6189',
  5330. descr => 'statistics: number of sessions disconnected by the client closing the network connection',
  5331. proname => 'pg_stat_get_db_sessions_abandoned', provolatile => 's',
  5332. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5333. prosrc => 'pg_stat_get_db_sessions_abandoned' },
  5334. { oid => '6190',
  5335. descr => 'statistics: number of sessions disconnected by fatal errors',
  5336. proname => 'pg_stat_get_db_sessions_fatal', provolatile => 's',
  5337. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5338. prosrc => 'pg_stat_get_db_sessions_fatal' },
  5339. { oid => '6191',
  5340. descr => 'statistics: number of sessions killed by administrative action',
  5341. proname => 'pg_stat_get_db_sessions_killed', provolatile => 's',
  5342. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5343. prosrc => 'pg_stat_get_db_sessions_killed' },
  5344. { oid => '3195', descr => 'statistics: information about WAL archiver',
  5345. proname => 'pg_stat_get_archiver', proisstrict => 'f', provolatile => 's',
  5346. proparallel => 'r', prorettype => 'record', proargtypes => '',
  5347. proallargtypes => '{int8,text,timestamptz,int8,text,timestamptz,timestamptz}',
  5348. proargmodes => '{o,o,o,o,o,o,o}',
  5349. proargnames => '{archived_count,last_archived_wal,last_archived_time,failed_count,last_failed_wal,last_failed_time,stats_reset}',
  5350. prosrc => 'pg_stat_get_archiver' },
  5351. { oid => '2769',
  5352. descr => 'statistics: number of timed checkpoints started by the bgwriter',
  5353. proname => 'pg_stat_get_bgwriter_timed_checkpoints', provolatile => 's',
  5354. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5355. prosrc => 'pg_stat_get_bgwriter_timed_checkpoints' },
  5356. { oid => '2770',
  5357. descr => 'statistics: number of backend requested checkpoints started by the bgwriter',
  5358. proname => 'pg_stat_get_bgwriter_requested_checkpoints', provolatile => 's',
  5359. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5360. prosrc => 'pg_stat_get_bgwriter_requested_checkpoints' },
  5361. { oid => '2771',
  5362. descr => 'statistics: number of buffers written by the bgwriter during checkpoints',
  5363. proname => 'pg_stat_get_bgwriter_buf_written_checkpoints', provolatile => 's',
  5364. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5365. prosrc => 'pg_stat_get_bgwriter_buf_written_checkpoints' },
  5366. { oid => '2772',
  5367. descr => 'statistics: number of buffers written by the bgwriter for cleaning dirty buffers',
  5368. proname => 'pg_stat_get_bgwriter_buf_written_clean', provolatile => 's',
  5369. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5370. prosrc => 'pg_stat_get_bgwriter_buf_written_clean' },
  5371. { oid => '2773',
  5372. descr => 'statistics: number of times the bgwriter stopped processing when it had written too many buffers while cleaning',
  5373. proname => 'pg_stat_get_bgwriter_maxwritten_clean', provolatile => 's',
  5374. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5375. prosrc => 'pg_stat_get_bgwriter_maxwritten_clean' },
  5376. { oid => '3075', descr => 'statistics: last reset for the bgwriter',
  5377. proname => 'pg_stat_get_bgwriter_stat_reset_time', provolatile => 's',
  5378. proparallel => 'r', prorettype => 'timestamptz', proargtypes => '',
  5379. prosrc => 'pg_stat_get_bgwriter_stat_reset_time' },
  5380. { oid => '3160',
  5381. descr => 'statistics: checkpoint time spent writing buffers to disk, in milliseconds',
  5382. proname => 'pg_stat_get_checkpoint_write_time', provolatile => 's',
  5383. proparallel => 'r', prorettype => 'float8', proargtypes => '',
  5384. prosrc => 'pg_stat_get_checkpoint_write_time' },
  5385. { oid => '3161',
  5386. descr => 'statistics: checkpoint time spent synchronizing buffers to disk, in milliseconds',
  5387. proname => 'pg_stat_get_checkpoint_sync_time', provolatile => 's',
  5388. proparallel => 'r', prorettype => 'float8', proargtypes => '',
  5389. prosrc => 'pg_stat_get_checkpoint_sync_time' },
  5390. { oid => '2775', descr => 'statistics: number of buffers written by backends',
  5391. proname => 'pg_stat_get_buf_written_backend', provolatile => 's',
  5392. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5393. prosrc => 'pg_stat_get_buf_written_backend' },
  5394. { oid => '3063',
  5395. descr => 'statistics: number of backend buffer writes that did their own fsync',
  5396. proname => 'pg_stat_get_buf_fsync_backend', provolatile => 's',
  5397. proparallel => 'r', prorettype => 'int8', proargtypes => '',
  5398. prosrc => 'pg_stat_get_buf_fsync_backend' },
  5399. { oid => '2859', descr => 'statistics: number of buffer allocations',
  5400. proname => 'pg_stat_get_buf_alloc', provolatile => 's', proparallel => 'r',
  5401. prorettype => 'int8', proargtypes => '', prosrc => 'pg_stat_get_buf_alloc' },
  5402. { oid => '1136', descr => 'statistics: information about WAL activity',
  5403. proname => 'pg_stat_get_wal', proisstrict => 'f', provolatile => 's',
  5404. proparallel => 'r', prorettype => 'record', proargtypes => '',
  5405. proallargtypes => '{int8,int8,numeric,int8,int8,int8,float8,float8,timestamptz}',
  5406. proargmodes => '{o,o,o,o,o,o,o,o,o}',
  5407. proargnames => '{wal_records,wal_fpi,wal_bytes,wal_buffers_full,wal_write,wal_sync,wal_write_time,wal_sync_time,stats_reset}',
  5408. prosrc => 'pg_stat_get_wal' },
  5409. { oid => '6248', descr => 'statistics: information about WAL prefetching',
  5410. proname => 'pg_stat_get_recovery_prefetch', prorows => '1', proretset => 't',
  5411. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5412. proallargtypes => '{timestamptz,int8,int8,int8,int8,int8,int8,int4,int4,int4}',
  5413. proargmodes => '{o,o,o,o,o,o,o,o,o,o}',
  5414. proargnames => '{stats_reset,prefetch,hit,skip_init,skip_new,skip_fpw,skip_rep,wal_distance,block_distance,io_depth}',
  5415. prosrc => 'pg_stat_get_recovery_prefetch' },
  5416. { oid => '2306', descr => 'statistics: information about SLRU caches',
  5417. proname => 'pg_stat_get_slru', prorows => '100', proisstrict => 'f',
  5418. proretset => 't', provolatile => 's', proparallel => 'r',
  5419. prorettype => 'record', proargtypes => '',
  5420. proallargtypes => '{text,int8,int8,int8,int8,int8,int8,int8,timestamptz}',
  5421. proargmodes => '{o,o,o,o,o,o,o,o,o}',
  5422. proargnames => '{name,blks_zeroed,blks_hit,blks_read,blks_written,blks_exists,flushes,truncates,stats_reset}',
  5423. prosrc => 'pg_stat_get_slru' },
  5424. { oid => '2978', descr => 'statistics: number of function calls',
  5425. proname => 'pg_stat_get_function_calls', provolatile => 's',
  5426. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5427. prosrc => 'pg_stat_get_function_calls' },
  5428. { oid => '2979',
  5429. descr => 'statistics: total execution time of function, in milliseconds',
  5430. proname => 'pg_stat_get_function_total_time', provolatile => 's',
  5431. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5432. prosrc => 'pg_stat_get_function_total_time' },
  5433. { oid => '2980',
  5434. descr => 'statistics: self execution time of function, in milliseconds',
  5435. proname => 'pg_stat_get_function_self_time', provolatile => 's',
  5436. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5437. prosrc => 'pg_stat_get_function_self_time' },
  5438. { oid => '3037',
  5439. descr => 'statistics: number of scans done for table/index in current transaction',
  5440. proname => 'pg_stat_get_xact_numscans', provolatile => 'v',
  5441. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5442. prosrc => 'pg_stat_get_xact_numscans' },
  5443. { oid => '3038',
  5444. descr => 'statistics: number of tuples read by seqscan in current transaction',
  5445. proname => 'pg_stat_get_xact_tuples_returned', provolatile => 'v',
  5446. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5447. prosrc => 'pg_stat_get_xact_tuples_returned' },
  5448. { oid => '3039',
  5449. descr => 'statistics: number of tuples fetched by idxscan in current transaction',
  5450. proname => 'pg_stat_get_xact_tuples_fetched', provolatile => 'v',
  5451. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5452. prosrc => 'pg_stat_get_xact_tuples_fetched' },
  5453. { oid => '3040',
  5454. descr => 'statistics: number of tuples inserted in current transaction',
  5455. proname => 'pg_stat_get_xact_tuples_inserted', provolatile => 'v',
  5456. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5457. prosrc => 'pg_stat_get_xact_tuples_inserted' },
  5458. { oid => '3041',
  5459. descr => 'statistics: number of tuples updated in current transaction',
  5460. proname => 'pg_stat_get_xact_tuples_updated', provolatile => 'v',
  5461. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5462. prosrc => 'pg_stat_get_xact_tuples_updated' },
  5463. { oid => '3042',
  5464. descr => 'statistics: number of tuples deleted in current transaction',
  5465. proname => 'pg_stat_get_xact_tuples_deleted', provolatile => 'v',
  5466. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5467. prosrc => 'pg_stat_get_xact_tuples_deleted' },
  5468. { oid => '3043',
  5469. descr => 'statistics: number of tuples hot updated in current transaction',
  5470. proname => 'pg_stat_get_xact_tuples_hot_updated', provolatile => 'v',
  5471. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5472. prosrc => 'pg_stat_get_xact_tuples_hot_updated' },
  5473. { oid => '3044',
  5474. descr => 'statistics: number of blocks fetched in current transaction',
  5475. proname => 'pg_stat_get_xact_blocks_fetched', provolatile => 'v',
  5476. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5477. prosrc => 'pg_stat_get_xact_blocks_fetched' },
  5478. { oid => '3045',
  5479. descr => 'statistics: number of blocks found in cache in current transaction',
  5480. proname => 'pg_stat_get_xact_blocks_hit', provolatile => 'v',
  5481. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5482. prosrc => 'pg_stat_get_xact_blocks_hit' },
  5483. { oid => '3046',
  5484. descr => 'statistics: number of function calls in current transaction',
  5485. proname => 'pg_stat_get_xact_function_calls', provolatile => 'v',
  5486. proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
  5487. prosrc => 'pg_stat_get_xact_function_calls' },
  5488. { oid => '3047',
  5489. descr => 'statistics: total execution time of function in current transaction, in milliseconds',
  5490. proname => 'pg_stat_get_xact_function_total_time', provolatile => 'v',
  5491. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5492. prosrc => 'pg_stat_get_xact_function_total_time' },
  5493. { oid => '3048',
  5494. descr => 'statistics: self execution time of function in current transaction, in milliseconds',
  5495. proname => 'pg_stat_get_xact_function_self_time', provolatile => 'v',
  5496. proparallel => 'r', prorettype => 'float8', proargtypes => 'oid',
  5497. prosrc => 'pg_stat_get_xact_function_self_time' },
  5498. { oid => '3788',
  5499. descr => 'statistics: timestamp of the current statistics snapshot',
  5500. proname => 'pg_stat_get_snapshot_timestamp', provolatile => 's',
  5501. proparallel => 'r', prorettype => 'timestamptz', proargtypes => '',
  5502. prosrc => 'pg_stat_get_snapshot_timestamp' },
  5503. { oid => '2230',
  5504. descr => 'statistics: discard current transaction\'s statistics snapshot',
  5505. proname => 'pg_stat_clear_snapshot', proisstrict => 'f', provolatile => 'v',
  5506. proparallel => 'r', prorettype => 'void', proargtypes => '',
  5507. prosrc => 'pg_stat_clear_snapshot' },
  5508. { oid => '2137',
  5509. descr => 'statistics: force stats to be flushed after the next commit',
  5510. proname => 'pg_stat_force_next_flush', proisstrict => 'f', provolatile => 'v',
  5511. proparallel => 'r', prorettype => 'void', proargtypes => '',
  5512. prosrc => 'pg_stat_force_next_flush' },
  5513. { oid => '2274',
  5514. descr => 'statistics: reset collected statistics for current database',
  5515. proname => 'pg_stat_reset', proisstrict => 'f', provolatile => 'v',
  5516. prorettype => 'void', proargtypes => '', prosrc => 'pg_stat_reset' },
  5517. { oid => '3775',
  5518. descr => 'statistics: reset collected statistics shared across the cluster',
  5519. proname => 'pg_stat_reset_shared', provolatile => 'v', prorettype => 'void',
  5520. proargtypes => 'text', prosrc => 'pg_stat_reset_shared' },
  5521. { oid => '3776',
  5522. descr => 'statistics: reset collected statistics for a single table or index in the current database or shared across all databases in the cluster',
  5523. proname => 'pg_stat_reset_single_table_counters', provolatile => 'v',
  5524. prorettype => 'void', proargtypes => 'oid',
  5525. prosrc => 'pg_stat_reset_single_table_counters' },
  5526. { oid => '3777',
  5527. descr => 'statistics: reset collected statistics for a single function in the current database',
  5528. proname => 'pg_stat_reset_single_function_counters', provolatile => 'v',
  5529. prorettype => 'void', proargtypes => 'oid',
  5530. prosrc => 'pg_stat_reset_single_function_counters' },
  5531. { oid => '2307',
  5532. descr => 'statistics: reset collected statistics for a single SLRU',
  5533. proname => 'pg_stat_reset_slru', proisstrict => 'f', provolatile => 'v',
  5534. prorettype => 'void', proargtypes => 'text', prosrc => 'pg_stat_reset_slru' },
  5535. { oid => '6170',
  5536. descr => 'statistics: reset collected statistics for a single replication slot',
  5537. proname => 'pg_stat_reset_replication_slot', proisstrict => 'f',
  5538. provolatile => 'v', prorettype => 'void', proargtypes => 'text',
  5539. prosrc => 'pg_stat_reset_replication_slot' },
  5540. { oid => '6232',
  5541. descr => 'statistics: reset collected statistics for a single subscription',
  5542. proname => 'pg_stat_reset_subscription_stats', proisstrict => 'f',
  5543. provolatile => 'v', prorettype => 'void', proargtypes => 'oid',
  5544. prosrc => 'pg_stat_reset_subscription_stats' },
  5545. { oid => '3163', descr => 'current trigger depth',
  5546. proname => 'pg_trigger_depth', provolatile => 's', proparallel => 'r',
  5547. prorettype => 'int4', proargtypes => '', prosrc => 'pg_trigger_depth' },
  5548. { oid => '3778', descr => 'tablespace location',
  5549. proname => 'pg_tablespace_location', provolatile => 's', prorettype => 'text',
  5550. proargtypes => 'oid', prosrc => 'pg_tablespace_location' },
  5551. { oid => '1946',
  5552. descr => 'convert bytea value into some ascii-only text string',
  5553. proname => 'encode', prorettype => 'text', proargtypes => 'bytea text',
  5554. prosrc => 'binary_encode' },
  5555. { oid => '1947',
  5556. descr => 'convert ascii-encoded text string into bytea value',
  5557. proname => 'decode', prorettype => 'bytea', proargtypes => 'text text',
  5558. prosrc => 'binary_decode' },
  5559. { oid => '1948',
  5560. proname => 'byteaeq', proleakproof => 't', prorettype => 'bool',
  5561. proargtypes => 'bytea bytea', prosrc => 'byteaeq' },
  5562. { oid => '1949',
  5563. proname => 'bytealt', proleakproof => 't', prorettype => 'bool',
  5564. proargtypes => 'bytea bytea', prosrc => 'bytealt' },
  5565. { oid => '1950',
  5566. proname => 'byteale', proleakproof => 't', prorettype => 'bool',
  5567. proargtypes => 'bytea bytea', prosrc => 'byteale' },
  5568. { oid => '1951',
  5569. proname => 'byteagt', proleakproof => 't', prorettype => 'bool',
  5570. proargtypes => 'bytea bytea', prosrc => 'byteagt' },
  5571. { oid => '1952',
  5572. proname => 'byteage', proleakproof => 't', prorettype => 'bool',
  5573. proargtypes => 'bytea bytea', prosrc => 'byteage' },
  5574. { oid => '1953',
  5575. proname => 'byteane', proleakproof => 't', prorettype => 'bool',
  5576. proargtypes => 'bytea bytea', prosrc => 'byteane' },
  5577. { oid => '1954', descr => 'less-equal-greater',
  5578. proname => 'byteacmp', proleakproof => 't', prorettype => 'int4',
  5579. proargtypes => 'bytea bytea', prosrc => 'byteacmp' },
  5580. { oid => '3331', descr => 'sort support',
  5581. proname => 'bytea_sortsupport', prorettype => 'void',
  5582. proargtypes => 'internal', prosrc => 'bytea_sortsupport' },
  5583. { oid => '3917', descr => 'planner support for timestamp length coercion',
  5584. proname => 'timestamp_support', prorettype => 'internal',
  5585. proargtypes => 'internal', prosrc => 'timestamp_support' },
  5586. { oid => '3944', descr => 'planner support for time length coercion',
  5587. proname => 'time_support', prorettype => 'internal',
  5588. proargtypes => 'internal', prosrc => 'time_support' },
  5589. { oid => '1961', descr => 'adjust timestamp precision',
  5590. proname => 'timestamp', prosupport => 'timestamp_support',
  5591. prorettype => 'timestamp', proargtypes => 'timestamp int4',
  5592. prosrc => 'timestamp_scale' },
  5593. { oid => '1965', descr => 'larger of two',
  5594. proname => 'oidlarger', prorettype => 'oid', proargtypes => 'oid oid',
  5595. prosrc => 'oidlarger' },
  5596. { oid => '1966', descr => 'smaller of two',
  5597. proname => 'oidsmaller', prorettype => 'oid', proargtypes => 'oid oid',
  5598. prosrc => 'oidsmaller' },
  5599. { oid => '1967', descr => 'adjust timestamptz precision',
  5600. proname => 'timestamptz', prosupport => 'timestamp_support',
  5601. prorettype => 'timestamptz', proargtypes => 'timestamptz int4',
  5602. prosrc => 'timestamptz_scale' },
  5603. { oid => '1968', descr => 'adjust time precision',
  5604. proname => 'time', prosupport => 'time_support', prorettype => 'time',
  5605. proargtypes => 'time int4', prosrc => 'time_scale' },
  5606. { oid => '1969', descr => 'adjust time with time zone precision',
  5607. proname => 'timetz', prosupport => 'time_support', prorettype => 'timetz',
  5608. proargtypes => 'timetz int4', prosrc => 'timetz_scale' },
  5609. { oid => '2003',
  5610. proname => 'textanycat', prolang => 'sql', provolatile => 's',
  5611. prorettype => 'text', proargtypes => 'text anynonarray',
  5612. prosrc => 'select $1 operator(pg_catalog.||) $2::pg_catalog.text' },
  5613. { oid => '2004',
  5614. proname => 'anytextcat', prolang => 'sql', provolatile => 's',
  5615. prorettype => 'text', proargtypes => 'anynonarray text',
  5616. prosrc => 'select $1::pg_catalog.text operator(pg_catalog.||) $2' },
  5617. { oid => '2005',
  5618. proname => 'bytealike', prosupport => 'textlike_support',
  5619. prorettype => 'bool', proargtypes => 'bytea bytea', prosrc => 'bytealike' },
  5620. { oid => '2006',
  5621. proname => 'byteanlike', prorettype => 'bool', proargtypes => 'bytea bytea',
  5622. prosrc => 'byteanlike' },
  5623. { oid => '2007', descr => 'matches LIKE expression',
  5624. proname => 'like', prosupport => 'textlike_support', prorettype => 'bool',
  5625. proargtypes => 'bytea bytea', prosrc => 'bytealike' },
  5626. { oid => '2008', descr => 'does not match LIKE expression',
  5627. proname => 'notlike', prorettype => 'bool', proargtypes => 'bytea bytea',
  5628. prosrc => 'byteanlike' },
  5629. { oid => '2009', descr => 'convert LIKE pattern to use backslash escapes',
  5630. proname => 'like_escape', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5631. prosrc => 'like_escape_bytea' },
  5632. { oid => '2010', descr => 'octet length',
  5633. proname => 'length', prorettype => 'int4', proargtypes => 'bytea',
  5634. prosrc => 'byteaoctetlen' },
  5635. { oid => '2011',
  5636. proname => 'byteacat', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5637. prosrc => 'byteacat' },
  5638. { oid => '2012', descr => 'extract portion of string',
  5639. proname => 'substring', prorettype => 'bytea',
  5640. proargtypes => 'bytea int4 int4', prosrc => 'bytea_substr' },
  5641. { oid => '2013', descr => 'extract portion of string',
  5642. proname => 'substring', prorettype => 'bytea', proargtypes => 'bytea int4',
  5643. prosrc => 'bytea_substr_no_len' },
  5644. { oid => '2085', descr => 'extract portion of string',
  5645. proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4 int4',
  5646. prosrc => 'bytea_substr' },
  5647. { oid => '2086', descr => 'extract portion of string',
  5648. proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4',
  5649. prosrc => 'bytea_substr_no_len' },
  5650. { oid => '2014', descr => 'position of substring',
  5651. proname => 'position', prorettype => 'int4', proargtypes => 'bytea bytea',
  5652. prosrc => 'byteapos' },
  5653. { oid => '2015', descr => 'trim selected bytes from both ends of string',
  5654. proname => 'btrim', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5655. prosrc => 'byteatrim' },
  5656. { oid => '6195', descr => 'trim selected bytes from left end of string',
  5657. proname => 'ltrim', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5658. prosrc => 'bytealtrim' },
  5659. { oid => '6196', descr => 'trim selected bytes from right end of string',
  5660. proname => 'rtrim', prorettype => 'bytea', proargtypes => 'bytea bytea',
  5661. prosrc => 'byteartrim' },
  5662. { oid => '2019', descr => 'convert timestamp with time zone to time',
  5663. proname => 'time', provolatile => 's', prorettype => 'time',
  5664. proargtypes => 'timestamptz', prosrc => 'timestamptz_time' },
  5665. { oid => '2020', descr => 'truncate timestamp to specified units',
  5666. proname => 'date_trunc', prorettype => 'timestamp',
  5667. proargtypes => 'text timestamp', prosrc => 'timestamp_trunc' },
  5668. { oid => '6177', descr => 'bin timestamp into specified interval',
  5669. proname => 'date_bin', prorettype => 'timestamp',
  5670. proargtypes => 'interval timestamp timestamp', prosrc => 'timestamp_bin' },
  5671. { oid => '6178',
  5672. descr => 'bin timestamp with time zone into specified interval',
  5673. proname => 'date_bin', prorettype => 'timestamptz',
  5674. proargtypes => 'interval timestamptz timestamptz',
  5675. prosrc => 'timestamptz_bin' },
  5676. { oid => '2021', descr => 'extract field from timestamp',
  5677. proname => 'date_part', prorettype => 'float8',
  5678. proargtypes => 'text timestamp', prosrc => 'timestamp_part' },
  5679. { oid => '6202', descr => 'extract field from timestamp',
  5680. proname => 'extract', prorettype => 'numeric',
  5681. proargtypes => 'text timestamp', prosrc => 'extract_timestamp' },
  5682. { oid => '2024', descr => 'convert date to timestamp',
  5683. proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date',
  5684. prosrc => 'date_timestamp' },
  5685. { oid => '2025', descr => 'convert date and time to timestamp',
  5686. proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date time',
  5687. prosrc => 'datetime_timestamp' },
  5688. { oid => '2027', descr => 'convert timestamp with time zone to timestamp',
  5689. proname => 'timestamp', provolatile => 's', prorettype => 'timestamp',
  5690. proargtypes => 'timestamptz', prosrc => 'timestamptz_timestamp' },
  5691. { oid => '2028', descr => 'convert timestamp to timestamp with time zone',
  5692. proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz',
  5693. proargtypes => 'timestamp', prosrc => 'timestamp_timestamptz' },
  5694. { oid => '2029', descr => 'convert timestamp to date',
  5695. proname => 'date', prorettype => 'date', proargtypes => 'timestamp',
  5696. prosrc => 'timestamp_date' },
  5697. { oid => '2031',
  5698. proname => 'timestamp_mi', prorettype => 'interval',
  5699. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_mi' },
  5700. { oid => '2032',
  5701. proname => 'timestamp_pl_interval', prorettype => 'timestamp',
  5702. proargtypes => 'timestamp interval', prosrc => 'timestamp_pl_interval' },
  5703. { oid => '2033',
  5704. proname => 'timestamp_mi_interval', prorettype => 'timestamp',
  5705. proargtypes => 'timestamp interval', prosrc => 'timestamp_mi_interval' },
  5706. { oid => '2035', descr => 'smaller of two',
  5707. proname => 'timestamp_smaller', prorettype => 'timestamp',
  5708. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_smaller' },
  5709. { oid => '2036', descr => 'larger of two',
  5710. proname => 'timestamp_larger', prorettype => 'timestamp',
  5711. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_larger' },
  5712. { oid => '2037', descr => 'adjust time with time zone to new zone',
  5713. proname => 'timezone', provolatile => 's', prorettype => 'timetz',
  5714. proargtypes => 'text timetz', prosrc => 'timetz_zone' },
  5715. { oid => '2038', descr => 'adjust time with time zone to new zone',
  5716. proname => 'timezone', prorettype => 'timetz',
  5717. proargtypes => 'interval timetz', prosrc => 'timetz_izone' },
  5718. { oid => '2039', descr => 'hash',
  5719. proname => 'timestamp_hash', prorettype => 'int4', proargtypes => 'timestamp',
  5720. prosrc => 'timestamp_hash' },
  5721. { oid => '3411', descr => 'hash',
  5722. proname => 'timestamp_hash_extended', prorettype => 'int8',
  5723. proargtypes => 'timestamp int8', prosrc => 'timestamp_hash_extended' },
  5724. { oid => '2041', descr => 'intervals overlap?',
  5725. proname => 'overlaps', proisstrict => 'f', prorettype => 'bool',
  5726. proargtypes => 'timestamp timestamp timestamp timestamp',
  5727. prosrc => 'overlaps_timestamp' },
  5728. { oid => '2042', descr => 'intervals overlap?',
  5729. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  5730. prorettype => 'bool', proargtypes => 'timestamp interval timestamp interval',
  5731. prosrc => 'see system_functions.sql' },
  5732. { oid => '2043', descr => 'intervals overlap?',
  5733. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  5734. prorettype => 'bool', proargtypes => 'timestamp timestamp timestamp interval',
  5735. prosrc => 'see system_functions.sql' },
  5736. { oid => '2044', descr => 'intervals overlap?',
  5737. proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
  5738. prorettype => 'bool', proargtypes => 'timestamp interval timestamp timestamp',
  5739. prosrc => 'see system_functions.sql' },
  5740. { oid => '2045', descr => 'less-equal-greater',
  5741. proname => 'timestamp_cmp', proleakproof => 't', prorettype => 'int4',
  5742. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_cmp' },
  5743. { oid => '3137', descr => 'sort support',
  5744. proname => 'timestamp_sortsupport', prorettype => 'void',
  5745. proargtypes => 'internal', prosrc => 'timestamp_sortsupport' },
  5746. { oid => '4134', descr => 'window RANGE support',
  5747. proname => 'in_range', prorettype => 'bool',
  5748. proargtypes => 'timestamp timestamp interval bool bool',
  5749. prosrc => 'in_range_timestamp_interval' },
  5750. { oid => '4135', descr => 'window RANGE support',
  5751. proname => 'in_range', provolatile => 's', prorettype => 'bool',
  5752. proargtypes => 'timestamptz timestamptz interval bool bool',
  5753. prosrc => 'in_range_timestamptz_interval' },
  5754. { oid => '4136', descr => 'window RANGE support',
  5755. proname => 'in_range', prorettype => 'bool',
  5756. proargtypes => 'interval interval interval bool bool',
  5757. prosrc => 'in_range_interval_interval' },
  5758. { oid => '4137', descr => 'window RANGE support',
  5759. proname => 'in_range', prorettype => 'bool',
  5760. proargtypes => 'time time interval bool bool',
  5761. prosrc => 'in_range_time_interval' },
  5762. { oid => '4138', descr => 'window RANGE support',
  5763. proname => 'in_range', prorettype => 'bool',
  5764. proargtypes => 'timetz timetz interval bool bool',
  5765. prosrc => 'in_range_timetz_interval' },
  5766. { oid => '2046', descr => 'convert time with time zone to time',
  5767. proname => 'time', prorettype => 'time', proargtypes => 'timetz',
  5768. prosrc => 'timetz_time' },
  5769. { oid => '2047', descr => 'convert time to time with time zone',
  5770. proname => 'timetz', provolatile => 's', prorettype => 'timetz',
  5771. proargtypes => 'time', prosrc => 'time_timetz' },
  5772. { oid => '2048', descr => 'finite timestamp?',
  5773. proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamp',
  5774. prosrc => 'timestamp_finite' },
  5775. { oid => '2049', descr => 'format timestamp to text',
  5776. proname => 'to_char', provolatile => 's', prorettype => 'text',
  5777. proargtypes => 'timestamp text', prosrc => 'timestamp_to_char' },
  5778. { oid => '2052',
  5779. proname => 'timestamp_eq', proleakproof => 't', prorettype => 'bool',
  5780. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_eq' },
  5781. { oid => '2053',
  5782. proname => 'timestamp_ne', proleakproof => 't', prorettype => 'bool',
  5783. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ne' },
  5784. { oid => '2054',
  5785. proname => 'timestamp_lt', proleakproof => 't', prorettype => 'bool',
  5786. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_lt' },
  5787. { oid => '2055',
  5788. proname => 'timestamp_le', proleakproof => 't', prorettype => 'bool',
  5789. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_le' },
  5790. { oid => '2056',
  5791. proname => 'timestamp_ge', proleakproof => 't', prorettype => 'bool',
  5792. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ge' },
  5793. { oid => '2057',
  5794. proname => 'timestamp_gt', proleakproof => 't', prorettype => 'bool',
  5795. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_gt' },
  5796. { oid => '2058', descr => 'date difference preserving months and years',
  5797. proname => 'age', prorettype => 'interval',
  5798. proargtypes => 'timestamp timestamp', prosrc => 'timestamp_age' },
  5799. { oid => '2059',
  5800. descr => 'date difference from today preserving months and years',
  5801. proname => 'age', prolang => 'sql', provolatile => 's',
  5802. prorettype => 'interval', proargtypes => 'timestamp',
  5803. prosrc => 'see system_functions.sql' },
  5804. { oid => '2069', descr => 'adjust timestamp to new time zone',
  5805. proname => 'timezone', prorettype => 'timestamptz',
  5806. proargtypes => 'text timestamp', prosrc => 'timestamp_zone' },
  5807. { oid => '2070', descr => 'adjust timestamp to new time zone',
  5808. proname => 'timezone', prorettype => 'timestamptz',
  5809. proargtypes => 'interval timestamp', prosrc => 'timestamp_izone' },
  5810. { oid => '2071',
  5811. proname => 'date_pl_interval', prorettype => 'timestamp',
  5812. proargtypes => 'date interval', prosrc => 'date_pl_interval' },
  5813. { oid => '2072',
  5814. proname => 'date_mi_interval', prorettype => 'timestamp',
  5815. proargtypes => 'date interval', prosrc => 'date_mi_interval' },
  5816. { oid => '2073', descr => 'extract text matching regular expression',
  5817. proname => 'substring', prorettype => 'text', proargtypes => 'text text',
  5818. prosrc => 'textregexsubstr' },
  5819. { oid => '2074', descr => 'extract text matching SQL regular expression',
  5820. proname => 'substring', prolang => 'sql', prorettype => 'text',
  5821. proargtypes => 'text text text', prosrc => 'see system_functions.sql' },
  5822. { oid => '2075', descr => 'convert int8 to bitstring',
  5823. proname => 'bit', prorettype => 'bit', proargtypes => 'int8 int4',
  5824. prosrc => 'bitfromint8' },
  5825. { oid => '2076', descr => 'convert bitstring to int8',
  5826. proname => 'int8', prorettype => 'int8', proargtypes => 'bit',
  5827. prosrc => 'bittoint8' },
  5828. { oid => '2077', descr => 'SHOW X as a function',
  5829. proname => 'current_setting', provolatile => 's', prorettype => 'text',
  5830. proargtypes => 'text', prosrc => 'show_config_by_name' },
  5831. { oid => '3294',
  5832. descr => 'SHOW X as a function, optionally no error for missing variable',
  5833. proname => 'current_setting', provolatile => 's', prorettype => 'text',
  5834. proargtypes => 'text bool', prosrc => 'show_config_by_name_missing_ok' },
  5835. { oid => '2078', descr => 'SET X as a function',
  5836. proname => 'set_config', proisstrict => 'f', provolatile => 'v',
  5837. proparallel => 'u', prorettype => 'text', proargtypes => 'text text bool',
  5838. prosrc => 'set_config_by_name' },
  5839. { oid => '2084', descr => 'SHOW ALL as a function',
  5840. proname => 'pg_show_all_settings', prorows => '1000', proretset => 't',
  5841. provolatile => 's', prorettype => 'record', proargtypes => '',
  5842. proallargtypes => '{text,text,text,text,text,text,text,text,text,text,text,_text,text,text,text,int4,bool}',
  5843. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5844. proargnames => '{name,setting,unit,category,short_desc,extra_desc,context,vartype,source,min_val,max_val,enumvals,boot_val,reset_val,sourcefile,sourceline,pending_restart}',
  5845. prosrc => 'show_all_settings' },
  5846. { oid => '6240', descr => 'return flags for specified GUC',
  5847. proname => 'pg_settings_get_flags', provolatile => 's', prorettype => '_text',
  5848. proargtypes => 'text', prosrc => 'pg_settings_get_flags' },
  5849. { oid => '3329', descr => 'show config file settings',
  5850. proname => 'pg_show_all_file_settings', prorows => '1000', proretset => 't',
  5851. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5852. proallargtypes => '{text,int4,int4,text,text,bool,text}',
  5853. proargmodes => '{o,o,o,o,o,o,o}',
  5854. proargnames => '{sourcefile,sourceline,seqno,name,setting,applied,error}',
  5855. prosrc => 'show_all_file_settings' },
  5856. { oid => '3401', descr => 'show pg_hba.conf rules',
  5857. proname => 'pg_hba_file_rules', prorows => '1000', proretset => 't',
  5858. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5859. proallargtypes => '{int4,text,_text,_text,text,text,text,_text,text}',
  5860. proargmodes => '{o,o,o,o,o,o,o,o,o}',
  5861. proargnames => '{line_number,type,database,user_name,address,netmask,auth_method,options,error}',
  5862. prosrc => 'pg_hba_file_rules' },
  5863. { oid => '6250', descr => 'show pg_ident.conf mappings',
  5864. proname => 'pg_ident_file_mappings', prorows => '1000', proretset => 't',
  5865. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5866. proallargtypes => '{int4,text,text,text,text}', proargmodes => '{o,o,o,o,o}',
  5867. proargnames => '{line_number,map_name,sys_name,pg_username,error}',
  5868. prosrc => 'pg_ident_file_mappings' },
  5869. { oid => '1371', descr => 'view system lock information',
  5870. proname => 'pg_lock_status', prorows => '1000', proretset => 't',
  5871. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5872. proallargtypes => '{text,oid,oid,int4,int2,text,xid,oid,oid,int2,text,int4,text,bool,bool,timestamptz}',
  5873. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  5874. proargnames => '{locktype,database,relation,page,tuple,virtualxid,transactionid,classid,objid,objsubid,virtualtransaction,pid,mode,granted,fastpath,waitstart}',
  5875. prosrc => 'pg_lock_status' },
  5876. { oid => '2561',
  5877. descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a heavyweight lock',
  5878. proname => 'pg_blocking_pids', provolatile => 'v', prorettype => '_int4',
  5879. proargtypes => 'int4', prosrc => 'pg_blocking_pids' },
  5880. { oid => '3376',
  5881. descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a safe snapshot',
  5882. proname => 'pg_safe_snapshot_blocking_pids', provolatile => 'v',
  5883. prorettype => '_int4', proargtypes => 'int4',
  5884. prosrc => 'pg_safe_snapshot_blocking_pids' },
  5885. { oid => '3378', descr => 'isolationtester support function',
  5886. proname => 'pg_isolation_test_session_is_blocked', provolatile => 'v',
  5887. prorettype => 'bool', proargtypes => 'int4 _int4',
  5888. prosrc => 'pg_isolation_test_session_is_blocked' },
  5889. { oid => '1065', descr => 'view two-phase transactions',
  5890. proname => 'pg_prepared_xact', prorows => '1000', proretset => 't',
  5891. provolatile => 'v', prorettype => 'record', proargtypes => '',
  5892. proallargtypes => '{xid,text,timestamptz,oid,oid}',
  5893. proargmodes => '{o,o,o,o,o}',
  5894. proargnames => '{transaction,gid,prepared,ownerid,dbid}',
  5895. prosrc => 'pg_prepared_xact' },
  5896. { oid => '3819', descr => 'view members of a multixactid',
  5897. proname => 'pg_get_multixact_members', prorows => '1000', proretset => 't',
  5898. provolatile => 'v', prorettype => 'record', proargtypes => 'xid',
  5899. proallargtypes => '{xid,xid,text}', proargmodes => '{i,o,o}',
  5900. proargnames => '{multixid,xid,mode}', prosrc => 'pg_get_multixact_members' },
  5901. { oid => '3581', descr => 'get commit timestamp of a transaction',
  5902. proname => 'pg_xact_commit_timestamp', provolatile => 'v',
  5903. prorettype => 'timestamptz', proargtypes => 'xid',
  5904. prosrc => 'pg_xact_commit_timestamp' },
  5905. { oid => '6168',
  5906. descr => 'get commit timestamp and replication origin of a transaction',
  5907. proname => 'pg_xact_commit_timestamp_origin', provolatile => 'v',
  5908. prorettype => 'record', proargtypes => 'xid',
  5909. proallargtypes => '{xid,timestamptz,oid}', proargmodes => '{i,o,o}',
  5910. proargnames => '{xid,timestamp,roident}',
  5911. prosrc => 'pg_xact_commit_timestamp_origin' },
  5912. { oid => '3583',
  5913. descr => 'get transaction Id, commit timestamp and replication origin of latest transaction commit',
  5914. proname => 'pg_last_committed_xact', provolatile => 'v',
  5915. prorettype => 'record', proargtypes => '',
  5916. proallargtypes => '{xid,timestamptz,oid}', proargmodes => '{o,o,o}',
  5917. proargnames => '{xid,timestamp,roident}',
  5918. prosrc => 'pg_last_committed_xact' },
  5919. { oid => '3537', descr => 'get identification of SQL object',
  5920. proname => 'pg_describe_object', provolatile => 's', prorettype => 'text',
  5921. proargtypes => 'oid oid int4', prosrc => 'pg_describe_object' },
  5922. { oid => '3839',
  5923. descr => 'get machine-parseable identification of SQL object',
  5924. proname => 'pg_identify_object', provolatile => 's', prorettype => 'record',
  5925. proargtypes => 'oid oid int4',
  5926. proallargtypes => '{oid,oid,int4,text,text,text,text}',
  5927. proargmodes => '{i,i,i,o,o,o,o}',
  5928. proargnames => '{classid,objid,objsubid,type,schema,name,identity}',
  5929. prosrc => 'pg_identify_object' },
  5930. { oid => '3382',
  5931. descr => 'get identification of SQL object for pg_get_object_address()',
  5932. proname => 'pg_identify_object_as_address', provolatile => 's',
  5933. prorettype => 'record', proargtypes => 'oid oid int4',
  5934. proallargtypes => '{oid,oid,int4,text,_text,_text}',
  5935. proargmodes => '{i,i,i,o,o,o}',
  5936. proargnames => '{classid,objid,objsubid,type,object_names,object_args}',
  5937. prosrc => 'pg_identify_object_as_address' },
  5938. { oid => '3954',
  5939. descr => 'get OID-based object address from name/args arrays',
  5940. proname => 'pg_get_object_address', provolatile => 's',
  5941. prorettype => 'record', proargtypes => 'text _text _text',
  5942. proallargtypes => '{text,_text,_text,oid,oid,int4}',
  5943. proargmodes => '{i,i,i,o,o,o}',
  5944. proargnames => '{type,object_names,object_args,classid,objid,objsubid}',
  5945. prosrc => 'pg_get_object_address' },
  5946. { oid => '2079', descr => 'is table visible in search path?',
  5947. proname => 'pg_table_is_visible', procost => '10', provolatile => 's',
  5948. prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_table_is_visible' },
  5949. { oid => '2080', descr => 'is type visible in search path?',
  5950. proname => 'pg_type_is_visible', procost => '10', provolatile => 's',
  5951. prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_type_is_visible' },
  5952. { oid => '2081', descr => 'is function visible in search path?',
  5953. proname => 'pg_function_is_visible', procost => '10', provolatile => 's',
  5954. prorettype => 'bool', proargtypes => 'oid',
  5955. prosrc => 'pg_function_is_visible' },
  5956. { oid => '2082', descr => 'is operator visible in search path?',
  5957. proname => 'pg_operator_is_visible', procost => '10', provolatile => 's',
  5958. prorettype => 'bool', proargtypes => 'oid',
  5959. prosrc => 'pg_operator_is_visible' },
  5960. { oid => '2083', descr => 'is opclass visible in search path?',
  5961. proname => 'pg_opclass_is_visible', procost => '10', provolatile => 's',
  5962. prorettype => 'bool', proargtypes => 'oid',
  5963. prosrc => 'pg_opclass_is_visible' },
  5964. { oid => '3829', descr => 'is opfamily visible in search path?',
  5965. proname => 'pg_opfamily_is_visible', procost => '10', provolatile => 's',
  5966. prorettype => 'bool', proargtypes => 'oid',
  5967. prosrc => 'pg_opfamily_is_visible' },
  5968. { oid => '2093', descr => 'is conversion visible in search path?',
  5969. proname => 'pg_conversion_is_visible', procost => '10', provolatile => 's',
  5970. prorettype => 'bool', proargtypes => 'oid',
  5971. prosrc => 'pg_conversion_is_visible' },
  5972. { oid => '3403', descr => 'is statistics object visible in search path?',
  5973. proname => 'pg_statistics_obj_is_visible', procost => '10',
  5974. provolatile => 's', prorettype => 'bool', proargtypes => 'oid',
  5975. prosrc => 'pg_statistics_obj_is_visible' },
  5976. { oid => '3756', descr => 'is text search parser visible in search path?',
  5977. proname => 'pg_ts_parser_is_visible', procost => '10', provolatile => 's',
  5978. prorettype => 'bool', proargtypes => 'oid',
  5979. prosrc => 'pg_ts_parser_is_visible' },
  5980. { oid => '3757', descr => 'is text search dictionary visible in search path?',
  5981. proname => 'pg_ts_dict_is_visible', procost => '10', provolatile => 's',
  5982. prorettype => 'bool', proargtypes => 'oid',
  5983. prosrc => 'pg_ts_dict_is_visible' },
  5984. { oid => '3768', descr => 'is text search template visible in search path?',
  5985. proname => 'pg_ts_template_is_visible', procost => '10', provolatile => 's',
  5986. prorettype => 'bool', proargtypes => 'oid',
  5987. prosrc => 'pg_ts_template_is_visible' },
  5988. { oid => '3758',
  5989. descr => 'is text search configuration visible in search path?',
  5990. proname => 'pg_ts_config_is_visible', procost => '10', provolatile => 's',
  5991. prorettype => 'bool', proargtypes => 'oid',
  5992. prosrc => 'pg_ts_config_is_visible' },
  5993. { oid => '3815', descr => 'is collation visible in search path?',
  5994. proname => 'pg_collation_is_visible', procost => '10', provolatile => 's',
  5995. prorettype => 'bool', proargtypes => 'oid',
  5996. prosrc => 'pg_collation_is_visible' },
  5997. { oid => '2854', descr => 'get OID of current session\'s temp schema, if any',
  5998. proname => 'pg_my_temp_schema', provolatile => 's', proparallel => 'r',
  5999. prorettype => 'oid', proargtypes => '', prosrc => 'pg_my_temp_schema' },
  6000. { oid => '2855', descr => 'is schema another session\'s temp schema?',
  6001. proname => 'pg_is_other_temp_schema', provolatile => 's',
  6002. prorettype => 'bool', proargtypes => 'oid',
  6003. prosrc => 'pg_is_other_temp_schema' },
  6004. { oid => '2171', descr => 'cancel a server process\' current query',
  6005. proname => 'pg_cancel_backend', provolatile => 'v', prorettype => 'bool',
  6006. proargtypes => 'int4', prosrc => 'pg_cancel_backend' },
  6007. { oid => '2096', descr => 'terminate a server process',
  6008. proname => 'pg_terminate_backend', provolatile => 'v', prorettype => 'bool',
  6009. proargtypes => 'int4 int8', proargnames => '{pid,timeout}',
  6010. prosrc => 'pg_terminate_backend' },
  6011. { oid => '2172', descr => 'prepare for taking an online backup',
  6012. proname => 'pg_backup_start', provolatile => 'v', proparallel => 'r',
  6013. prorettype => 'pg_lsn', proargtypes => 'text bool',
  6014. prosrc => 'pg_backup_start' },
  6015. { oid => '2739', descr => 'finish taking an online backup',
  6016. proname => 'pg_backup_stop', provolatile => 'v', proparallel => 'r',
  6017. prorettype => 'record', proargtypes => 'bool',
  6018. proallargtypes => '{bool,pg_lsn,text,text}', proargmodes => '{i,o,o,o}',
  6019. proargnames => '{wait_for_archive,lsn,labelfile,spcmapfile}',
  6020. prosrc => 'pg_backup_stop' },
  6021. { oid => '3436', descr => 'promote standby server',
  6022. proname => 'pg_promote', provolatile => 'v', prorettype => 'bool',
  6023. proargtypes => 'bool int4', proargnames => '{wait,wait_seconds}',
  6024. prosrc => 'pg_promote' },
  6025. { oid => '2848', descr => 'switch to new wal file',
  6026. proname => 'pg_switch_wal', provolatile => 'v', prorettype => 'pg_lsn',
  6027. proargtypes => '', prosrc => 'pg_switch_wal' },
  6028. { oid => '3098', descr => 'create a named restore point',
  6029. proname => 'pg_create_restore_point', provolatile => 'v',
  6030. prorettype => 'pg_lsn', proargtypes => 'text',
  6031. prosrc => 'pg_create_restore_point' },
  6032. { oid => '2849', descr => 'current wal write location',
  6033. proname => 'pg_current_wal_lsn', provolatile => 'v', prorettype => 'pg_lsn',
  6034. proargtypes => '', prosrc => 'pg_current_wal_lsn' },
  6035. { oid => '2852', descr => 'current wal insert location',
  6036. proname => 'pg_current_wal_insert_lsn', provolatile => 'v',
  6037. prorettype => 'pg_lsn', proargtypes => '',
  6038. prosrc => 'pg_current_wal_insert_lsn' },
  6039. { oid => '3330', descr => 'current wal flush location',
  6040. proname => 'pg_current_wal_flush_lsn', provolatile => 'v',
  6041. prorettype => 'pg_lsn', proargtypes => '',
  6042. prosrc => 'pg_current_wal_flush_lsn' },
  6043. { oid => '2850',
  6044. descr => 'wal filename and byte offset, given a wal location',
  6045. proname => 'pg_walfile_name_offset', prorettype => 'record',
  6046. proargtypes => 'pg_lsn', proallargtypes => '{pg_lsn,text,int4}',
  6047. proargmodes => '{i,o,o}', proargnames => '{lsn,file_name,file_offset}',
  6048. prosrc => 'pg_walfile_name_offset' },
  6049. { oid => '2851', descr => 'wal filename, given a wal location',
  6050. proname => 'pg_walfile_name', prorettype => 'text', proargtypes => 'pg_lsn',
  6051. prosrc => 'pg_walfile_name' },
  6052. { oid => '3165', descr => 'difference in bytes, given two wal locations',
  6053. proname => 'pg_wal_lsn_diff', prorettype => 'numeric',
  6054. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_wal_lsn_diff' },
  6055. { oid => '3809', descr => 'export a snapshot',
  6056. proname => 'pg_export_snapshot', provolatile => 'v', proparallel => 'u',
  6057. prorettype => 'text', proargtypes => '', prosrc => 'pg_export_snapshot' },
  6058. { oid => '3810', descr => 'true if server is in recovery',
  6059. proname => 'pg_is_in_recovery', provolatile => 'v', prorettype => 'bool',
  6060. proargtypes => '', prosrc => 'pg_is_in_recovery' },
  6061. { oid => '3820', descr => 'current wal flush location',
  6062. proname => 'pg_last_wal_receive_lsn', provolatile => 'v',
  6063. prorettype => 'pg_lsn', proargtypes => '',
  6064. prosrc => 'pg_last_wal_receive_lsn' },
  6065. { oid => '3821', descr => 'last wal replay location',
  6066. proname => 'pg_last_wal_replay_lsn', provolatile => 'v',
  6067. prorettype => 'pg_lsn', proargtypes => '',
  6068. prosrc => 'pg_last_wal_replay_lsn' },
  6069. { oid => '3830', descr => 'timestamp of last replay xact',
  6070. proname => 'pg_last_xact_replay_timestamp', provolatile => 'v',
  6071. prorettype => 'timestamptz', proargtypes => '',
  6072. prosrc => 'pg_last_xact_replay_timestamp' },
  6073. { oid => '3071', descr => 'pause wal replay',
  6074. proname => 'pg_wal_replay_pause', provolatile => 'v', prorettype => 'void',
  6075. proargtypes => '', prosrc => 'pg_wal_replay_pause' },
  6076. { oid => '3072', descr => 'resume wal replay, if it was paused',
  6077. proname => 'pg_wal_replay_resume', provolatile => 'v', prorettype => 'void',
  6078. proargtypes => '', prosrc => 'pg_wal_replay_resume' },
  6079. { oid => '3073', descr => 'true if wal replay is paused',
  6080. proname => 'pg_is_wal_replay_paused', provolatile => 'v',
  6081. prorettype => 'bool', proargtypes => '',
  6082. prosrc => 'pg_is_wal_replay_paused' },
  6083. { oid => '1137', descr => 'get wal replay pause state',
  6084. proname => 'pg_get_wal_replay_pause_state', provolatile => 'v',
  6085. prorettype => 'text', proargtypes => '',
  6086. prosrc => 'pg_get_wal_replay_pause_state' },
  6087. { oid => '6224', descr => 'get resource managers loaded in system',
  6088. proname => 'pg_get_wal_resource_managers', prorows => '50', proretset => 't',
  6089. provolatile => 'v', prorettype => 'record', proargtypes => '',
  6090. proallargtypes => '{int4,text,bool}', proargmodes => '{o,o,o}',
  6091. proargnames => '{rm_id, rm_name, rm_builtin}',
  6092. prosrc => 'pg_get_wal_resource_managers' },
  6093. { oid => '2621', descr => 'reload configuration files',
  6094. proname => 'pg_reload_conf', provolatile => 'v', prorettype => 'bool',
  6095. proargtypes => '', prosrc => 'pg_reload_conf' },
  6096. { oid => '2622', descr => 'rotate log file',
  6097. proname => 'pg_rotate_logfile', provolatile => 'v', prorettype => 'bool',
  6098. proargtypes => '', prosrc => 'pg_rotate_logfile_v2' },
  6099. { oid => '4099', descr => 'rotate log file - old version for adminpack 1.0',
  6100. proname => 'pg_rotate_logfile_old', provolatile => 'v', prorettype => 'bool',
  6101. proargtypes => '', prosrc => 'pg_rotate_logfile' },
  6102. { oid => '3800', descr => 'current logging collector file location',
  6103. proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v',
  6104. prorettype => 'text', proargtypes => '', prosrc => 'pg_current_logfile' },
  6105. { oid => '3801', descr => 'current logging collector file location',
  6106. proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v',
  6107. prorettype => 'text', proargtypes => 'text',
  6108. prosrc => 'pg_current_logfile_1arg' },
  6109. { oid => '2623', descr => 'get information about file',
  6110. proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record',
  6111. proargtypes => 'text',
  6112. proallargtypes => '{text,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}',
  6113. proargmodes => '{i,o,o,o,o,o,o}',
  6114. proargnames => '{filename,size,access,modification,change,creation,isdir}',
  6115. prosrc => 'pg_stat_file_1arg' },
  6116. { oid => '3307', descr => 'get information about file',
  6117. proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record',
  6118. proargtypes => 'text bool',
  6119. proallargtypes => '{text,bool,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}',
  6120. proargmodes => '{i,i,o,o,o,o,o,o}',
  6121. proargnames => '{filename,missing_ok,size,access,modification,change,creation,isdir}',
  6122. prosrc => 'pg_stat_file' },
  6123. { oid => '2624', descr => 'read text from a file',
  6124. proname => 'pg_read_file', provolatile => 'v', prorettype => 'text',
  6125. proargtypes => 'text int8 int8', prosrc => 'pg_read_file_off_len' },
  6126. { oid => '3293', descr => 'read text from a file',
  6127. proname => 'pg_read_file', provolatile => 'v', prorettype => 'text',
  6128. proargtypes => 'text int8 int8 bool', prosrc => 'pg_read_file_v2' },
  6129. { oid => '4100',
  6130. descr => 'read text from a file - old version for adminpack 1.0',
  6131. proname => 'pg_read_file_old', provolatile => 'v', prorettype => 'text',
  6132. proargtypes => 'text int8 int8', prosrc => 'pg_read_file' },
  6133. { oid => '3826', descr => 'read text from a file',
  6134. proname => 'pg_read_file', provolatile => 'v', prorettype => 'text',
  6135. proargtypes => 'text', prosrc => 'pg_read_file_all' },
  6136. { oid => '3827', descr => 'read bytea from a file',
  6137. proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea',
  6138. proargtypes => 'text int8 int8', prosrc => 'pg_read_binary_file_off_len' },
  6139. { oid => '3295', descr => 'read bytea from a file',
  6140. proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea',
  6141. proargtypes => 'text int8 int8 bool', prosrc => 'pg_read_binary_file' },
  6142. { oid => '3828', descr => 'read bytea from a file',
  6143. proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea',
  6144. proargtypes => 'text', prosrc => 'pg_read_binary_file_all' },
  6145. { oid => '2625', descr => 'list all files in a directory',
  6146. proname => 'pg_ls_dir', prorows => '1000', proretset => 't',
  6147. provolatile => 'v', prorettype => 'text', proargtypes => 'text',
  6148. prosrc => 'pg_ls_dir_1arg' },
  6149. { oid => '3297', descr => 'list all files in a directory',
  6150. proname => 'pg_ls_dir', prorows => '1000', proretset => 't',
  6151. provolatile => 'v', prorettype => 'text', proargtypes => 'text bool bool',
  6152. prosrc => 'pg_ls_dir' },
  6153. { oid => '2626', descr => 'sleep for the specified time in seconds',
  6154. proname => 'pg_sleep', provolatile => 'v', prorettype => 'void',
  6155. proargtypes => 'float8', prosrc => 'pg_sleep' },
  6156. { oid => '3935', descr => 'sleep for the specified interval',
  6157. proname => 'pg_sleep_for', prolang => 'sql', provolatile => 'v',
  6158. prorettype => 'void', proargtypes => 'interval',
  6159. prosrc => 'see system_functions.sql' },
  6160. { oid => '3936', descr => 'sleep until the specified time',
  6161. proname => 'pg_sleep_until', prolang => 'sql', provolatile => 'v',
  6162. prorettype => 'void', proargtypes => 'timestamptz',
  6163. prosrc => 'see system_functions.sql' },
  6164. { oid => '315', descr => 'Is JIT compilation available in this session?',
  6165. proname => 'pg_jit_available', provolatile => 'v', prorettype => 'bool',
  6166. proargtypes => '', prosrc => 'pg_jit_available' },
  6167. { oid => '2971', descr => 'convert boolean to text',
  6168. proname => 'text', prorettype => 'text', proargtypes => 'bool',
  6169. prosrc => 'booltext' },
  6170. # Aggregates (moved here from pg_aggregate for 7.3)
  6171. { oid => '2100',
  6172. descr => 'the average (arithmetic mean) as numeric of all bigint values',
  6173. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6174. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6175. { oid => '2101',
  6176. descr => 'the average (arithmetic mean) as numeric of all integer values',
  6177. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6178. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6179. { oid => '2102',
  6180. descr => 'the average (arithmetic mean) as numeric of all smallint values',
  6181. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6182. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6183. { oid => '2103',
  6184. descr => 'the average (arithmetic mean) as numeric of all numeric values',
  6185. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6186. proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
  6187. { oid => '2104',
  6188. descr => 'the average (arithmetic mean) as float8 of all float4 values',
  6189. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6190. proargtypes => 'float4', prosrc => 'aggregate_dummy' },
  6191. { oid => '2105',
  6192. descr => 'the average (arithmetic mean) as float8 of all float8 values',
  6193. proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6194. proargtypes => 'float8', prosrc => 'aggregate_dummy' },
  6195. { oid => '2106',
  6196. descr => 'the average (arithmetic mean) as interval of all interval values',
  6197. proname => 'avg', prokind => 'a', proisstrict => 'f',
  6198. prorettype => 'interval', proargtypes => 'interval',
  6199. prosrc => 'aggregate_dummy' },
  6200. { oid => '2107', descr => 'sum as numeric across all bigint input values',
  6201. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6202. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6203. { oid => '2108', descr => 'sum as bigint across all integer input values',
  6204. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  6205. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6206. { oid => '2109', descr => 'sum as bigint across all smallint input values',
  6207. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  6208. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6209. { oid => '2110', descr => 'sum as float4 across all float4 input values',
  6210. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float4',
  6211. proargtypes => 'float4', prosrc => 'aggregate_dummy' },
  6212. { oid => '2111', descr => 'sum as float8 across all float8 input values',
  6213. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6214. proargtypes => 'float8', prosrc => 'aggregate_dummy' },
  6215. { oid => '2112', descr => 'sum as money across all money input values',
  6216. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'money',
  6217. proargtypes => 'money', prosrc => 'aggregate_dummy' },
  6218. { oid => '2113', descr => 'sum as interval across all interval input values',
  6219. proname => 'sum', prokind => 'a', proisstrict => 'f',
  6220. prorettype => 'interval', proargtypes => 'interval',
  6221. prosrc => 'aggregate_dummy' },
  6222. { oid => '2114', descr => 'sum as numeric across all numeric input values',
  6223. proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6224. proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
  6225. { oid => '2115', descr => 'maximum value of all bigint input values',
  6226. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  6227. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6228. { oid => '2116', descr => 'maximum value of all integer input values',
  6229. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int4',
  6230. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6231. { oid => '2117', descr => 'maximum value of all smallint input values',
  6232. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int2',
  6233. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6234. { oid => '2118', descr => 'maximum value of all oid input values',
  6235. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'oid',
  6236. proargtypes => 'oid', prosrc => 'aggregate_dummy' },
  6237. { oid => '2119', descr => 'maximum value of all float4 input values',
  6238. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float4',
  6239. proargtypes => 'float4', prosrc => 'aggregate_dummy' },
  6240. { oid => '2120', descr => 'maximum value of all float8 input values',
  6241. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6242. proargtypes => 'float8', prosrc => 'aggregate_dummy' },
  6243. { oid => '2122', descr => 'maximum value of all date input values',
  6244. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'date',
  6245. proargtypes => 'date', prosrc => 'aggregate_dummy' },
  6246. { oid => '2123', descr => 'maximum value of all time input values',
  6247. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'time',
  6248. proargtypes => 'time', prosrc => 'aggregate_dummy' },
  6249. { oid => '2124',
  6250. descr => 'maximum value of all time with time zone input values',
  6251. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'timetz',
  6252. proargtypes => 'timetz', prosrc => 'aggregate_dummy' },
  6253. { oid => '2125', descr => 'maximum value of all money input values',
  6254. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'money',
  6255. proargtypes => 'money', prosrc => 'aggregate_dummy' },
  6256. { oid => '2126', descr => 'maximum value of all timestamp input values',
  6257. proname => 'max', prokind => 'a', proisstrict => 'f',
  6258. prorettype => 'timestamp', proargtypes => 'timestamp',
  6259. prosrc => 'aggregate_dummy' },
  6260. { oid => '2127',
  6261. descr => 'maximum value of all timestamp with time zone input values',
  6262. proname => 'max', prokind => 'a', proisstrict => 'f',
  6263. prorettype => 'timestamptz', proargtypes => 'timestamptz',
  6264. prosrc => 'aggregate_dummy' },
  6265. { oid => '2128', descr => 'maximum value of all interval input values',
  6266. proname => 'max', prokind => 'a', proisstrict => 'f',
  6267. prorettype => 'interval', proargtypes => 'interval',
  6268. prosrc => 'aggregate_dummy' },
  6269. { oid => '2129', descr => 'maximum value of all text input values',
  6270. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'text',
  6271. proargtypes => 'text', prosrc => 'aggregate_dummy' },
  6272. { oid => '2130', descr => 'maximum value of all numeric input values',
  6273. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6274. proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
  6275. { oid => '2050', descr => 'maximum value of all anyarray input values',
  6276. proname => 'max', prokind => 'a', proisstrict => 'f',
  6277. prorettype => 'anyarray', proargtypes => 'anyarray',
  6278. prosrc => 'aggregate_dummy' },
  6279. { oid => '2244', descr => 'maximum value of all bpchar input values',
  6280. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar',
  6281. proargtypes => 'bpchar', prosrc => 'aggregate_dummy' },
  6282. { oid => '2797', descr => 'maximum value of all tid input values',
  6283. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'tid',
  6284. proargtypes => 'tid', prosrc => 'aggregate_dummy' },
  6285. { oid => '3564', descr => 'maximum value of all inet input values',
  6286. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'inet',
  6287. proargtypes => 'inet', prosrc => 'aggregate_dummy' },
  6288. { oid => '4189', descr => 'maximum value of all pg_lsn input values',
  6289. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'pg_lsn',
  6290. proargtypes => 'pg_lsn', prosrc => 'aggregate_dummy' },
  6291. { oid => '5099', descr => 'maximum value of all xid8 input values',
  6292. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'xid8',
  6293. proargtypes => 'xid8', prosrc => 'aggregate_dummy' },
  6294. { oid => '2131', descr => 'minimum value of all bigint input values',
  6295. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  6296. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6297. { oid => '2132', descr => 'minimum value of all integer input values',
  6298. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int4',
  6299. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6300. { oid => '2133', descr => 'minimum value of all smallint input values',
  6301. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int2',
  6302. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6303. { oid => '2134', descr => 'minimum value of all oid input values',
  6304. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'oid',
  6305. proargtypes => 'oid', prosrc => 'aggregate_dummy' },
  6306. { oid => '2135', descr => 'minimum value of all float4 input values',
  6307. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float4',
  6308. proargtypes => 'float4', prosrc => 'aggregate_dummy' },
  6309. { oid => '2136', descr => 'minimum value of all float8 input values',
  6310. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6311. proargtypes => 'float8', prosrc => 'aggregate_dummy' },
  6312. { oid => '2138', descr => 'minimum value of all date input values',
  6313. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'date',
  6314. proargtypes => 'date', prosrc => 'aggregate_dummy' },
  6315. { oid => '2139', descr => 'minimum value of all time input values',
  6316. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'time',
  6317. proargtypes => 'time', prosrc => 'aggregate_dummy' },
  6318. { oid => '2140',
  6319. descr => 'minimum value of all time with time zone input values',
  6320. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'timetz',
  6321. proargtypes => 'timetz', prosrc => 'aggregate_dummy' },
  6322. { oid => '2141', descr => 'minimum value of all money input values',
  6323. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'money',
  6324. proargtypes => 'money', prosrc => 'aggregate_dummy' },
  6325. { oid => '2142', descr => 'minimum value of all timestamp input values',
  6326. proname => 'min', prokind => 'a', proisstrict => 'f',
  6327. prorettype => 'timestamp', proargtypes => 'timestamp',
  6328. prosrc => 'aggregate_dummy' },
  6329. { oid => '2143',
  6330. descr => 'minimum value of all timestamp with time zone input values',
  6331. proname => 'min', prokind => 'a', proisstrict => 'f',
  6332. prorettype => 'timestamptz', proargtypes => 'timestamptz',
  6333. prosrc => 'aggregate_dummy' },
  6334. { oid => '2144', descr => 'minimum value of all interval input values',
  6335. proname => 'min', prokind => 'a', proisstrict => 'f',
  6336. prorettype => 'interval', proargtypes => 'interval',
  6337. prosrc => 'aggregate_dummy' },
  6338. { oid => '2145', descr => 'minimum value of all text values',
  6339. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'text',
  6340. proargtypes => 'text', prosrc => 'aggregate_dummy' },
  6341. { oid => '2146', descr => 'minimum value of all numeric input values',
  6342. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
  6343. proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
  6344. { oid => '2051', descr => 'minimum value of all anyarray input values',
  6345. proname => 'min', prokind => 'a', proisstrict => 'f',
  6346. prorettype => 'anyarray', proargtypes => 'anyarray',
  6347. prosrc => 'aggregate_dummy' },
  6348. { oid => '2245', descr => 'minimum value of all bpchar input values',
  6349. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar',
  6350. proargtypes => 'bpchar', prosrc => 'aggregate_dummy' },
  6351. { oid => '2798', descr => 'minimum value of all tid input values',
  6352. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'tid',
  6353. proargtypes => 'tid', prosrc => 'aggregate_dummy' },
  6354. { oid => '3565', descr => 'minimum value of all inet input values',
  6355. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'inet',
  6356. proargtypes => 'inet', prosrc => 'aggregate_dummy' },
  6357. { oid => '4190', descr => 'minimum value of all pg_lsn input values',
  6358. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'pg_lsn',
  6359. proargtypes => 'pg_lsn', prosrc => 'aggregate_dummy' },
  6360. { oid => '5100', descr => 'minimum value of all xid8 input values',
  6361. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'xid8',
  6362. proargtypes => 'xid8', prosrc => 'aggregate_dummy' },
  6363. # count has two forms: count(any) and count(*)
  6364. { oid => '2147',
  6365. descr => 'number of input rows for which the input expression is not null',
  6366. proname => 'count', prosupport => 'int8inc_support', prokind => 'a',
  6367. proisstrict => 'f', prorettype => 'int8', proargtypes => 'any',
  6368. prosrc => 'aggregate_dummy' },
  6369. { oid => '2803', descr => 'number of input rows',
  6370. proname => 'count', prosupport => 'int8inc_support', prokind => 'a',
  6371. proisstrict => 'f', prorettype => 'int8', proargtypes => '',
  6372. prosrc => 'aggregate_dummy' },
  6373. { oid => '6236', descr => 'planner support for count run condition',
  6374. proname => 'int8inc_support', prorettype => 'internal',
  6375. proargtypes => 'internal', prosrc => 'int8inc_support' },
  6376. { oid => '2718',
  6377. descr => 'population variance of bigint input values (square of the population standard deviation)',
  6378. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6379. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6380. { oid => '2719',
  6381. descr => 'population variance of integer input values (square of the population standard deviation)',
  6382. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6383. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6384. { oid => '2720',
  6385. descr => 'population variance of smallint input values (square of the population standard deviation)',
  6386. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6387. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6388. { oid => '2721',
  6389. descr => 'population variance of float4 input values (square of the population standard deviation)',
  6390. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6391. prorettype => 'float8', proargtypes => 'float4',
  6392. prosrc => 'aggregate_dummy' },
  6393. { oid => '2722',
  6394. descr => 'population variance of float8 input values (square of the population standard deviation)',
  6395. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6396. prorettype => 'float8', proargtypes => 'float8',
  6397. prosrc => 'aggregate_dummy' },
  6398. { oid => '2723',
  6399. descr => 'population variance of numeric input values (square of the population standard deviation)',
  6400. proname => 'var_pop', prokind => 'a', proisstrict => 'f',
  6401. prorettype => 'numeric', proargtypes => 'numeric',
  6402. prosrc => 'aggregate_dummy' },
  6403. { oid => '2641',
  6404. descr => 'sample variance of bigint input values (square of the sample standard deviation)',
  6405. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6406. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6407. { oid => '2642',
  6408. descr => 'sample variance of integer input values (square of the sample standard deviation)',
  6409. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6410. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6411. { oid => '2643',
  6412. descr => 'sample variance of smallint input values (square of the sample standard deviation)',
  6413. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6414. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6415. { oid => '2644',
  6416. descr => 'sample variance of float4 input values (square of the sample standard deviation)',
  6417. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6418. prorettype => 'float8', proargtypes => 'float4',
  6419. prosrc => 'aggregate_dummy' },
  6420. { oid => '2645',
  6421. descr => 'sample variance of float8 input values (square of the sample standard deviation)',
  6422. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6423. prorettype => 'float8', proargtypes => 'float8',
  6424. prosrc => 'aggregate_dummy' },
  6425. { oid => '2646',
  6426. descr => 'sample variance of numeric input values (square of the sample standard deviation)',
  6427. proname => 'var_samp', prokind => 'a', proisstrict => 'f',
  6428. prorettype => 'numeric', proargtypes => 'numeric',
  6429. prosrc => 'aggregate_dummy' },
  6430. { oid => '2148', descr => 'historical alias for var_samp',
  6431. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6432. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6433. { oid => '2149', descr => 'historical alias for var_samp',
  6434. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6435. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6436. { oid => '2150', descr => 'historical alias for var_samp',
  6437. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6438. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6439. { oid => '2151', descr => 'historical alias for var_samp',
  6440. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6441. prorettype => 'float8', proargtypes => 'float4',
  6442. prosrc => 'aggregate_dummy' },
  6443. { oid => '2152', descr => 'historical alias for var_samp',
  6444. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6445. prorettype => 'float8', proargtypes => 'float8',
  6446. prosrc => 'aggregate_dummy' },
  6447. { oid => '2153', descr => 'historical alias for var_samp',
  6448. proname => 'variance', prokind => 'a', proisstrict => 'f',
  6449. prorettype => 'numeric', proargtypes => 'numeric',
  6450. prosrc => 'aggregate_dummy' },
  6451. { oid => '2724',
  6452. descr => 'population standard deviation of bigint input values',
  6453. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6454. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6455. { oid => '2725',
  6456. descr => 'population standard deviation of integer input values',
  6457. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6458. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6459. { oid => '2726',
  6460. descr => 'population standard deviation of smallint input values',
  6461. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6462. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6463. { oid => '2727',
  6464. descr => 'population standard deviation of float4 input values',
  6465. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6466. prorettype => 'float8', proargtypes => 'float4',
  6467. prosrc => 'aggregate_dummy' },
  6468. { oid => '2728',
  6469. descr => 'population standard deviation of float8 input values',
  6470. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6471. prorettype => 'float8', proargtypes => 'float8',
  6472. prosrc => 'aggregate_dummy' },
  6473. { oid => '2729',
  6474. descr => 'population standard deviation of numeric input values',
  6475. proname => 'stddev_pop', prokind => 'a', proisstrict => 'f',
  6476. prorettype => 'numeric', proargtypes => 'numeric',
  6477. prosrc => 'aggregate_dummy' },
  6478. { oid => '2712', descr => 'sample standard deviation of bigint input values',
  6479. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6480. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6481. { oid => '2713', descr => 'sample standard deviation of integer input values',
  6482. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6483. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6484. { oid => '2714',
  6485. descr => 'sample standard deviation of smallint input values',
  6486. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6487. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6488. { oid => '2715', descr => 'sample standard deviation of float4 input values',
  6489. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6490. prorettype => 'float8', proargtypes => 'float4',
  6491. prosrc => 'aggregate_dummy' },
  6492. { oid => '2716', descr => 'sample standard deviation of float8 input values',
  6493. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6494. prorettype => 'float8', proargtypes => 'float8',
  6495. prosrc => 'aggregate_dummy' },
  6496. { oid => '2717', descr => 'sample standard deviation of numeric input values',
  6497. proname => 'stddev_samp', prokind => 'a', proisstrict => 'f',
  6498. prorettype => 'numeric', proargtypes => 'numeric',
  6499. prosrc => 'aggregate_dummy' },
  6500. { oid => '2154', descr => 'historical alias for stddev_samp',
  6501. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6502. prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  6503. { oid => '2155', descr => 'historical alias for stddev_samp',
  6504. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6505. prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  6506. { oid => '2156', descr => 'historical alias for stddev_samp',
  6507. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6508. prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  6509. { oid => '2157', descr => 'historical alias for stddev_samp',
  6510. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6511. prorettype => 'float8', proargtypes => 'float4',
  6512. prosrc => 'aggregate_dummy' },
  6513. { oid => '2158', descr => 'historical alias for stddev_samp',
  6514. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6515. prorettype => 'float8', proargtypes => 'float8',
  6516. prosrc => 'aggregate_dummy' },
  6517. { oid => '2159', descr => 'historical alias for stddev_samp',
  6518. proname => 'stddev', prokind => 'a', proisstrict => 'f',
  6519. prorettype => 'numeric', proargtypes => 'numeric',
  6520. prosrc => 'aggregate_dummy' },
  6521. { oid => '2818',
  6522. descr => 'number of input rows in which both expressions are not null',
  6523. proname => 'regr_count', prokind => 'a', proisstrict => 'f',
  6524. prorettype => 'int8', proargtypes => 'float8 float8',
  6525. prosrc => 'aggregate_dummy' },
  6526. { oid => '2819',
  6527. descr => 'sum of squares of the independent variable (sum(X^2) - sum(X)^2/N)',
  6528. proname => 'regr_sxx', prokind => 'a', proisstrict => 'f',
  6529. prorettype => 'float8', proargtypes => 'float8 float8',
  6530. prosrc => 'aggregate_dummy' },
  6531. { oid => '2820',
  6532. descr => 'sum of squares of the dependent variable (sum(Y^2) - sum(Y)^2/N)',
  6533. proname => 'regr_syy', prokind => 'a', proisstrict => 'f',
  6534. prorettype => 'float8', proargtypes => 'float8 float8',
  6535. prosrc => 'aggregate_dummy' },
  6536. { oid => '2821',
  6537. descr => 'sum of products of independent times dependent variable (sum(X*Y) - sum(X) * sum(Y)/N)',
  6538. proname => 'regr_sxy', prokind => 'a', proisstrict => 'f',
  6539. prorettype => 'float8', proargtypes => 'float8 float8',
  6540. prosrc => 'aggregate_dummy' },
  6541. { oid => '2822', descr => 'average of the independent variable (sum(X)/N)',
  6542. proname => 'regr_avgx', prokind => 'a', proisstrict => 'f',
  6543. prorettype => 'float8', proargtypes => 'float8 float8',
  6544. prosrc => 'aggregate_dummy' },
  6545. { oid => '2823', descr => 'average of the dependent variable (sum(Y)/N)',
  6546. proname => 'regr_avgy', prokind => 'a', proisstrict => 'f',
  6547. prorettype => 'float8', proargtypes => 'float8 float8',
  6548. prosrc => 'aggregate_dummy' },
  6549. { oid => '2824', descr => 'square of the correlation coefficient',
  6550. proname => 'regr_r2', prokind => 'a', proisstrict => 'f',
  6551. prorettype => 'float8', proargtypes => 'float8 float8',
  6552. prosrc => 'aggregate_dummy' },
  6553. { oid => '2825',
  6554. descr => 'slope of the least-squares-fit linear equation determined by the (X, Y) pairs',
  6555. proname => 'regr_slope', prokind => 'a', proisstrict => 'f',
  6556. prorettype => 'float8', proargtypes => 'float8 float8',
  6557. prosrc => 'aggregate_dummy' },
  6558. { oid => '2826',
  6559. descr => 'y-intercept of the least-squares-fit linear equation determined by the (X, Y) pairs',
  6560. proname => 'regr_intercept', prokind => 'a', proisstrict => 'f',
  6561. prorettype => 'float8', proargtypes => 'float8 float8',
  6562. prosrc => 'aggregate_dummy' },
  6563. { oid => '2827', descr => 'population covariance',
  6564. proname => 'covar_pop', prokind => 'a', proisstrict => 'f',
  6565. prorettype => 'float8', proargtypes => 'float8 float8',
  6566. prosrc => 'aggregate_dummy' },
  6567. { oid => '2828', descr => 'sample covariance',
  6568. proname => 'covar_samp', prokind => 'a', proisstrict => 'f',
  6569. prorettype => 'float8', proargtypes => 'float8 float8',
  6570. prosrc => 'aggregate_dummy' },
  6571. { oid => '2829', descr => 'correlation coefficient',
  6572. proname => 'corr', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
  6573. proargtypes => 'float8 float8', prosrc => 'aggregate_dummy' },
  6574. { oid => '2160',
  6575. proname => 'text_pattern_lt', proleakproof => 't', prorettype => 'bool',
  6576. proargtypes => 'text text', prosrc => 'text_pattern_lt' },
  6577. { oid => '2161',
  6578. proname => 'text_pattern_le', proleakproof => 't', prorettype => 'bool',
  6579. proargtypes => 'text text', prosrc => 'text_pattern_le' },
  6580. { oid => '2163',
  6581. proname => 'text_pattern_ge', proleakproof => 't', prorettype => 'bool',
  6582. proargtypes => 'text text', prosrc => 'text_pattern_ge' },
  6583. { oid => '2164',
  6584. proname => 'text_pattern_gt', proleakproof => 't', prorettype => 'bool',
  6585. proargtypes => 'text text', prosrc => 'text_pattern_gt' },
  6586. { oid => '2166', descr => 'less-equal-greater',
  6587. proname => 'bttext_pattern_cmp', proleakproof => 't', prorettype => 'int4',
  6588. proargtypes => 'text text', prosrc => 'bttext_pattern_cmp' },
  6589. { oid => '3332', descr => 'sort support',
  6590. proname => 'bttext_pattern_sortsupport', prorettype => 'void',
  6591. proargtypes => 'internal', prosrc => 'bttext_pattern_sortsupport' },
  6592. { oid => '2174',
  6593. proname => 'bpchar_pattern_lt', proleakproof => 't', prorettype => 'bool',
  6594. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_lt' },
  6595. { oid => '2175',
  6596. proname => 'bpchar_pattern_le', proleakproof => 't', prorettype => 'bool',
  6597. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_le' },
  6598. { oid => '2177',
  6599. proname => 'bpchar_pattern_ge', proleakproof => 't', prorettype => 'bool',
  6600. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_ge' },
  6601. { oid => '2178',
  6602. proname => 'bpchar_pattern_gt', proleakproof => 't', prorettype => 'bool',
  6603. proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_gt' },
  6604. { oid => '2180', descr => 'less-equal-greater',
  6605. proname => 'btbpchar_pattern_cmp', proleakproof => 't', prorettype => 'int4',
  6606. proargtypes => 'bpchar bpchar', prosrc => 'btbpchar_pattern_cmp' },
  6607. { oid => '3333', descr => 'sort support',
  6608. proname => 'btbpchar_pattern_sortsupport', prorettype => 'void',
  6609. proargtypes => 'internal', prosrc => 'btbpchar_pattern_sortsupport' },
  6610. { oid => '2188', descr => 'less-equal-greater',
  6611. proname => 'btint48cmp', proleakproof => 't', prorettype => 'int4',
  6612. proargtypes => 'int4 int8', prosrc => 'btint48cmp' },
  6613. { oid => '2189', descr => 'less-equal-greater',
  6614. proname => 'btint84cmp', proleakproof => 't', prorettype => 'int4',
  6615. proargtypes => 'int8 int4', prosrc => 'btint84cmp' },
  6616. { oid => '2190', descr => 'less-equal-greater',
  6617. proname => 'btint24cmp', proleakproof => 't', prorettype => 'int4',
  6618. proargtypes => 'int2 int4', prosrc => 'btint24cmp' },
  6619. { oid => '2191', descr => 'less-equal-greater',
  6620. proname => 'btint42cmp', proleakproof => 't', prorettype => 'int4',
  6621. proargtypes => 'int4 int2', prosrc => 'btint42cmp' },
  6622. { oid => '2192', descr => 'less-equal-greater',
  6623. proname => 'btint28cmp', proleakproof => 't', prorettype => 'int4',
  6624. proargtypes => 'int2 int8', prosrc => 'btint28cmp' },
  6625. { oid => '2193', descr => 'less-equal-greater',
  6626. proname => 'btint82cmp', proleakproof => 't', prorettype => 'int4',
  6627. proargtypes => 'int8 int2', prosrc => 'btint82cmp' },
  6628. { oid => '2194', descr => 'less-equal-greater',
  6629. proname => 'btfloat48cmp', proleakproof => 't', prorettype => 'int4',
  6630. proargtypes => 'float4 float8', prosrc => 'btfloat48cmp' },
  6631. { oid => '2195', descr => 'less-equal-greater',
  6632. proname => 'btfloat84cmp', proleakproof => 't', prorettype => 'int4',
  6633. proargtypes => 'float8 float4', prosrc => 'btfloat84cmp' },
  6634. { oid => '2212', descr => 'I/O',
  6635. proname => 'regprocedurein', provolatile => 's', prorettype => 'regprocedure',
  6636. proargtypes => 'cstring', prosrc => 'regprocedurein' },
  6637. { oid => '2213', descr => 'I/O',
  6638. proname => 'regprocedureout', provolatile => 's', prorettype => 'cstring',
  6639. proargtypes => 'regprocedure', prosrc => 'regprocedureout' },
  6640. { oid => '2214', descr => 'I/O',
  6641. proname => 'regoperin', provolatile => 's', prorettype => 'regoper',
  6642. proargtypes => 'cstring', prosrc => 'regoperin' },
  6643. { oid => '2215', descr => 'I/O',
  6644. proname => 'regoperout', provolatile => 's', prorettype => 'cstring',
  6645. proargtypes => 'regoper', prosrc => 'regoperout' },
  6646. { oid => '3492', descr => 'convert operator name to regoper',
  6647. proname => 'to_regoper', provolatile => 's', prorettype => 'regoper',
  6648. proargtypes => 'text', prosrc => 'to_regoper' },
  6649. { oid => '3476', descr => 'convert operator name to regoperator',
  6650. proname => 'to_regoperator', provolatile => 's', prorettype => 'regoperator',
  6651. proargtypes => 'text', prosrc => 'to_regoperator' },
  6652. { oid => '2216', descr => 'I/O',
  6653. proname => 'regoperatorin', provolatile => 's', prorettype => 'regoperator',
  6654. proargtypes => 'cstring', prosrc => 'regoperatorin' },
  6655. { oid => '2217', descr => 'I/O',
  6656. proname => 'regoperatorout', provolatile => 's', prorettype => 'cstring',
  6657. proargtypes => 'regoperator', prosrc => 'regoperatorout' },
  6658. { oid => '2218', descr => 'I/O',
  6659. proname => 'regclassin', provolatile => 's', prorettype => 'regclass',
  6660. proargtypes => 'cstring', prosrc => 'regclassin' },
  6661. { oid => '2219', descr => 'I/O',
  6662. proname => 'regclassout', provolatile => 's', prorettype => 'cstring',
  6663. proargtypes => 'regclass', prosrc => 'regclassout' },
  6664. { oid => '3495', descr => 'convert classname to regclass',
  6665. proname => 'to_regclass', provolatile => 's', prorettype => 'regclass',
  6666. proargtypes => 'text', prosrc => 'to_regclass' },
  6667. { oid => '4193', descr => 'I/O',
  6668. proname => 'regcollationin', provolatile => 's', prorettype => 'regcollation',
  6669. proargtypes => 'cstring', prosrc => 'regcollationin' },
  6670. { oid => '4194', descr => 'I/O',
  6671. proname => 'regcollationout', provolatile => 's', prorettype => 'cstring',
  6672. proargtypes => 'regcollation', prosrc => 'regcollationout' },
  6673. { oid => '4195', descr => 'convert classname to regcollation',
  6674. proname => 'to_regcollation', provolatile => 's',
  6675. prorettype => 'regcollation', proargtypes => 'text',
  6676. prosrc => 'to_regcollation' },
  6677. { oid => '2220', descr => 'I/O',
  6678. proname => 'regtypein', provolatile => 's', prorettype => 'regtype',
  6679. proargtypes => 'cstring', prosrc => 'regtypein' },
  6680. { oid => '2221', descr => 'I/O',
  6681. proname => 'regtypeout', provolatile => 's', prorettype => 'cstring',
  6682. proargtypes => 'regtype', prosrc => 'regtypeout' },
  6683. { oid => '3493', descr => 'convert type name to regtype',
  6684. proname => 'to_regtype', provolatile => 's', prorettype => 'regtype',
  6685. proargtypes => 'text', prosrc => 'to_regtype' },
  6686. { oid => '1079', descr => 'convert text to regclass',
  6687. proname => 'regclass', provolatile => 's', prorettype => 'regclass',
  6688. proargtypes => 'text', prosrc => 'text_regclass' },
  6689. { oid => '4098', descr => 'I/O',
  6690. proname => 'regrolein', provolatile => 's', prorettype => 'regrole',
  6691. proargtypes => 'cstring', prosrc => 'regrolein' },
  6692. { oid => '4092', descr => 'I/O',
  6693. proname => 'regroleout', provolatile => 's', prorettype => 'cstring',
  6694. proargtypes => 'regrole', prosrc => 'regroleout' },
  6695. { oid => '4093', descr => 'convert role name to regrole',
  6696. proname => 'to_regrole', provolatile => 's', prorettype => 'regrole',
  6697. proargtypes => 'text', prosrc => 'to_regrole' },
  6698. { oid => '4084', descr => 'I/O',
  6699. proname => 'regnamespacein', provolatile => 's', prorettype => 'regnamespace',
  6700. proargtypes => 'cstring', prosrc => 'regnamespacein' },
  6701. { oid => '4085', descr => 'I/O',
  6702. proname => 'regnamespaceout', provolatile => 's', prorettype => 'cstring',
  6703. proargtypes => 'regnamespace', prosrc => 'regnamespaceout' },
  6704. { oid => '4086', descr => 'convert namespace name to regnamespace',
  6705. proname => 'to_regnamespace', provolatile => 's',
  6706. prorettype => 'regnamespace', proargtypes => 'text',
  6707. prosrc => 'to_regnamespace' },
  6708. { oid => '1268',
  6709. descr => 'parse qualified identifier to array of identifiers',
  6710. proname => 'parse_ident', prorettype => '_text', proargtypes => 'text bool',
  6711. proargnames => '{str,strict}', prosrc => 'parse_ident' },
  6712. { oid => '2246', descr => '(internal)',
  6713. proname => 'fmgr_internal_validator', provolatile => 's',
  6714. prorettype => 'void', proargtypes => 'oid',
  6715. prosrc => 'fmgr_internal_validator' },
  6716. { oid => '2247', descr => '(internal)',
  6717. proname => 'fmgr_c_validator', provolatile => 's', prorettype => 'void',
  6718. proargtypes => 'oid', prosrc => 'fmgr_c_validator' },
  6719. { oid => '2248', descr => '(internal)',
  6720. proname => 'fmgr_sql_validator', provolatile => 's', prorettype => 'void',
  6721. proargtypes => 'oid', prosrc => 'fmgr_sql_validator' },
  6722. { oid => '2250',
  6723. descr => 'user privilege on database by username, database name',
  6724. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6725. proargtypes => 'name text text',
  6726. prosrc => 'has_database_privilege_name_name' },
  6727. { oid => '2251',
  6728. descr => 'user privilege on database by username, database oid',
  6729. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6730. proargtypes => 'name oid text', prosrc => 'has_database_privilege_name_id' },
  6731. { oid => '2252',
  6732. descr => 'user privilege on database by user oid, database name',
  6733. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6734. proargtypes => 'oid text text', prosrc => 'has_database_privilege_id_name' },
  6735. { oid => '2253',
  6736. descr => 'user privilege on database by user oid, database oid',
  6737. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6738. proargtypes => 'oid oid text', prosrc => 'has_database_privilege_id_id' },
  6739. { oid => '2254',
  6740. descr => 'current user privilege on database by database name',
  6741. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6742. proargtypes => 'text text', prosrc => 'has_database_privilege_name' },
  6743. { oid => '2255',
  6744. descr => 'current user privilege on database by database oid',
  6745. proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool',
  6746. proargtypes => 'oid text', prosrc => 'has_database_privilege_id' },
  6747. { oid => '2256',
  6748. descr => 'user privilege on function by username, function name',
  6749. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6750. proargtypes => 'name text text',
  6751. prosrc => 'has_function_privilege_name_name' },
  6752. { oid => '2257',
  6753. descr => 'user privilege on function by username, function oid',
  6754. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6755. proargtypes => 'name oid text', prosrc => 'has_function_privilege_name_id' },
  6756. { oid => '2258',
  6757. descr => 'user privilege on function by user oid, function name',
  6758. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6759. proargtypes => 'oid text text', prosrc => 'has_function_privilege_id_name' },
  6760. { oid => '2259',
  6761. descr => 'user privilege on function by user oid, function oid',
  6762. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6763. proargtypes => 'oid oid text', prosrc => 'has_function_privilege_id_id' },
  6764. { oid => '2260',
  6765. descr => 'current user privilege on function by function name',
  6766. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6767. proargtypes => 'text text', prosrc => 'has_function_privilege_name' },
  6768. { oid => '2261',
  6769. descr => 'current user privilege on function by function oid',
  6770. proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool',
  6771. proargtypes => 'oid text', prosrc => 'has_function_privilege_id' },
  6772. { oid => '2262',
  6773. descr => 'user privilege on language by username, language name',
  6774. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6775. proargtypes => 'name text text',
  6776. prosrc => 'has_language_privilege_name_name' },
  6777. { oid => '2263',
  6778. descr => 'user privilege on language by username, language oid',
  6779. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6780. proargtypes => 'name oid text', prosrc => 'has_language_privilege_name_id' },
  6781. { oid => '2264',
  6782. descr => 'user privilege on language by user oid, language name',
  6783. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6784. proargtypes => 'oid text text', prosrc => 'has_language_privilege_id_name' },
  6785. { oid => '2265',
  6786. descr => 'user privilege on language by user oid, language oid',
  6787. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6788. proargtypes => 'oid oid text', prosrc => 'has_language_privilege_id_id' },
  6789. { oid => '2266',
  6790. descr => 'current user privilege on language by language name',
  6791. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6792. proargtypes => 'text text', prosrc => 'has_language_privilege_name' },
  6793. { oid => '2267',
  6794. descr => 'current user privilege on language by language oid',
  6795. proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool',
  6796. proargtypes => 'oid text', prosrc => 'has_language_privilege_id' },
  6797. { oid => '2268', descr => 'user privilege on schema by username, schema name',
  6798. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6799. proargtypes => 'name text text', prosrc => 'has_schema_privilege_name_name' },
  6800. { oid => '2269', descr => 'user privilege on schema by username, schema oid',
  6801. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6802. proargtypes => 'name oid text', prosrc => 'has_schema_privilege_name_id' },
  6803. { oid => '2270', descr => 'user privilege on schema by user oid, schema name',
  6804. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6805. proargtypes => 'oid text text', prosrc => 'has_schema_privilege_id_name' },
  6806. { oid => '2271', descr => 'user privilege on schema by user oid, schema oid',
  6807. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6808. proargtypes => 'oid oid text', prosrc => 'has_schema_privilege_id_id' },
  6809. { oid => '2272', descr => 'current user privilege on schema by schema name',
  6810. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6811. proargtypes => 'text text', prosrc => 'has_schema_privilege_name' },
  6812. { oid => '2273', descr => 'current user privilege on schema by schema oid',
  6813. proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool',
  6814. proargtypes => 'oid text', prosrc => 'has_schema_privilege_id' },
  6815. { oid => '2390',
  6816. descr => 'user privilege on tablespace by username, tablespace name',
  6817. proname => 'has_tablespace_privilege', provolatile => 's',
  6818. prorettype => 'bool', proargtypes => 'name text text',
  6819. prosrc => 'has_tablespace_privilege_name_name' },
  6820. { oid => '2391',
  6821. descr => 'user privilege on tablespace by username, tablespace oid',
  6822. proname => 'has_tablespace_privilege', provolatile => 's',
  6823. prorettype => 'bool', proargtypes => 'name oid text',
  6824. prosrc => 'has_tablespace_privilege_name_id' },
  6825. { oid => '2392',
  6826. descr => 'user privilege on tablespace by user oid, tablespace name',
  6827. proname => 'has_tablespace_privilege', provolatile => 's',
  6828. prorettype => 'bool', proargtypes => 'oid text text',
  6829. prosrc => 'has_tablespace_privilege_id_name' },
  6830. { oid => '2393',
  6831. descr => 'user privilege on tablespace by user oid, tablespace oid',
  6832. proname => 'has_tablespace_privilege', provolatile => 's',
  6833. prorettype => 'bool', proargtypes => 'oid oid text',
  6834. prosrc => 'has_tablespace_privilege_id_id' },
  6835. { oid => '2394',
  6836. descr => 'current user privilege on tablespace by tablespace name',
  6837. proname => 'has_tablespace_privilege', provolatile => 's',
  6838. prorettype => 'bool', proargtypes => 'text text',
  6839. prosrc => 'has_tablespace_privilege_name' },
  6840. { oid => '2395',
  6841. descr => 'current user privilege on tablespace by tablespace oid',
  6842. proname => 'has_tablespace_privilege', provolatile => 's',
  6843. prorettype => 'bool', proargtypes => 'oid text',
  6844. prosrc => 'has_tablespace_privilege_id' },
  6845. { oid => '3000',
  6846. descr => 'user privilege on foreign data wrapper by username, foreign data wrapper name',
  6847. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6848. prorettype => 'bool', proargtypes => 'name text text',
  6849. prosrc => 'has_foreign_data_wrapper_privilege_name_name' },
  6850. { oid => '3001',
  6851. descr => 'user privilege on foreign data wrapper by username, foreign data wrapper oid',
  6852. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6853. prorettype => 'bool', proargtypes => 'name oid text',
  6854. prosrc => 'has_foreign_data_wrapper_privilege_name_id' },
  6855. { oid => '3002',
  6856. descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper name',
  6857. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6858. prorettype => 'bool', proargtypes => 'oid text text',
  6859. prosrc => 'has_foreign_data_wrapper_privilege_id_name' },
  6860. { oid => '3003',
  6861. descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper oid',
  6862. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6863. prorettype => 'bool', proargtypes => 'oid oid text',
  6864. prosrc => 'has_foreign_data_wrapper_privilege_id_id' },
  6865. { oid => '3004',
  6866. descr => 'current user privilege on foreign data wrapper by foreign data wrapper name',
  6867. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6868. prorettype => 'bool', proargtypes => 'text text',
  6869. prosrc => 'has_foreign_data_wrapper_privilege_name' },
  6870. { oid => '3005',
  6871. descr => 'current user privilege on foreign data wrapper by foreign data wrapper oid',
  6872. proname => 'has_foreign_data_wrapper_privilege', provolatile => 's',
  6873. prorettype => 'bool', proargtypes => 'oid text',
  6874. prosrc => 'has_foreign_data_wrapper_privilege_id' },
  6875. { oid => '3006', descr => 'user privilege on server by username, server name',
  6876. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  6877. proargtypes => 'name text text', prosrc => 'has_server_privilege_name_name' },
  6878. { oid => '3007', descr => 'user privilege on server by username, server oid',
  6879. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  6880. proargtypes => 'name oid text', prosrc => 'has_server_privilege_name_id' },
  6881. { oid => '3008', descr => 'user privilege on server by user oid, server name',
  6882. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  6883. proargtypes => 'oid text text', prosrc => 'has_server_privilege_id_name' },
  6884. { oid => '3009', descr => 'user privilege on server by user oid, server oid',
  6885. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  6886. proargtypes => 'oid oid text', prosrc => 'has_server_privilege_id_id' },
  6887. { oid => '3010', descr => 'current user privilege on server by server name',
  6888. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  6889. proargtypes => 'text text', prosrc => 'has_server_privilege_name' },
  6890. { oid => '3011', descr => 'current user privilege on server by server oid',
  6891. proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool',
  6892. proargtypes => 'oid text', prosrc => 'has_server_privilege_id' },
  6893. { oid => '3138', descr => 'user privilege on type by username, type name',
  6894. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  6895. proargtypes => 'name text text', prosrc => 'has_type_privilege_name_name' },
  6896. { oid => '3139', descr => 'user privilege on type by username, type oid',
  6897. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  6898. proargtypes => 'name oid text', prosrc => 'has_type_privilege_name_id' },
  6899. { oid => '3140', descr => 'user privilege on type by user oid, type name',
  6900. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  6901. proargtypes => 'oid text text', prosrc => 'has_type_privilege_id_name' },
  6902. { oid => '3141', descr => 'user privilege on type by user oid, type oid',
  6903. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  6904. proargtypes => 'oid oid text', prosrc => 'has_type_privilege_id_id' },
  6905. { oid => '3142', descr => 'current user privilege on type by type name',
  6906. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  6907. proargtypes => 'text text', prosrc => 'has_type_privilege_name' },
  6908. { oid => '3143', descr => 'current user privilege on type by type oid',
  6909. proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool',
  6910. proargtypes => 'oid text', prosrc => 'has_type_privilege_id' },
  6911. { oid => '6205',
  6912. descr => 'user privilege on parameter by username, parameter name',
  6913. proname => 'has_parameter_privilege', provolatile => 's',
  6914. prorettype => 'bool', proargtypes => 'name text text',
  6915. prosrc => 'has_parameter_privilege_name_name' },
  6916. { oid => '6206',
  6917. descr => 'user privilege on parameter by user oid, parameter name',
  6918. proname => 'has_parameter_privilege', provolatile => 's',
  6919. prorettype => 'bool', proargtypes => 'oid text text',
  6920. prosrc => 'has_parameter_privilege_id_name' },
  6921. { oid => '6207',
  6922. descr => 'current user privilege on parameter by parameter name',
  6923. proname => 'has_parameter_privilege', provolatile => 's',
  6924. prorettype => 'bool', proargtypes => 'text text',
  6925. prosrc => 'has_parameter_privilege_name' },
  6926. { oid => '2705', descr => 'user privilege on role by username, role name',
  6927. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  6928. proargtypes => 'name name text', prosrc => 'pg_has_role_name_name' },
  6929. { oid => '2706', descr => 'user privilege on role by username, role oid',
  6930. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  6931. proargtypes => 'name oid text', prosrc => 'pg_has_role_name_id' },
  6932. { oid => '2707', descr => 'user privilege on role by user oid, role name',
  6933. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  6934. proargtypes => 'oid name text', prosrc => 'pg_has_role_id_name' },
  6935. { oid => '2708', descr => 'user privilege on role by user oid, role oid',
  6936. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  6937. proargtypes => 'oid oid text', prosrc => 'pg_has_role_id_id' },
  6938. { oid => '2709', descr => 'current user privilege on role by role name',
  6939. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  6940. proargtypes => 'name text', prosrc => 'pg_has_role_name' },
  6941. { oid => '2710', descr => 'current user privilege on role by role oid',
  6942. proname => 'pg_has_role', provolatile => 's', prorettype => 'bool',
  6943. proargtypes => 'oid text', prosrc => 'pg_has_role_id' },
  6944. { oid => '1269',
  6945. descr => 'bytes required to store the value, perhaps with compression',
  6946. proname => 'pg_column_size', provolatile => 's', prorettype => 'int4',
  6947. proargtypes => 'any', prosrc => 'pg_column_size' },
  6948. { oid => '2121', descr => 'compression method for the compressed datum',
  6949. proname => 'pg_column_compression', provolatile => 's', prorettype => 'text',
  6950. proargtypes => 'any', prosrc => 'pg_column_compression' },
  6951. { oid => '2322',
  6952. descr => 'total disk space usage for the specified tablespace',
  6953. proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8',
  6954. proargtypes => 'oid', prosrc => 'pg_tablespace_size_oid' },
  6955. { oid => '2323',
  6956. descr => 'total disk space usage for the specified tablespace',
  6957. proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8',
  6958. proargtypes => 'name', prosrc => 'pg_tablespace_size_name' },
  6959. { oid => '2324', descr => 'total disk space usage for the specified database',
  6960. proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8',
  6961. proargtypes => 'oid', prosrc => 'pg_database_size_oid' },
  6962. { oid => '2168', descr => 'total disk space usage for the specified database',
  6963. proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8',
  6964. proargtypes => 'name', prosrc => 'pg_database_size_name' },
  6965. { oid => '2325',
  6966. descr => 'disk space usage for the main fork of the specified table or index',
  6967. proname => 'pg_relation_size', prolang => 'sql', provolatile => 'v',
  6968. prorettype => 'int8', proargtypes => 'regclass',
  6969. prosrc => 'see system_functions.sql' },
  6970. { oid => '2332',
  6971. descr => 'disk space usage for the specified fork of a table or index',
  6972. proname => 'pg_relation_size', provolatile => 'v', prorettype => 'int8',
  6973. proargtypes => 'regclass text', prosrc => 'pg_relation_size' },
  6974. { oid => '2286',
  6975. descr => 'total disk space usage for the specified table and associated indexes',
  6976. proname => 'pg_total_relation_size', provolatile => 'v', prorettype => 'int8',
  6977. proargtypes => 'regclass', prosrc => 'pg_total_relation_size' },
  6978. { oid => '2288',
  6979. descr => 'convert a long int to a human readable text using size units',
  6980. proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'int8',
  6981. prosrc => 'pg_size_pretty' },
  6982. { oid => '3166',
  6983. descr => 'convert a numeric to a human readable text using size units',
  6984. proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'numeric',
  6985. prosrc => 'pg_size_pretty_numeric' },
  6986. { oid => '3334',
  6987. descr => 'convert a size in human-readable format with size units into bytes',
  6988. proname => 'pg_size_bytes', prorettype => 'int8', proargtypes => 'text',
  6989. prosrc => 'pg_size_bytes' },
  6990. { oid => '2997',
  6991. descr => 'disk space usage for the specified table, including TOAST, free space and visibility map',
  6992. proname => 'pg_table_size', provolatile => 'v', prorettype => 'int8',
  6993. proargtypes => 'regclass', prosrc => 'pg_table_size' },
  6994. { oid => '2998',
  6995. descr => 'disk space usage for all indexes attached to the specified table',
  6996. proname => 'pg_indexes_size', provolatile => 'v', prorettype => 'int8',
  6997. proargtypes => 'regclass', prosrc => 'pg_indexes_size' },
  6998. { oid => '2999', descr => 'filenode identifier of relation',
  6999. proname => 'pg_relation_filenode', provolatile => 's', prorettype => 'oid',
  7000. proargtypes => 'regclass', prosrc => 'pg_relation_filenode' },
  7001. { oid => '3454', descr => 'relation OID for filenode and tablespace',
  7002. proname => 'pg_filenode_relation', provolatile => 's',
  7003. prorettype => 'regclass', proargtypes => 'oid oid',
  7004. prosrc => 'pg_filenode_relation' },
  7005. { oid => '3034', descr => 'file path of relation',
  7006. proname => 'pg_relation_filepath', provolatile => 's', prorettype => 'text',
  7007. proargtypes => 'regclass', prosrc => 'pg_relation_filepath' },
  7008. { oid => '2316', descr => '(internal)',
  7009. proname => 'postgresql_fdw_validator', prorettype => 'bool',
  7010. proargtypes => '_text oid', prosrc => 'postgresql_fdw_validator' },
  7011. { oid => '2290', descr => 'I/O',
  7012. proname => 'record_in', provolatile => 's', prorettype => 'record',
  7013. proargtypes => 'cstring oid int4', prosrc => 'record_in' },
  7014. { oid => '2291', descr => 'I/O',
  7015. proname => 'record_out', provolatile => 's', prorettype => 'cstring',
  7016. proargtypes => 'record', prosrc => 'record_out' },
  7017. { oid => '2292', descr => 'I/O',
  7018. proname => 'cstring_in', prorettype => 'cstring', proargtypes => 'cstring',
  7019. prosrc => 'cstring_in' },
  7020. { oid => '2293', descr => 'I/O',
  7021. proname => 'cstring_out', prorettype => 'cstring', proargtypes => 'cstring',
  7022. prosrc => 'cstring_out' },
  7023. { oid => '2294', descr => 'I/O',
  7024. proname => 'any_in', prorettype => 'any', proargtypes => 'cstring',
  7025. prosrc => 'any_in' },
  7026. { oid => '2295', descr => 'I/O',
  7027. proname => 'any_out', prorettype => 'cstring', proargtypes => 'any',
  7028. prosrc => 'any_out' },
  7029. { oid => '2296', descr => 'I/O',
  7030. proname => 'anyarray_in', prorettype => 'anyarray', proargtypes => 'cstring',
  7031. prosrc => 'anyarray_in' },
  7032. { oid => '2297', descr => 'I/O',
  7033. proname => 'anyarray_out', provolatile => 's', prorettype => 'cstring',
  7034. proargtypes => 'anyarray', prosrc => 'anyarray_out' },
  7035. { oid => '2298', descr => 'I/O',
  7036. proname => 'void_in', prorettype => 'void', proargtypes => 'cstring',
  7037. prosrc => 'void_in' },
  7038. { oid => '2299', descr => 'I/O',
  7039. proname => 'void_out', prorettype => 'cstring', proargtypes => 'void',
  7040. prosrc => 'void_out' },
  7041. { oid => '2300', descr => 'I/O',
  7042. proname => 'trigger_in', proisstrict => 'f', prorettype => 'trigger',
  7043. proargtypes => 'cstring', prosrc => 'trigger_in' },
  7044. { oid => '2301', descr => 'I/O',
  7045. proname => 'trigger_out', prorettype => 'cstring', proargtypes => 'trigger',
  7046. prosrc => 'trigger_out' },
  7047. { oid => '3594', descr => 'I/O',
  7048. proname => 'event_trigger_in', proisstrict => 'f',
  7049. prorettype => 'event_trigger', proargtypes => 'cstring',
  7050. prosrc => 'event_trigger_in' },
  7051. { oid => '3595', descr => 'I/O',
  7052. proname => 'event_trigger_out', prorettype => 'cstring',
  7053. proargtypes => 'event_trigger', prosrc => 'event_trigger_out' },
  7054. { oid => '2302', descr => 'I/O',
  7055. proname => 'language_handler_in', proisstrict => 'f',
  7056. prorettype => 'language_handler', proargtypes => 'cstring',
  7057. prosrc => 'language_handler_in' },
  7058. { oid => '2303', descr => 'I/O',
  7059. proname => 'language_handler_out', prorettype => 'cstring',
  7060. proargtypes => 'language_handler', prosrc => 'language_handler_out' },
  7061. { oid => '2304', descr => 'I/O',
  7062. proname => 'internal_in', proisstrict => 'f', prorettype => 'internal',
  7063. proargtypes => 'cstring', prosrc => 'internal_in' },
  7064. { oid => '2305', descr => 'I/O',
  7065. proname => 'internal_out', prorettype => 'cstring', proargtypes => 'internal',
  7066. prosrc => 'internal_out' },
  7067. { oid => '2312', descr => 'I/O',
  7068. proname => 'anyelement_in', prorettype => 'anyelement',
  7069. proargtypes => 'cstring', prosrc => 'anyelement_in' },
  7070. { oid => '2313', descr => 'I/O',
  7071. proname => 'anyelement_out', prorettype => 'cstring',
  7072. proargtypes => 'anyelement', prosrc => 'anyelement_out' },
  7073. { oid => '2398', descr => 'I/O',
  7074. proname => 'shell_in', proisstrict => 'f', prorettype => 'void',
  7075. proargtypes => 'cstring', prosrc => 'shell_in' },
  7076. { oid => '2399', descr => 'I/O',
  7077. proname => 'shell_out', prorettype => 'cstring', proargtypes => 'void',
  7078. prosrc => 'shell_out' },
  7079. { oid => '2597', descr => 'I/O',
  7080. proname => 'domain_in', proisstrict => 'f', provolatile => 's',
  7081. prorettype => 'any', proargtypes => 'cstring oid int4',
  7082. prosrc => 'domain_in' },
  7083. { oid => '2598', descr => 'I/O',
  7084. proname => 'domain_recv', proisstrict => 'f', provolatile => 's',
  7085. prorettype => 'any', proargtypes => 'internal oid int4',
  7086. prosrc => 'domain_recv' },
  7087. { oid => '2777', descr => 'I/O',
  7088. proname => 'anynonarray_in', prorettype => 'anynonarray',
  7089. proargtypes => 'cstring', prosrc => 'anynonarray_in' },
  7090. { oid => '2778', descr => 'I/O',
  7091. proname => 'anynonarray_out', prorettype => 'cstring',
  7092. proargtypes => 'anynonarray', prosrc => 'anynonarray_out' },
  7093. { oid => '3116', descr => 'I/O',
  7094. proname => 'fdw_handler_in', proisstrict => 'f', prorettype => 'fdw_handler',
  7095. proargtypes => 'cstring', prosrc => 'fdw_handler_in' },
  7096. { oid => '3117', descr => 'I/O',
  7097. proname => 'fdw_handler_out', prorettype => 'cstring',
  7098. proargtypes => 'fdw_handler', prosrc => 'fdw_handler_out' },
  7099. { oid => '326', descr => 'I/O',
  7100. proname => 'index_am_handler_in', proisstrict => 'f',
  7101. prorettype => 'index_am_handler', proargtypes => 'cstring',
  7102. prosrc => 'index_am_handler_in' },
  7103. { oid => '327', descr => 'I/O',
  7104. proname => 'index_am_handler_out', prorettype => 'cstring',
  7105. proargtypes => 'index_am_handler', prosrc => 'index_am_handler_out' },
  7106. { oid => '3311', descr => 'I/O',
  7107. proname => 'tsm_handler_in', proisstrict => 'f', prorettype => 'tsm_handler',
  7108. proargtypes => 'cstring', prosrc => 'tsm_handler_in' },
  7109. { oid => '3312', descr => 'I/O',
  7110. proname => 'tsm_handler_out', prorettype => 'cstring',
  7111. proargtypes => 'tsm_handler', prosrc => 'tsm_handler_out' },
  7112. { oid => '267', descr => 'I/O',
  7113. proname => 'table_am_handler_in', proisstrict => 'f',
  7114. prorettype => 'table_am_handler', proargtypes => 'cstring',
  7115. prosrc => 'table_am_handler_in' },
  7116. { oid => '268', descr => 'I/O',
  7117. proname => 'table_am_handler_out', prorettype => 'cstring',
  7118. proargtypes => 'table_am_handler', prosrc => 'table_am_handler_out' },
  7119. { oid => '5086', descr => 'I/O',
  7120. proname => 'anycompatible_in', prorettype => 'anycompatible',
  7121. proargtypes => 'cstring', prosrc => 'anycompatible_in' },
  7122. { oid => '5087', descr => 'I/O',
  7123. proname => 'anycompatible_out', prorettype => 'cstring',
  7124. proargtypes => 'anycompatible', prosrc => 'anycompatible_out' },
  7125. { oid => '5088', descr => 'I/O',
  7126. proname => 'anycompatiblearray_in', prorettype => 'anycompatiblearray',
  7127. proargtypes => 'cstring', prosrc => 'anycompatiblearray_in' },
  7128. { oid => '5089', descr => 'I/O',
  7129. proname => 'anycompatiblearray_out', provolatile => 's',
  7130. prorettype => 'cstring', proargtypes => 'anycompatiblearray',
  7131. prosrc => 'anycompatiblearray_out' },
  7132. { oid => '5090', descr => 'I/O',
  7133. proname => 'anycompatiblearray_recv', provolatile => 's',
  7134. prorettype => 'anycompatiblearray', proargtypes => 'internal',
  7135. prosrc => 'anycompatiblearray_recv' },
  7136. { oid => '5091', descr => 'I/O',
  7137. proname => 'anycompatiblearray_send', provolatile => 's',
  7138. prorettype => 'bytea', proargtypes => 'anycompatiblearray',
  7139. prosrc => 'anycompatiblearray_send' },
  7140. { oid => '5092', descr => 'I/O',
  7141. proname => 'anycompatiblenonarray_in', prorettype => 'anycompatiblenonarray',
  7142. proargtypes => 'cstring', prosrc => 'anycompatiblenonarray_in' },
  7143. { oid => '5093', descr => 'I/O',
  7144. proname => 'anycompatiblenonarray_out', prorettype => 'cstring',
  7145. proargtypes => 'anycompatiblenonarray',
  7146. prosrc => 'anycompatiblenonarray_out' },
  7147. { oid => '5094', descr => 'I/O',
  7148. proname => 'anycompatiblerange_in', provolatile => 's',
  7149. prorettype => 'anycompatiblerange', proargtypes => 'cstring oid int4',
  7150. prosrc => 'anycompatiblerange_in' },
  7151. { oid => '5095', descr => 'I/O',
  7152. proname => 'anycompatiblerange_out', provolatile => 's',
  7153. prorettype => 'cstring', proargtypes => 'anycompatiblerange',
  7154. prosrc => 'anycompatiblerange_out' },
  7155. { oid => '4226', descr => 'I/O',
  7156. proname => 'anycompatiblemultirange_in', provolatile => 's',
  7157. prorettype => 'anycompatiblemultirange', proargtypes => 'cstring oid int4',
  7158. prosrc => 'anycompatiblemultirange_in' },
  7159. { oid => '4227', descr => 'I/O',
  7160. proname => 'anycompatiblemultirange_out', provolatile => 's',
  7161. prorettype => 'cstring', proargtypes => 'anycompatiblemultirange',
  7162. prosrc => 'anycompatiblemultirange_out' },
  7163. # tablesample method handlers
  7164. { oid => '3313', descr => 'BERNOULLI tablesample method handler',
  7165. proname => 'bernoulli', provolatile => 'v', prorettype => 'tsm_handler',
  7166. proargtypes => 'internal', prosrc => 'tsm_bernoulli_handler' },
  7167. { oid => '3314', descr => 'SYSTEM tablesample method handler',
  7168. proname => 'system', provolatile => 'v', prorettype => 'tsm_handler',
  7169. proargtypes => 'internal', prosrc => 'tsm_system_handler' },
  7170. # cryptographic
  7171. { oid => '2311', descr => 'MD5 hash',
  7172. proname => 'md5', proleakproof => 't', prorettype => 'text',
  7173. proargtypes => 'text', prosrc => 'md5_text' },
  7174. { oid => '2321', descr => 'MD5 hash',
  7175. proname => 'md5', proleakproof => 't', prorettype => 'text',
  7176. proargtypes => 'bytea', prosrc => 'md5_bytea' },
  7177. { oid => '3419', descr => 'SHA-224 hash',
  7178. proname => 'sha224', proleakproof => 't', prorettype => 'bytea',
  7179. proargtypes => 'bytea', prosrc => 'sha224_bytea' },
  7180. { oid => '3420', descr => 'SHA-256 hash',
  7181. proname => 'sha256', proleakproof => 't', prorettype => 'bytea',
  7182. proargtypes => 'bytea', prosrc => 'sha256_bytea' },
  7183. { oid => '3421', descr => 'SHA-384 hash',
  7184. proname => 'sha384', proleakproof => 't', prorettype => 'bytea',
  7185. proargtypes => 'bytea', prosrc => 'sha384_bytea' },
  7186. { oid => '3422', descr => 'SHA-512 hash',
  7187. proname => 'sha512', proleakproof => 't', prorettype => 'bytea',
  7188. proargtypes => 'bytea', prosrc => 'sha512_bytea' },
  7189. # crosstype operations for date vs. timestamp and timestamptz
  7190. { oid => '2338',
  7191. proname => 'date_lt_timestamp', prorettype => 'bool',
  7192. proargtypes => 'date timestamp', prosrc => 'date_lt_timestamp' },
  7193. { oid => '2339',
  7194. proname => 'date_le_timestamp', prorettype => 'bool',
  7195. proargtypes => 'date timestamp', prosrc => 'date_le_timestamp' },
  7196. { oid => '2340',
  7197. proname => 'date_eq_timestamp', prorettype => 'bool',
  7198. proargtypes => 'date timestamp', prosrc => 'date_eq_timestamp' },
  7199. { oid => '2341',
  7200. proname => 'date_gt_timestamp', prorettype => 'bool',
  7201. proargtypes => 'date timestamp', prosrc => 'date_gt_timestamp' },
  7202. { oid => '2342',
  7203. proname => 'date_ge_timestamp', prorettype => 'bool',
  7204. proargtypes => 'date timestamp', prosrc => 'date_ge_timestamp' },
  7205. { oid => '2343',
  7206. proname => 'date_ne_timestamp', prorettype => 'bool',
  7207. proargtypes => 'date timestamp', prosrc => 'date_ne_timestamp' },
  7208. { oid => '2344', descr => 'less-equal-greater',
  7209. proname => 'date_cmp_timestamp', prorettype => 'int4',
  7210. proargtypes => 'date timestamp', prosrc => 'date_cmp_timestamp' },
  7211. { oid => '2351',
  7212. proname => 'date_lt_timestamptz', provolatile => 's', prorettype => 'bool',
  7213. proargtypes => 'date timestamptz', prosrc => 'date_lt_timestamptz' },
  7214. { oid => '2352',
  7215. proname => 'date_le_timestamptz', provolatile => 's', prorettype => 'bool',
  7216. proargtypes => 'date timestamptz', prosrc => 'date_le_timestamptz' },
  7217. { oid => '2353',
  7218. proname => 'date_eq_timestamptz', provolatile => 's', prorettype => 'bool',
  7219. proargtypes => 'date timestamptz', prosrc => 'date_eq_timestamptz' },
  7220. { oid => '2354',
  7221. proname => 'date_gt_timestamptz', provolatile => 's', prorettype => 'bool',
  7222. proargtypes => 'date timestamptz', prosrc => 'date_gt_timestamptz' },
  7223. { oid => '2355',
  7224. proname => 'date_ge_timestamptz', provolatile => 's', prorettype => 'bool',
  7225. proargtypes => 'date timestamptz', prosrc => 'date_ge_timestamptz' },
  7226. { oid => '2356',
  7227. proname => 'date_ne_timestamptz', provolatile => 's', prorettype => 'bool',
  7228. proargtypes => 'date timestamptz', prosrc => 'date_ne_timestamptz' },
  7229. { oid => '2357', descr => 'less-equal-greater',
  7230. proname => 'date_cmp_timestamptz', provolatile => 's', prorettype => 'int4',
  7231. proargtypes => 'date timestamptz', prosrc => 'date_cmp_timestamptz' },
  7232. { oid => '2364',
  7233. proname => 'timestamp_lt_date', prorettype => 'bool',
  7234. proargtypes => 'timestamp date', prosrc => 'timestamp_lt_date' },
  7235. { oid => '2365',
  7236. proname => 'timestamp_le_date', prorettype => 'bool',
  7237. proargtypes => 'timestamp date', prosrc => 'timestamp_le_date' },
  7238. { oid => '2366',
  7239. proname => 'timestamp_eq_date', prorettype => 'bool',
  7240. proargtypes => 'timestamp date', prosrc => 'timestamp_eq_date' },
  7241. { oid => '2367',
  7242. proname => 'timestamp_gt_date', prorettype => 'bool',
  7243. proargtypes => 'timestamp date', prosrc => 'timestamp_gt_date' },
  7244. { oid => '2368',
  7245. proname => 'timestamp_ge_date', prorettype => 'bool',
  7246. proargtypes => 'timestamp date', prosrc => 'timestamp_ge_date' },
  7247. { oid => '2369',
  7248. proname => 'timestamp_ne_date', prorettype => 'bool',
  7249. proargtypes => 'timestamp date', prosrc => 'timestamp_ne_date' },
  7250. { oid => '2370', descr => 'less-equal-greater',
  7251. proname => 'timestamp_cmp_date', prorettype => 'int4',
  7252. proargtypes => 'timestamp date', prosrc => 'timestamp_cmp_date' },
  7253. { oid => '2377',
  7254. proname => 'timestamptz_lt_date', provolatile => 's', prorettype => 'bool',
  7255. proargtypes => 'timestamptz date', prosrc => 'timestamptz_lt_date' },
  7256. { oid => '2378',
  7257. proname => 'timestamptz_le_date', provolatile => 's', prorettype => 'bool',
  7258. proargtypes => 'timestamptz date', prosrc => 'timestamptz_le_date' },
  7259. { oid => '2379',
  7260. proname => 'timestamptz_eq_date', provolatile => 's', prorettype => 'bool',
  7261. proargtypes => 'timestamptz date', prosrc => 'timestamptz_eq_date' },
  7262. { oid => '2380',
  7263. proname => 'timestamptz_gt_date', provolatile => 's', prorettype => 'bool',
  7264. proargtypes => 'timestamptz date', prosrc => 'timestamptz_gt_date' },
  7265. { oid => '2381',
  7266. proname => 'timestamptz_ge_date', provolatile => 's', prorettype => 'bool',
  7267. proargtypes => 'timestamptz date', prosrc => 'timestamptz_ge_date' },
  7268. { oid => '2382',
  7269. proname => 'timestamptz_ne_date', provolatile => 's', prorettype => 'bool',
  7270. proargtypes => 'timestamptz date', prosrc => 'timestamptz_ne_date' },
  7271. { oid => '2383', descr => 'less-equal-greater',
  7272. proname => 'timestamptz_cmp_date', provolatile => 's', prorettype => 'int4',
  7273. proargtypes => 'timestamptz date', prosrc => 'timestamptz_cmp_date' },
  7274. # crosstype operations for timestamp vs. timestamptz
  7275. { oid => '2520',
  7276. proname => 'timestamp_lt_timestamptz', provolatile => 's',
  7277. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7278. prosrc => 'timestamp_lt_timestamptz' },
  7279. { oid => '2521',
  7280. proname => 'timestamp_le_timestamptz', provolatile => 's',
  7281. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7282. prosrc => 'timestamp_le_timestamptz' },
  7283. { oid => '2522',
  7284. proname => 'timestamp_eq_timestamptz', provolatile => 's',
  7285. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7286. prosrc => 'timestamp_eq_timestamptz' },
  7287. { oid => '2523',
  7288. proname => 'timestamp_gt_timestamptz', provolatile => 's',
  7289. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7290. prosrc => 'timestamp_gt_timestamptz' },
  7291. { oid => '2524',
  7292. proname => 'timestamp_ge_timestamptz', provolatile => 's',
  7293. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7294. prosrc => 'timestamp_ge_timestamptz' },
  7295. { oid => '2525',
  7296. proname => 'timestamp_ne_timestamptz', provolatile => 's',
  7297. prorettype => 'bool', proargtypes => 'timestamp timestamptz',
  7298. prosrc => 'timestamp_ne_timestamptz' },
  7299. { oid => '2526', descr => 'less-equal-greater',
  7300. proname => 'timestamp_cmp_timestamptz', provolatile => 's',
  7301. prorettype => 'int4', proargtypes => 'timestamp timestamptz',
  7302. prosrc => 'timestamp_cmp_timestamptz' },
  7303. { oid => '2527',
  7304. proname => 'timestamptz_lt_timestamp', provolatile => 's',
  7305. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7306. prosrc => 'timestamptz_lt_timestamp' },
  7307. { oid => '2528',
  7308. proname => 'timestamptz_le_timestamp', provolatile => 's',
  7309. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7310. prosrc => 'timestamptz_le_timestamp' },
  7311. { oid => '2529',
  7312. proname => 'timestamptz_eq_timestamp', provolatile => 's',
  7313. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7314. prosrc => 'timestamptz_eq_timestamp' },
  7315. { oid => '2530',
  7316. proname => 'timestamptz_gt_timestamp', provolatile => 's',
  7317. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7318. prosrc => 'timestamptz_gt_timestamp' },
  7319. { oid => '2531',
  7320. proname => 'timestamptz_ge_timestamp', provolatile => 's',
  7321. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7322. prosrc => 'timestamptz_ge_timestamp' },
  7323. { oid => '2532',
  7324. proname => 'timestamptz_ne_timestamp', provolatile => 's',
  7325. prorettype => 'bool', proargtypes => 'timestamptz timestamp',
  7326. prosrc => 'timestamptz_ne_timestamp' },
  7327. { oid => '2533', descr => 'less-equal-greater',
  7328. proname => 'timestamptz_cmp_timestamp', provolatile => 's',
  7329. prorettype => 'int4', proargtypes => 'timestamptz timestamp',
  7330. prosrc => 'timestamptz_cmp_timestamp' },
  7331. # send/receive functions
  7332. { oid => '2400', descr => 'I/O',
  7333. proname => 'array_recv', provolatile => 's', prorettype => 'anyarray',
  7334. proargtypes => 'internal oid int4', prosrc => 'array_recv' },
  7335. { oid => '2401', descr => 'I/O',
  7336. proname => 'array_send', provolatile => 's', prorettype => 'bytea',
  7337. proargtypes => 'anyarray', prosrc => 'array_send' },
  7338. { oid => '2402', descr => 'I/O',
  7339. proname => 'record_recv', provolatile => 's', prorettype => 'record',
  7340. proargtypes => 'internal oid int4', prosrc => 'record_recv' },
  7341. { oid => '2403', descr => 'I/O',
  7342. proname => 'record_send', provolatile => 's', prorettype => 'bytea',
  7343. proargtypes => 'record', prosrc => 'record_send' },
  7344. { oid => '2404', descr => 'I/O',
  7345. proname => 'int2recv', prorettype => 'int2', proargtypes => 'internal',
  7346. prosrc => 'int2recv' },
  7347. { oid => '2405', descr => 'I/O',
  7348. proname => 'int2send', prorettype => 'bytea', proargtypes => 'int2',
  7349. prosrc => 'int2send' },
  7350. { oid => '2406', descr => 'I/O',
  7351. proname => 'int4recv', prorettype => 'int4', proargtypes => 'internal',
  7352. prosrc => 'int4recv' },
  7353. { oid => '2407', descr => 'I/O',
  7354. proname => 'int4send', prorettype => 'bytea', proargtypes => 'int4',
  7355. prosrc => 'int4send' },
  7356. { oid => '2408', descr => 'I/O',
  7357. proname => 'int8recv', prorettype => 'int8', proargtypes => 'internal',
  7358. prosrc => 'int8recv' },
  7359. { oid => '2409', descr => 'I/O',
  7360. proname => 'int8send', prorettype => 'bytea', proargtypes => 'int8',
  7361. prosrc => 'int8send' },
  7362. { oid => '2410', descr => 'I/O',
  7363. proname => 'int2vectorrecv', prorettype => 'int2vector',
  7364. proargtypes => 'internal', prosrc => 'int2vectorrecv' },
  7365. { oid => '2411', descr => 'I/O',
  7366. proname => 'int2vectorsend', prorettype => 'bytea',
  7367. proargtypes => 'int2vector', prosrc => 'int2vectorsend' },
  7368. { oid => '2412', descr => 'I/O',
  7369. proname => 'bytearecv', prorettype => 'bytea', proargtypes => 'internal',
  7370. prosrc => 'bytearecv' },
  7371. { oid => '2413', descr => 'I/O',
  7372. proname => 'byteasend', prorettype => 'bytea', proargtypes => 'bytea',
  7373. prosrc => 'byteasend' },
  7374. { oid => '2414', descr => 'I/O',
  7375. proname => 'textrecv', provolatile => 's', prorettype => 'text',
  7376. proargtypes => 'internal', prosrc => 'textrecv' },
  7377. { oid => '2415', descr => 'I/O',
  7378. proname => 'textsend', provolatile => 's', prorettype => 'bytea',
  7379. proargtypes => 'text', prosrc => 'textsend' },
  7380. { oid => '2416', descr => 'I/O',
  7381. proname => 'unknownrecv', prorettype => 'unknown', proargtypes => 'internal',
  7382. prosrc => 'unknownrecv' },
  7383. { oid => '2417', descr => 'I/O',
  7384. proname => 'unknownsend', prorettype => 'bytea', proargtypes => 'unknown',
  7385. prosrc => 'unknownsend' },
  7386. { oid => '2418', descr => 'I/O',
  7387. proname => 'oidrecv', prorettype => 'oid', proargtypes => 'internal',
  7388. prosrc => 'oidrecv' },
  7389. { oid => '2419', descr => 'I/O',
  7390. proname => 'oidsend', prorettype => 'bytea', proargtypes => 'oid',
  7391. prosrc => 'oidsend' },
  7392. { oid => '2420', descr => 'I/O',
  7393. proname => 'oidvectorrecv', prorettype => 'oidvector',
  7394. proargtypes => 'internal', prosrc => 'oidvectorrecv' },
  7395. { oid => '2421', descr => 'I/O',
  7396. proname => 'oidvectorsend', prorettype => 'bytea', proargtypes => 'oidvector',
  7397. prosrc => 'oidvectorsend' },
  7398. { oid => '2422', descr => 'I/O',
  7399. proname => 'namerecv', provolatile => 's', prorettype => 'name',
  7400. proargtypes => 'internal', prosrc => 'namerecv' },
  7401. { oid => '2423', descr => 'I/O',
  7402. proname => 'namesend', provolatile => 's', prorettype => 'bytea',
  7403. proargtypes => 'name', prosrc => 'namesend' },
  7404. { oid => '2424', descr => 'I/O',
  7405. proname => 'float4recv', prorettype => 'float4', proargtypes => 'internal',
  7406. prosrc => 'float4recv' },
  7407. { oid => '2425', descr => 'I/O',
  7408. proname => 'float4send', prorettype => 'bytea', proargtypes => 'float4',
  7409. prosrc => 'float4send' },
  7410. { oid => '2426', descr => 'I/O',
  7411. proname => 'float8recv', prorettype => 'float8', proargtypes => 'internal',
  7412. prosrc => 'float8recv' },
  7413. { oid => '2427', descr => 'I/O',
  7414. proname => 'float8send', prorettype => 'bytea', proargtypes => 'float8',
  7415. prosrc => 'float8send' },
  7416. { oid => '2428', descr => 'I/O',
  7417. proname => 'point_recv', prorettype => 'point', proargtypes => 'internal',
  7418. prosrc => 'point_recv' },
  7419. { oid => '2429', descr => 'I/O',
  7420. proname => 'point_send', prorettype => 'bytea', proargtypes => 'point',
  7421. prosrc => 'point_send' },
  7422. { oid => '2430', descr => 'I/O',
  7423. proname => 'bpcharrecv', provolatile => 's', prorettype => 'bpchar',
  7424. proargtypes => 'internal oid int4', prosrc => 'bpcharrecv' },
  7425. { oid => '2431', descr => 'I/O',
  7426. proname => 'bpcharsend', provolatile => 's', prorettype => 'bytea',
  7427. proargtypes => 'bpchar', prosrc => 'bpcharsend' },
  7428. { oid => '2432', descr => 'I/O',
  7429. proname => 'varcharrecv', provolatile => 's', prorettype => 'varchar',
  7430. proargtypes => 'internal oid int4', prosrc => 'varcharrecv' },
  7431. { oid => '2433', descr => 'I/O',
  7432. proname => 'varcharsend', provolatile => 's', prorettype => 'bytea',
  7433. proargtypes => 'varchar', prosrc => 'varcharsend' },
  7434. { oid => '2434', descr => 'I/O',
  7435. proname => 'charrecv', prorettype => 'char', proargtypes => 'internal',
  7436. prosrc => 'charrecv' },
  7437. { oid => '2435', descr => 'I/O',
  7438. proname => 'charsend', prorettype => 'bytea', proargtypes => 'char',
  7439. prosrc => 'charsend' },
  7440. { oid => '2436', descr => 'I/O',
  7441. proname => 'boolrecv', prorettype => 'bool', proargtypes => 'internal',
  7442. prosrc => 'boolrecv' },
  7443. { oid => '2437', descr => 'I/O',
  7444. proname => 'boolsend', prorettype => 'bytea', proargtypes => 'bool',
  7445. prosrc => 'boolsend' },
  7446. { oid => '2438', descr => 'I/O',
  7447. proname => 'tidrecv', prorettype => 'tid', proargtypes => 'internal',
  7448. prosrc => 'tidrecv' },
  7449. { oid => '2439', descr => 'I/O',
  7450. proname => 'tidsend', prorettype => 'bytea', proargtypes => 'tid',
  7451. prosrc => 'tidsend' },
  7452. { oid => '2440', descr => 'I/O',
  7453. proname => 'xidrecv', prorettype => 'xid', proargtypes => 'internal',
  7454. prosrc => 'xidrecv' },
  7455. { oid => '2441', descr => 'I/O',
  7456. proname => 'xidsend', prorettype => 'bytea', proargtypes => 'xid',
  7457. prosrc => 'xidsend' },
  7458. { oid => '2442', descr => 'I/O',
  7459. proname => 'cidrecv', prorettype => 'cid', proargtypes => 'internal',
  7460. prosrc => 'cidrecv' },
  7461. { oid => '2443', descr => 'I/O',
  7462. proname => 'cidsend', prorettype => 'bytea', proargtypes => 'cid',
  7463. prosrc => 'cidsend' },
  7464. { oid => '2444', descr => 'I/O',
  7465. proname => 'regprocrecv', prorettype => 'regproc', proargtypes => 'internal',
  7466. prosrc => 'regprocrecv' },
  7467. { oid => '2445', descr => 'I/O',
  7468. proname => 'regprocsend', prorettype => 'bytea', proargtypes => 'regproc',
  7469. prosrc => 'regprocsend' },
  7470. { oid => '2446', descr => 'I/O',
  7471. proname => 'regprocedurerecv', prorettype => 'regprocedure',
  7472. proargtypes => 'internal', prosrc => 'regprocedurerecv' },
  7473. { oid => '2447', descr => 'I/O',
  7474. proname => 'regproceduresend', prorettype => 'bytea',
  7475. proargtypes => 'regprocedure', prosrc => 'regproceduresend' },
  7476. { oid => '2448', descr => 'I/O',
  7477. proname => 'regoperrecv', prorettype => 'regoper', proargtypes => 'internal',
  7478. prosrc => 'regoperrecv' },
  7479. { oid => '2449', descr => 'I/O',
  7480. proname => 'regopersend', prorettype => 'bytea', proargtypes => 'regoper',
  7481. prosrc => 'regopersend' },
  7482. { oid => '2450', descr => 'I/O',
  7483. proname => 'regoperatorrecv', prorettype => 'regoperator',
  7484. proargtypes => 'internal', prosrc => 'regoperatorrecv' },
  7485. { oid => '2451', descr => 'I/O',
  7486. proname => 'regoperatorsend', prorettype => 'bytea',
  7487. proargtypes => 'regoperator', prosrc => 'regoperatorsend' },
  7488. { oid => '2452', descr => 'I/O',
  7489. proname => 'regclassrecv', prorettype => 'regclass',
  7490. proargtypes => 'internal', prosrc => 'regclassrecv' },
  7491. { oid => '2453', descr => 'I/O',
  7492. proname => 'regclasssend', prorettype => 'bytea', proargtypes => 'regclass',
  7493. prosrc => 'regclasssend' },
  7494. { oid => '4196', descr => 'I/O',
  7495. proname => 'regcollationrecv', prorettype => 'regcollation',
  7496. proargtypes => 'internal', prosrc => 'regcollationrecv' },
  7497. { oid => '4197', descr => 'I/O',
  7498. proname => 'regcollationsend', prorettype => 'bytea',
  7499. proargtypes => 'regcollation', prosrc => 'regcollationsend' },
  7500. { oid => '2454', descr => 'I/O',
  7501. proname => 'regtyperecv', prorettype => 'regtype', proargtypes => 'internal',
  7502. prosrc => 'regtyperecv' },
  7503. { oid => '2455', descr => 'I/O',
  7504. proname => 'regtypesend', prorettype => 'bytea', proargtypes => 'regtype',
  7505. prosrc => 'regtypesend' },
  7506. { oid => '4094', descr => 'I/O',
  7507. proname => 'regrolerecv', prorettype => 'regrole', proargtypes => 'internal',
  7508. prosrc => 'regrolerecv' },
  7509. { oid => '4095', descr => 'I/O',
  7510. proname => 'regrolesend', prorettype => 'bytea', proargtypes => 'regrole',
  7511. prosrc => 'regrolesend' },
  7512. { oid => '4087', descr => 'I/O',
  7513. proname => 'regnamespacerecv', prorettype => 'regnamespace',
  7514. proargtypes => 'internal', prosrc => 'regnamespacerecv' },
  7515. { oid => '4088', descr => 'I/O',
  7516. proname => 'regnamespacesend', prorettype => 'bytea',
  7517. proargtypes => 'regnamespace', prosrc => 'regnamespacesend' },
  7518. { oid => '2456', descr => 'I/O',
  7519. proname => 'bit_recv', prorettype => 'bit',
  7520. proargtypes => 'internal oid int4', prosrc => 'bit_recv' },
  7521. { oid => '2457', descr => 'I/O',
  7522. proname => 'bit_send', prorettype => 'bytea', proargtypes => 'bit',
  7523. prosrc => 'bit_send' },
  7524. { oid => '2458', descr => 'I/O',
  7525. proname => 'varbit_recv', prorettype => 'varbit',
  7526. proargtypes => 'internal oid int4', prosrc => 'varbit_recv' },
  7527. { oid => '2459', descr => 'I/O',
  7528. proname => 'varbit_send', prorettype => 'bytea', proargtypes => 'varbit',
  7529. prosrc => 'varbit_send' },
  7530. { oid => '2460', descr => 'I/O',
  7531. proname => 'numeric_recv', prorettype => 'numeric',
  7532. proargtypes => 'internal oid int4', prosrc => 'numeric_recv' },
  7533. { oid => '2461', descr => 'I/O',
  7534. proname => 'numeric_send', prorettype => 'bytea', proargtypes => 'numeric',
  7535. prosrc => 'numeric_send' },
  7536. { oid => '2468', descr => 'I/O',
  7537. proname => 'date_recv', prorettype => 'date', proargtypes => 'internal',
  7538. prosrc => 'date_recv' },
  7539. { oid => '2469', descr => 'I/O',
  7540. proname => 'date_send', prorettype => 'bytea', proargtypes => 'date',
  7541. prosrc => 'date_send' },
  7542. { oid => '2470', descr => 'I/O',
  7543. proname => 'time_recv', prorettype => 'time',
  7544. proargtypes => 'internal oid int4', prosrc => 'time_recv' },
  7545. { oid => '2471', descr => 'I/O',
  7546. proname => 'time_send', prorettype => 'bytea', proargtypes => 'time',
  7547. prosrc => 'time_send' },
  7548. { oid => '2472', descr => 'I/O',
  7549. proname => 'timetz_recv', prorettype => 'timetz',
  7550. proargtypes => 'internal oid int4', prosrc => 'timetz_recv' },
  7551. { oid => '2473', descr => 'I/O',
  7552. proname => 'timetz_send', prorettype => 'bytea', proargtypes => 'timetz',
  7553. prosrc => 'timetz_send' },
  7554. { oid => '2474', descr => 'I/O',
  7555. proname => 'timestamp_recv', prorettype => 'timestamp',
  7556. proargtypes => 'internal oid int4', prosrc => 'timestamp_recv' },
  7557. { oid => '2475', descr => 'I/O',
  7558. proname => 'timestamp_send', prorettype => 'bytea',
  7559. proargtypes => 'timestamp', prosrc => 'timestamp_send' },
  7560. { oid => '2476', descr => 'I/O',
  7561. proname => 'timestamptz_recv', prorettype => 'timestamptz',
  7562. proargtypes => 'internal oid int4', prosrc => 'timestamptz_recv' },
  7563. { oid => '2477', descr => 'I/O',
  7564. proname => 'timestamptz_send', prorettype => 'bytea',
  7565. proargtypes => 'timestamptz', prosrc => 'timestamptz_send' },
  7566. { oid => '2478', descr => 'I/O',
  7567. proname => 'interval_recv', prorettype => 'interval',
  7568. proargtypes => 'internal oid int4', prosrc => 'interval_recv' },
  7569. { oid => '2479', descr => 'I/O',
  7570. proname => 'interval_send', prorettype => 'bytea', proargtypes => 'interval',
  7571. prosrc => 'interval_send' },
  7572. { oid => '2480', descr => 'I/O',
  7573. proname => 'lseg_recv', prorettype => 'lseg', proargtypes => 'internal',
  7574. prosrc => 'lseg_recv' },
  7575. { oid => '2481', descr => 'I/O',
  7576. proname => 'lseg_send', prorettype => 'bytea', proargtypes => 'lseg',
  7577. prosrc => 'lseg_send' },
  7578. { oid => '2482', descr => 'I/O',
  7579. proname => 'path_recv', prorettype => 'path', proargtypes => 'internal',
  7580. prosrc => 'path_recv' },
  7581. { oid => '2483', descr => 'I/O',
  7582. proname => 'path_send', prorettype => 'bytea', proargtypes => 'path',
  7583. prosrc => 'path_send' },
  7584. { oid => '2484', descr => 'I/O',
  7585. proname => 'box_recv', prorettype => 'box', proargtypes => 'internal',
  7586. prosrc => 'box_recv' },
  7587. { oid => '2485', descr => 'I/O',
  7588. proname => 'box_send', prorettype => 'bytea', proargtypes => 'box',
  7589. prosrc => 'box_send' },
  7590. { oid => '2486', descr => 'I/O',
  7591. proname => 'poly_recv', prorettype => 'polygon', proargtypes => 'internal',
  7592. prosrc => 'poly_recv' },
  7593. { oid => '2487', descr => 'I/O',
  7594. proname => 'poly_send', prorettype => 'bytea', proargtypes => 'polygon',
  7595. prosrc => 'poly_send' },
  7596. { oid => '2488', descr => 'I/O',
  7597. proname => 'line_recv', prorettype => 'line', proargtypes => 'internal',
  7598. prosrc => 'line_recv' },
  7599. { oid => '2489', descr => 'I/O',
  7600. proname => 'line_send', prorettype => 'bytea', proargtypes => 'line',
  7601. prosrc => 'line_send' },
  7602. { oid => '2490', descr => 'I/O',
  7603. proname => 'circle_recv', prorettype => 'circle', proargtypes => 'internal',
  7604. prosrc => 'circle_recv' },
  7605. { oid => '2491', descr => 'I/O',
  7606. proname => 'circle_send', prorettype => 'bytea', proargtypes => 'circle',
  7607. prosrc => 'circle_send' },
  7608. { oid => '2492', descr => 'I/O',
  7609. proname => 'cash_recv', prorettype => 'money', proargtypes => 'internal',
  7610. prosrc => 'cash_recv' },
  7611. { oid => '2493', descr => 'I/O',
  7612. proname => 'cash_send', prorettype => 'bytea', proargtypes => 'money',
  7613. prosrc => 'cash_send' },
  7614. { oid => '2494', descr => 'I/O',
  7615. proname => 'macaddr_recv', prorettype => 'macaddr', proargtypes => 'internal',
  7616. prosrc => 'macaddr_recv' },
  7617. { oid => '2495', descr => 'I/O',
  7618. proname => 'macaddr_send', prorettype => 'bytea', proargtypes => 'macaddr',
  7619. prosrc => 'macaddr_send' },
  7620. { oid => '2496', descr => 'I/O',
  7621. proname => 'inet_recv', prorettype => 'inet', proargtypes => 'internal',
  7622. prosrc => 'inet_recv' },
  7623. { oid => '2497', descr => 'I/O',
  7624. proname => 'inet_send', prorettype => 'bytea', proargtypes => 'inet',
  7625. prosrc => 'inet_send' },
  7626. { oid => '2498', descr => 'I/O',
  7627. proname => 'cidr_recv', prorettype => 'cidr', proargtypes => 'internal',
  7628. prosrc => 'cidr_recv' },
  7629. { oid => '2499', descr => 'I/O',
  7630. proname => 'cidr_send', prorettype => 'bytea', proargtypes => 'cidr',
  7631. prosrc => 'cidr_send' },
  7632. { oid => '2500', descr => 'I/O',
  7633. proname => 'cstring_recv', provolatile => 's', prorettype => 'cstring',
  7634. proargtypes => 'internal', prosrc => 'cstring_recv' },
  7635. { oid => '2501', descr => 'I/O',
  7636. proname => 'cstring_send', provolatile => 's', prorettype => 'bytea',
  7637. proargtypes => 'cstring', prosrc => 'cstring_send' },
  7638. { oid => '2502', descr => 'I/O',
  7639. proname => 'anyarray_recv', provolatile => 's', prorettype => 'anyarray',
  7640. proargtypes => 'internal', prosrc => 'anyarray_recv' },
  7641. { oid => '2503', descr => 'I/O',
  7642. proname => 'anyarray_send', provolatile => 's', prorettype => 'bytea',
  7643. proargtypes => 'anyarray', prosrc => 'anyarray_send' },
  7644. { oid => '3120', descr => 'I/O',
  7645. proname => 'void_recv', prorettype => 'void', proargtypes => 'internal',
  7646. prosrc => 'void_recv' },
  7647. { oid => '3121', descr => 'I/O',
  7648. proname => 'void_send', prorettype => 'bytea', proargtypes => 'void',
  7649. prosrc => 'void_send' },
  7650. { oid => '3446', descr => 'I/O',
  7651. proname => 'macaddr8_recv', prorettype => 'macaddr8',
  7652. proargtypes => 'internal', prosrc => 'macaddr8_recv' },
  7653. { oid => '3447', descr => 'I/O',
  7654. proname => 'macaddr8_send', prorettype => 'bytea', proargtypes => 'macaddr8',
  7655. prosrc => 'macaddr8_send' },
  7656. # System-view support functions with pretty-print option
  7657. { oid => '2504', descr => 'source text of a rule with pretty-print option',
  7658. proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text',
  7659. proargtypes => 'oid bool', prosrc => 'pg_get_ruledef_ext' },
  7660. { oid => '2505',
  7661. descr => 'select statement of a view with pretty-print option',
  7662. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  7663. prorettype => 'text', proargtypes => 'text bool',
  7664. prosrc => 'pg_get_viewdef_name_ext' },
  7665. { oid => '2506',
  7666. descr => 'select statement of a view with pretty-print option',
  7667. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  7668. prorettype => 'text', proargtypes => 'oid bool',
  7669. prosrc => 'pg_get_viewdef_ext' },
  7670. { oid => '3159',
  7671. descr => 'select statement of a view with pretty-printing and specified line wrapping',
  7672. proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r',
  7673. prorettype => 'text', proargtypes => 'oid int4',
  7674. prosrc => 'pg_get_viewdef_wrap' },
  7675. { oid => '2507',
  7676. descr => 'index description (full create statement or single expression) with pretty-print option',
  7677. proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text',
  7678. proargtypes => 'oid int4 bool', prosrc => 'pg_get_indexdef_ext' },
  7679. { oid => '2508', descr => 'constraint description with pretty-print option',
  7680. proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text',
  7681. proargtypes => 'oid bool', prosrc => 'pg_get_constraintdef_ext' },
  7682. { oid => '2509',
  7683. descr => 'deparse an encoded expression with pretty-print option',
  7684. proname => 'pg_get_expr', provolatile => 's', prorettype => 'text',
  7685. proargtypes => 'pg_node_tree oid bool', prosrc => 'pg_get_expr_ext' },
  7686. { oid => '2510', descr => 'get the prepared statements for this session',
  7687. proname => 'pg_prepared_statement', prorows => '1000', proretset => 't',
  7688. provolatile => 's', proparallel => 'r', prorettype => 'record',
  7689. proargtypes => '',
  7690. proallargtypes => '{text,text,timestamptz,_regtype,bool,int8,int8}',
  7691. proargmodes => '{o,o,o,o,o,o,o}',
  7692. proargnames => '{name,statement,prepare_time,parameter_types,from_sql,generic_plans,custom_plans}',
  7693. prosrc => 'pg_prepared_statement' },
  7694. { oid => '2511', descr => 'get the open cursors for this session',
  7695. proname => 'pg_cursor', prorows => '1000', proretset => 't',
  7696. provolatile => 's', proparallel => 'r', prorettype => 'record',
  7697. proargtypes => '', proallargtypes => '{text,text,bool,bool,bool,timestamptz}',
  7698. proargmodes => '{o,o,o,o,o,o}',
  7699. proargnames => '{name,statement,is_holdable,is_binary,is_scrollable,creation_time}',
  7700. prosrc => 'pg_cursor' },
  7701. { oid => '2599', descr => 'get the available time zone abbreviations',
  7702. proname => 'pg_timezone_abbrevs', prorows => '1000', proretset => 't',
  7703. provolatile => 's', prorettype => 'record', proargtypes => '',
  7704. proallargtypes => '{text,interval,bool}', proargmodes => '{o,o,o}',
  7705. proargnames => '{abbrev,utc_offset,is_dst}',
  7706. prosrc => 'pg_timezone_abbrevs' },
  7707. { oid => '2856', descr => 'get the available time zone names',
  7708. proname => 'pg_timezone_names', prorows => '1000', proretset => 't',
  7709. provolatile => 's', prorettype => 'record', proargtypes => '',
  7710. proallargtypes => '{text,text,interval,bool}', proargmodes => '{o,o,o,o}',
  7711. proargnames => '{name,abbrev,utc_offset,is_dst}',
  7712. prosrc => 'pg_timezone_names' },
  7713. { oid => '2730', descr => 'trigger description with pretty-print option',
  7714. proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text',
  7715. proargtypes => 'oid bool', prosrc => 'pg_get_triggerdef_ext' },
  7716. # asynchronous notifications
  7717. { oid => '3035',
  7718. descr => 'get the channels that the current backend listens to',
  7719. proname => 'pg_listening_channels', prorows => '10', proretset => 't',
  7720. provolatile => 's', proparallel => 'r', prorettype => 'text',
  7721. proargtypes => '', prosrc => 'pg_listening_channels' },
  7722. { oid => '3036', descr => 'send a notification event',
  7723. proname => 'pg_notify', proisstrict => 'f', provolatile => 'v',
  7724. proparallel => 'r', prorettype => 'void', proargtypes => 'text text',
  7725. prosrc => 'pg_notify' },
  7726. { oid => '3296',
  7727. descr => 'get the fraction of the asynchronous notification queue currently in use',
  7728. proname => 'pg_notification_queue_usage', provolatile => 'v',
  7729. proparallel => 'r', prorettype => 'float8', proargtypes => '',
  7730. prosrc => 'pg_notification_queue_usage' },
  7731. # shared memory usage
  7732. { oid => '5052', descr => 'allocations from the main shared memory segment',
  7733. proname => 'pg_get_shmem_allocations', prorows => '50', proretset => 't',
  7734. provolatile => 'v', prorettype => 'record', proargtypes => '',
  7735. proallargtypes => '{text,int8,int8,int8}', proargmodes => '{o,o,o,o}',
  7736. proargnames => '{name,off,size,allocated_size}',
  7737. prosrc => 'pg_get_shmem_allocations' },
  7738. # memory context of local backend
  7739. { oid => '2282',
  7740. descr => 'information about all memory contexts of local backend',
  7741. proname => 'pg_get_backend_memory_contexts', prorows => '100',
  7742. proretset => 't', provolatile => 'v', proparallel => 'r',
  7743. prorettype => 'record', proargtypes => '',
  7744. proallargtypes => '{text,text,text,int4,int8,int8,int8,int8,int8}',
  7745. proargmodes => '{o,o,o,o,o,o,o,o,o}',
  7746. proargnames => '{name, ident, parent, level, total_bytes, total_nblocks, free_bytes, free_chunks, used_bytes}',
  7747. prosrc => 'pg_get_backend_memory_contexts' },
  7748. # logging memory contexts of the specified backend
  7749. { oid => '4543', descr => 'log memory contexts of the specified backend',
  7750. proname => 'pg_log_backend_memory_contexts', provolatile => 'v',
  7751. prorettype => 'bool', proargtypes => 'int4',
  7752. prosrc => 'pg_log_backend_memory_contexts' },
  7753. # non-persistent series generator
  7754. { oid => '1066', descr => 'non-persistent series generator',
  7755. proname => 'generate_series', prorows => '1000',
  7756. prosupport => 'generate_series_int4_support', proretset => 't',
  7757. prorettype => 'int4', proargtypes => 'int4 int4 int4',
  7758. prosrc => 'generate_series_step_int4' },
  7759. { oid => '1067', descr => 'non-persistent series generator',
  7760. proname => 'generate_series', prorows => '1000',
  7761. prosupport => 'generate_series_int4_support', proretset => 't',
  7762. prorettype => 'int4', proargtypes => 'int4 int4',
  7763. prosrc => 'generate_series_int4' },
  7764. { oid => '3994', descr => 'planner support for generate_series',
  7765. proname => 'generate_series_int4_support', prorettype => 'internal',
  7766. proargtypes => 'internal', prosrc => 'generate_series_int4_support' },
  7767. { oid => '1068', descr => 'non-persistent series generator',
  7768. proname => 'generate_series', prorows => '1000',
  7769. prosupport => 'generate_series_int8_support', proretset => 't',
  7770. prorettype => 'int8', proargtypes => 'int8 int8 int8',
  7771. prosrc => 'generate_series_step_int8' },
  7772. { oid => '1069', descr => 'non-persistent series generator',
  7773. proname => 'generate_series', prorows => '1000',
  7774. prosupport => 'generate_series_int8_support', proretset => 't',
  7775. prorettype => 'int8', proargtypes => 'int8 int8',
  7776. prosrc => 'generate_series_int8' },
  7777. { oid => '3995', descr => 'planner support for generate_series',
  7778. proname => 'generate_series_int8_support', prorettype => 'internal',
  7779. proargtypes => 'internal', prosrc => 'generate_series_int8_support' },
  7780. { oid => '3259', descr => 'non-persistent series generator',
  7781. proname => 'generate_series', prorows => '1000', proretset => 't',
  7782. prorettype => 'numeric', proargtypes => 'numeric numeric numeric',
  7783. prosrc => 'generate_series_step_numeric' },
  7784. { oid => '3260', descr => 'non-persistent series generator',
  7785. proname => 'generate_series', prorows => '1000', proretset => 't',
  7786. prorettype => 'numeric', proargtypes => 'numeric numeric',
  7787. prosrc => 'generate_series_numeric' },
  7788. { oid => '938', descr => 'non-persistent series generator',
  7789. proname => 'generate_series', prorows => '1000', proretset => 't',
  7790. prorettype => 'timestamp', proargtypes => 'timestamp timestamp interval',
  7791. prosrc => 'generate_series_timestamp' },
  7792. { oid => '939', descr => 'non-persistent series generator',
  7793. proname => 'generate_series', prorows => '1000', proretset => 't',
  7794. provolatile => 's', prorettype => 'timestamptz',
  7795. proargtypes => 'timestamptz timestamptz interval',
  7796. prosrc => 'generate_series_timestamptz' },
  7797. # boolean aggregates
  7798. { oid => '2515', descr => 'aggregate transition function',
  7799. proname => 'booland_statefunc', prorettype => 'bool',
  7800. proargtypes => 'bool bool', prosrc => 'booland_statefunc' },
  7801. { oid => '2516', descr => 'aggregate transition function',
  7802. proname => 'boolor_statefunc', prorettype => 'bool',
  7803. proargtypes => 'bool bool', prosrc => 'boolor_statefunc' },
  7804. { oid => '3496', descr => 'aggregate transition function',
  7805. proname => 'bool_accum', proisstrict => 'f', prorettype => 'internal',
  7806. proargtypes => 'internal bool', prosrc => 'bool_accum' },
  7807. { oid => '3497', descr => 'aggregate transition function',
  7808. proname => 'bool_accum_inv', proisstrict => 'f', prorettype => 'internal',
  7809. proargtypes => 'internal bool', prosrc => 'bool_accum_inv' },
  7810. { oid => '3498', descr => 'aggregate final function',
  7811. proname => 'bool_alltrue', prorettype => 'bool', proargtypes => 'internal',
  7812. prosrc => 'bool_alltrue' },
  7813. { oid => '3499', descr => 'aggregate final function',
  7814. proname => 'bool_anytrue', prorettype => 'bool', proargtypes => 'internal',
  7815. prosrc => 'bool_anytrue' },
  7816. { oid => '2517', descr => 'boolean-and aggregate',
  7817. proname => 'bool_and', prokind => 'a', proisstrict => 'f',
  7818. prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' },
  7819. # ANY, SOME? These names conflict with subquery operators. See doc.
  7820. { oid => '2518', descr => 'boolean-or aggregate',
  7821. proname => 'bool_or', prokind => 'a', proisstrict => 'f',
  7822. prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' },
  7823. { oid => '2519', descr => 'boolean-and aggregate',
  7824. proname => 'every', prokind => 'a', proisstrict => 'f', prorettype => 'bool',
  7825. proargtypes => 'bool', prosrc => 'aggregate_dummy' },
  7826. # bitwise integer aggregates
  7827. { oid => '2236', descr => 'bitwise-and smallint aggregate',
  7828. proname => 'bit_and', prokind => 'a', proisstrict => 'f',
  7829. prorettype => 'int2', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  7830. { oid => '2237', descr => 'bitwise-or smallint aggregate',
  7831. proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int2',
  7832. proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  7833. { oid => '6164', descr => 'bitwise-xor smallint aggregate',
  7834. proname => 'bit_xor', prokind => 'a', proisstrict => 'f',
  7835. prorettype => 'int2', proargtypes => 'int2', prosrc => 'aggregate_dummy' },
  7836. { oid => '2238', descr => 'bitwise-and integer aggregate',
  7837. proname => 'bit_and', prokind => 'a', proisstrict => 'f',
  7838. prorettype => 'int4', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  7839. { oid => '2239', descr => 'bitwise-or integer aggregate',
  7840. proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int4',
  7841. proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  7842. { oid => '6165', descr => 'bitwise-xor integer aggregate',
  7843. proname => 'bit_xor', prokind => 'a', proisstrict => 'f',
  7844. prorettype => 'int4', proargtypes => 'int4', prosrc => 'aggregate_dummy' },
  7845. { oid => '2240', descr => 'bitwise-and bigint aggregate',
  7846. proname => 'bit_and', prokind => 'a', proisstrict => 'f',
  7847. prorettype => 'int8', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  7848. { oid => '2241', descr => 'bitwise-or bigint aggregate',
  7849. proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
  7850. proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  7851. { oid => '6166', descr => 'bitwise-xor bigint aggregate',
  7852. proname => 'bit_xor', prokind => 'a', proisstrict => 'f',
  7853. prorettype => 'int8', proargtypes => 'int8', prosrc => 'aggregate_dummy' },
  7854. { oid => '2242', descr => 'bitwise-and bit aggregate',
  7855. proname => 'bit_and', prokind => 'a', proisstrict => 'f', prorettype => 'bit',
  7856. proargtypes => 'bit', prosrc => 'aggregate_dummy' },
  7857. { oid => '2243', descr => 'bitwise-or bit aggregate',
  7858. proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'bit',
  7859. proargtypes => 'bit', prosrc => 'aggregate_dummy' },
  7860. { oid => '6167', descr => 'bitwise-xor bit aggregate',
  7861. proname => 'bit_xor', prokind => 'a', proisstrict => 'f', prorettype => 'bit',
  7862. proargtypes => 'bit', prosrc => 'aggregate_dummy' },
  7863. # formerly-missing interval + datetime operators
  7864. { oid => '2546',
  7865. proname => 'interval_pl_date', prolang => 'sql', prorettype => 'timestamp',
  7866. proargtypes => 'interval date', prosrc => 'see system_functions.sql' },
  7867. { oid => '2547',
  7868. proname => 'interval_pl_timetz', prolang => 'sql', prorettype => 'timetz',
  7869. proargtypes => 'interval timetz', prosrc => 'see system_functions.sql' },
  7870. { oid => '2548',
  7871. proname => 'interval_pl_timestamp', prolang => 'sql',
  7872. prorettype => 'timestamp', proargtypes => 'interval timestamp',
  7873. prosrc => 'see system_functions.sql' },
  7874. { oid => '2549',
  7875. proname => 'interval_pl_timestamptz', prolang => 'sql', provolatile => 's',
  7876. prorettype => 'timestamptz', proargtypes => 'interval timestamptz',
  7877. prosrc => 'see system_functions.sql' },
  7878. { oid => '2550',
  7879. proname => 'integer_pl_date', prolang => 'sql', prorettype => 'date',
  7880. proargtypes => 'int4 date', prosrc => 'see system_functions.sql' },
  7881. { oid => '2556', descr => 'get OIDs of databases in a tablespace',
  7882. proname => 'pg_tablespace_databases', prorows => '1000', proretset => 't',
  7883. provolatile => 's', prorettype => 'oid', proargtypes => 'oid',
  7884. prosrc => 'pg_tablespace_databases' },
  7885. { oid => '2557', descr => 'convert int4 to boolean',
  7886. proname => 'bool', proleakproof => 't', prorettype => 'bool',
  7887. proargtypes => 'int4', prosrc => 'int4_bool' },
  7888. { oid => '2558', descr => 'convert boolean to int4',
  7889. proname => 'int4', proleakproof => 't', prorettype => 'int4',
  7890. proargtypes => 'bool', prosrc => 'bool_int4' },
  7891. { oid => '2559', descr => 'current value from last used sequence',
  7892. proname => 'lastval', provolatile => 'v', proparallel => 'u',
  7893. prorettype => 'int8', proargtypes => '', prosrc => 'lastval' },
  7894. # start time function
  7895. { oid => '2560', descr => 'postmaster start time',
  7896. proname => 'pg_postmaster_start_time', provolatile => 's',
  7897. prorettype => 'timestamptz', proargtypes => '',
  7898. prosrc => 'pg_postmaster_start_time' },
  7899. # config reload time function
  7900. { oid => '2034', descr => 'configuration load time',
  7901. proname => 'pg_conf_load_time', provolatile => 's', proparallel => 'r',
  7902. prorettype => 'timestamptz', proargtypes => '',
  7903. prosrc => 'pg_conf_load_time' },
  7904. # new functions for Y-direction rtree opclasses
  7905. { oid => '2562',
  7906. proname => 'box_below', prorettype => 'bool', proargtypes => 'box box',
  7907. prosrc => 'box_below' },
  7908. { oid => '2563',
  7909. proname => 'box_overbelow', prorettype => 'bool', proargtypes => 'box box',
  7910. prosrc => 'box_overbelow' },
  7911. { oid => '2564',
  7912. proname => 'box_overabove', prorettype => 'bool', proargtypes => 'box box',
  7913. prosrc => 'box_overabove' },
  7914. { oid => '2565',
  7915. proname => 'box_above', prorettype => 'bool', proargtypes => 'box box',
  7916. prosrc => 'box_above' },
  7917. { oid => '2566',
  7918. proname => 'poly_below', prorettype => 'bool',
  7919. proargtypes => 'polygon polygon', prosrc => 'poly_below' },
  7920. { oid => '2567',
  7921. proname => 'poly_overbelow', prorettype => 'bool',
  7922. proargtypes => 'polygon polygon', prosrc => 'poly_overbelow' },
  7923. { oid => '2568',
  7924. proname => 'poly_overabove', prorettype => 'bool',
  7925. proargtypes => 'polygon polygon', prosrc => 'poly_overabove' },
  7926. { oid => '2569',
  7927. proname => 'poly_above', prorettype => 'bool',
  7928. proargtypes => 'polygon polygon', prosrc => 'poly_above' },
  7929. { oid => '2587',
  7930. proname => 'circle_overbelow', prorettype => 'bool',
  7931. proargtypes => 'circle circle', prosrc => 'circle_overbelow' },
  7932. { oid => '2588',
  7933. proname => 'circle_overabove', prorettype => 'bool',
  7934. proargtypes => 'circle circle', prosrc => 'circle_overabove' },
  7935. # support functions for GiST r-tree emulation
  7936. { oid => '2578', descr => 'GiST support',
  7937. proname => 'gist_box_consistent', prorettype => 'bool',
  7938. proargtypes => 'internal box int2 oid internal',
  7939. prosrc => 'gist_box_consistent' },
  7940. { oid => '2581', descr => 'GiST support',
  7941. proname => 'gist_box_penalty', prorettype => 'internal',
  7942. proargtypes => 'internal internal internal', prosrc => 'gist_box_penalty' },
  7943. { oid => '2582', descr => 'GiST support',
  7944. proname => 'gist_box_picksplit', prorettype => 'internal',
  7945. proargtypes => 'internal internal', prosrc => 'gist_box_picksplit' },
  7946. { oid => '2583', descr => 'GiST support',
  7947. proname => 'gist_box_union', prorettype => 'box',
  7948. proargtypes => 'internal internal', prosrc => 'gist_box_union' },
  7949. { oid => '2584', descr => 'GiST support',
  7950. proname => 'gist_box_same', prorettype => 'internal',
  7951. proargtypes => 'box box internal', prosrc => 'gist_box_same' },
  7952. { oid => '3998', descr => 'GiST support',
  7953. proname => 'gist_box_distance', prorettype => 'float8',
  7954. proargtypes => 'internal box int2 oid internal',
  7955. prosrc => 'gist_box_distance' },
  7956. { oid => '2585', descr => 'GiST support',
  7957. proname => 'gist_poly_consistent', prorettype => 'bool',
  7958. proargtypes => 'internal polygon int2 oid internal',
  7959. prosrc => 'gist_poly_consistent' },
  7960. { oid => '2586', descr => 'GiST support',
  7961. proname => 'gist_poly_compress', prorettype => 'internal',
  7962. proargtypes => 'internal', prosrc => 'gist_poly_compress' },
  7963. { oid => '2591', descr => 'GiST support',
  7964. proname => 'gist_circle_consistent', prorettype => 'bool',
  7965. proargtypes => 'internal circle int2 oid internal',
  7966. prosrc => 'gist_circle_consistent' },
  7967. { oid => '2592', descr => 'GiST support',
  7968. proname => 'gist_circle_compress', prorettype => 'internal',
  7969. proargtypes => 'internal', prosrc => 'gist_circle_compress' },
  7970. { oid => '1030', descr => 'GiST support',
  7971. proname => 'gist_point_compress', prorettype => 'internal',
  7972. proargtypes => 'internal', prosrc => 'gist_point_compress' },
  7973. { oid => '3282', descr => 'GiST support',
  7974. proname => 'gist_point_fetch', prorettype => 'internal',
  7975. proargtypes => 'internal', prosrc => 'gist_point_fetch' },
  7976. { oid => '2179', descr => 'GiST support',
  7977. proname => 'gist_point_consistent', prorettype => 'bool',
  7978. proargtypes => 'internal point int2 oid internal',
  7979. prosrc => 'gist_point_consistent' },
  7980. { oid => '3064', descr => 'GiST support',
  7981. proname => 'gist_point_distance', prorettype => 'float8',
  7982. proargtypes => 'internal point int2 oid internal',
  7983. prosrc => 'gist_point_distance' },
  7984. { oid => '3280', descr => 'GiST support',
  7985. proname => 'gist_circle_distance', prorettype => 'float8',
  7986. proargtypes => 'internal circle int2 oid internal',
  7987. prosrc => 'gist_circle_distance' },
  7988. { oid => '3288', descr => 'GiST support',
  7989. proname => 'gist_poly_distance', prorettype => 'float8',
  7990. proargtypes => 'internal polygon int2 oid internal',
  7991. prosrc => 'gist_poly_distance' },
  7992. { oid => '3435', descr => 'sort support',
  7993. proname => 'gist_point_sortsupport', prorettype => 'void',
  7994. proargtypes => 'internal', prosrc => 'gist_point_sortsupport' },
  7995. # GIN array support
  7996. { oid => '2743', descr => 'GIN array support',
  7997. proname => 'ginarrayextract', prorettype => 'internal',
  7998. proargtypes => 'anyarray internal internal', prosrc => 'ginarrayextract' },
  7999. { oid => '2774', descr => 'GIN array support',
  8000. proname => 'ginqueryarrayextract', prorettype => 'internal',
  8001. proargtypes => 'anyarray internal int2 internal internal internal internal',
  8002. prosrc => 'ginqueryarrayextract' },
  8003. { oid => '2744', descr => 'GIN array support',
  8004. proname => 'ginarrayconsistent', prorettype => 'bool',
  8005. proargtypes => 'internal int2 anyarray int4 internal internal internal internal',
  8006. prosrc => 'ginarrayconsistent' },
  8007. { oid => '3920', descr => 'GIN array support',
  8008. proname => 'ginarraytriconsistent', prorettype => 'char',
  8009. proargtypes => 'internal int2 anyarray int4 internal internal internal',
  8010. prosrc => 'ginarraytriconsistent' },
  8011. { oid => '3076', descr => 'GIN array support (obsolete)',
  8012. proname => 'ginarrayextract', prorettype => 'internal',
  8013. proargtypes => 'anyarray internal', prosrc => 'ginarrayextract_2args' },
  8014. # overlap/contains/contained
  8015. { oid => '2747',
  8016. proname => 'arrayoverlap', prorettype => 'bool',
  8017. proargtypes => 'anyarray anyarray', prosrc => 'arrayoverlap' },
  8018. { oid => '2748',
  8019. proname => 'arraycontains', prorettype => 'bool',
  8020. proargtypes => 'anyarray anyarray', prosrc => 'arraycontains' },
  8021. { oid => '2749',
  8022. proname => 'arraycontained', prorettype => 'bool',
  8023. proargtypes => 'anyarray anyarray', prosrc => 'arraycontained' },
  8024. # BRIN minmax
  8025. { oid => '3383', descr => 'BRIN minmax support',
  8026. proname => 'brin_minmax_opcinfo', prorettype => 'internal',
  8027. proargtypes => 'internal', prosrc => 'brin_minmax_opcinfo' },
  8028. { oid => '3384', descr => 'BRIN minmax support',
  8029. proname => 'brin_minmax_add_value', prorettype => 'bool',
  8030. proargtypes => 'internal internal internal internal',
  8031. prosrc => 'brin_minmax_add_value' },
  8032. { oid => '3385', descr => 'BRIN minmax support',
  8033. proname => 'brin_minmax_consistent', prorettype => 'bool',
  8034. proargtypes => 'internal internal internal',
  8035. prosrc => 'brin_minmax_consistent' },
  8036. { oid => '3386', descr => 'BRIN minmax support',
  8037. proname => 'brin_minmax_union', prorettype => 'bool',
  8038. proargtypes => 'internal internal internal', prosrc => 'brin_minmax_union' },
  8039. # BRIN minmax multi
  8040. { oid => '4616', descr => 'BRIN multi minmax support',
  8041. proname => 'brin_minmax_multi_opcinfo', prorettype => 'internal',
  8042. proargtypes => 'internal', prosrc => 'brin_minmax_multi_opcinfo' },
  8043. { oid => '4617', descr => 'BRIN multi minmax support',
  8044. proname => 'brin_minmax_multi_add_value', prorettype => 'bool',
  8045. proargtypes => 'internal internal internal internal',
  8046. prosrc => 'brin_minmax_multi_add_value' },
  8047. { oid => '4618', descr => 'BRIN multi minmax support',
  8048. proname => 'brin_minmax_multi_consistent', prorettype => 'bool',
  8049. proargtypes => 'internal internal internal int4',
  8050. prosrc => 'brin_minmax_multi_consistent' },
  8051. { oid => '4619', descr => 'BRIN multi minmax support',
  8052. proname => 'brin_minmax_multi_union', prorettype => 'bool',
  8053. proargtypes => 'internal internal internal',
  8054. prosrc => 'brin_minmax_multi_union' },
  8055. { oid => '4620', descr => 'BRIN multi minmax support',
  8056. proname => 'brin_minmax_multi_options', proisstrict => 'f',
  8057. prorettype => 'void', proargtypes => 'internal',
  8058. prosrc => 'brin_minmax_multi_options' },
  8059. { oid => '4621', descr => 'BRIN multi minmax int2 distance',
  8060. proname => 'brin_minmax_multi_distance_int2', prorettype => 'float8',
  8061. proargtypes => 'internal internal',
  8062. prosrc => 'brin_minmax_multi_distance_int2' },
  8063. { oid => '4622', descr => 'BRIN multi minmax int4 distance',
  8064. proname => 'brin_minmax_multi_distance_int4', prorettype => 'float8',
  8065. proargtypes => 'internal internal',
  8066. prosrc => 'brin_minmax_multi_distance_int4' },
  8067. { oid => '4623', descr => 'BRIN multi minmax int8 distance',
  8068. proname => 'brin_minmax_multi_distance_int8', prorettype => 'float8',
  8069. proargtypes => 'internal internal',
  8070. prosrc => 'brin_minmax_multi_distance_int8' },
  8071. { oid => '4624', descr => 'BRIN multi minmax float4 distance',
  8072. proname => 'brin_minmax_multi_distance_float4', prorettype => 'float8',
  8073. proargtypes => 'internal internal',
  8074. prosrc => 'brin_minmax_multi_distance_float4' },
  8075. { oid => '4625', descr => 'BRIN multi minmax float8 distance',
  8076. proname => 'brin_minmax_multi_distance_float8', prorettype => 'float8',
  8077. proargtypes => 'internal internal',
  8078. prosrc => 'brin_minmax_multi_distance_float8' },
  8079. { oid => '4626', descr => 'BRIN multi minmax numeric distance',
  8080. proname => 'brin_minmax_multi_distance_numeric', prorettype => 'float8',
  8081. proargtypes => 'internal internal',
  8082. prosrc => 'brin_minmax_multi_distance_numeric' },
  8083. { oid => '4627', descr => 'BRIN multi minmax tid distance',
  8084. proname => 'brin_minmax_multi_distance_tid', prorettype => 'float8',
  8085. proargtypes => 'internal internal',
  8086. prosrc => 'brin_minmax_multi_distance_tid' },
  8087. { oid => '4628', descr => 'BRIN multi minmax uuid distance',
  8088. proname => 'brin_minmax_multi_distance_uuid', prorettype => 'float8',
  8089. proargtypes => 'internal internal',
  8090. prosrc => 'brin_minmax_multi_distance_uuid' },
  8091. { oid => '4629', descr => 'BRIN multi minmax date distance',
  8092. proname => 'brin_minmax_multi_distance_date', prorettype => 'float8',
  8093. proargtypes => 'internal internal',
  8094. prosrc => 'brin_minmax_multi_distance_date' },
  8095. { oid => '4630', descr => 'BRIN multi minmax time distance',
  8096. proname => 'brin_minmax_multi_distance_time', prorettype => 'float8',
  8097. proargtypes => 'internal internal',
  8098. prosrc => 'brin_minmax_multi_distance_time' },
  8099. { oid => '4631', descr => 'BRIN multi minmax interval distance',
  8100. proname => 'brin_minmax_multi_distance_interval', prorettype => 'float8',
  8101. proargtypes => 'internal internal',
  8102. prosrc => 'brin_minmax_multi_distance_interval' },
  8103. { oid => '4632', descr => 'BRIN multi minmax timetz distance',
  8104. proname => 'brin_minmax_multi_distance_timetz', prorettype => 'float8',
  8105. proargtypes => 'internal internal',
  8106. prosrc => 'brin_minmax_multi_distance_timetz' },
  8107. { oid => '4633', descr => 'BRIN multi minmax pg_lsn distance',
  8108. proname => 'brin_minmax_multi_distance_pg_lsn', prorettype => 'float8',
  8109. proargtypes => 'internal internal',
  8110. prosrc => 'brin_minmax_multi_distance_pg_lsn' },
  8111. { oid => '4634', descr => 'BRIN multi minmax macaddr distance',
  8112. proname => 'brin_minmax_multi_distance_macaddr', prorettype => 'float8',
  8113. proargtypes => 'internal internal',
  8114. prosrc => 'brin_minmax_multi_distance_macaddr' },
  8115. { oid => '4635', descr => 'BRIN multi minmax macaddr8 distance',
  8116. proname => 'brin_minmax_multi_distance_macaddr8', prorettype => 'float8',
  8117. proargtypes => 'internal internal',
  8118. prosrc => 'brin_minmax_multi_distance_macaddr8' },
  8119. { oid => '4636', descr => 'BRIN multi minmax inet distance',
  8120. proname => 'brin_minmax_multi_distance_inet', prorettype => 'float8',
  8121. proargtypes => 'internal internal',
  8122. prosrc => 'brin_minmax_multi_distance_inet' },
  8123. { oid => '4637', descr => 'BRIN multi minmax timestamp distance',
  8124. proname => 'brin_minmax_multi_distance_timestamp', prorettype => 'float8',
  8125. proargtypes => 'internal internal',
  8126. prosrc => 'brin_minmax_multi_distance_timestamp' },
  8127. # BRIN inclusion
  8128. { oid => '4105', descr => 'BRIN inclusion support',
  8129. proname => 'brin_inclusion_opcinfo', prorettype => 'internal',
  8130. proargtypes => 'internal', prosrc => 'brin_inclusion_opcinfo' },
  8131. { oid => '4106', descr => 'BRIN inclusion support',
  8132. proname => 'brin_inclusion_add_value', prorettype => 'bool',
  8133. proargtypes => 'internal internal internal internal',
  8134. prosrc => 'brin_inclusion_add_value' },
  8135. { oid => '4107', descr => 'BRIN inclusion support',
  8136. proname => 'brin_inclusion_consistent', prorettype => 'bool',
  8137. proargtypes => 'internal internal internal',
  8138. prosrc => 'brin_inclusion_consistent' },
  8139. { oid => '4108', descr => 'BRIN inclusion support',
  8140. proname => 'brin_inclusion_union', prorettype => 'bool',
  8141. proargtypes => 'internal internal internal',
  8142. prosrc => 'brin_inclusion_union' },
  8143. # BRIN bloom
  8144. { oid => '4591', descr => 'BRIN bloom support',
  8145. proname => 'brin_bloom_opcinfo', prorettype => 'internal',
  8146. proargtypes => 'internal', prosrc => 'brin_bloom_opcinfo' },
  8147. { oid => '4592', descr => 'BRIN bloom support',
  8148. proname => 'brin_bloom_add_value', prorettype => 'bool',
  8149. proargtypes => 'internal internal internal internal',
  8150. prosrc => 'brin_bloom_add_value' },
  8151. { oid => '4593', descr => 'BRIN bloom support',
  8152. proname => 'brin_bloom_consistent', prorettype => 'bool',
  8153. proargtypes => 'internal internal internal int4',
  8154. prosrc => 'brin_bloom_consistent' },
  8155. { oid => '4594', descr => 'BRIN bloom support',
  8156. proname => 'brin_bloom_union', prorettype => 'bool',
  8157. proargtypes => 'internal internal internal', prosrc => 'brin_bloom_union' },
  8158. { oid => '4595', descr => 'BRIN bloom support',
  8159. proname => 'brin_bloom_options', proisstrict => 'f', prorettype => 'void',
  8160. proargtypes => 'internal', prosrc => 'brin_bloom_options' },
  8161. # userlock replacements
  8162. { oid => '2880', descr => 'obtain exclusive advisory lock',
  8163. proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'r',
  8164. prorettype => 'void', proargtypes => 'int8',
  8165. prosrc => 'pg_advisory_lock_int8' },
  8166. { oid => '3089', descr => 'obtain exclusive advisory lock',
  8167. proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'r',
  8168. prorettype => 'void', proargtypes => 'int8',
  8169. prosrc => 'pg_advisory_xact_lock_int8' },
  8170. { oid => '2881', descr => 'obtain shared advisory lock',
  8171. proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'r',
  8172. prorettype => 'void', proargtypes => 'int8',
  8173. prosrc => 'pg_advisory_lock_shared_int8' },
  8174. { oid => '3090', descr => 'obtain shared advisory lock',
  8175. proname => 'pg_advisory_xact_lock_shared', provolatile => 'v',
  8176. proparallel => 'r', prorettype => 'void', proargtypes => 'int8',
  8177. prosrc => 'pg_advisory_xact_lock_shared_int8' },
  8178. { oid => '2882', descr => 'obtain exclusive advisory lock if available',
  8179. proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'r',
  8180. prorettype => 'bool', proargtypes => 'int8',
  8181. prosrc => 'pg_try_advisory_lock_int8' },
  8182. { oid => '3091', descr => 'obtain exclusive advisory lock if available',
  8183. proname => 'pg_try_advisory_xact_lock', provolatile => 'v',
  8184. proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
  8185. prosrc => 'pg_try_advisory_xact_lock_int8' },
  8186. { oid => '2883', descr => 'obtain shared advisory lock if available',
  8187. proname => 'pg_try_advisory_lock_shared', provolatile => 'v',
  8188. proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
  8189. prosrc => 'pg_try_advisory_lock_shared_int8' },
  8190. { oid => '3092', descr => 'obtain shared advisory lock if available',
  8191. proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v',
  8192. proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
  8193. prosrc => 'pg_try_advisory_xact_lock_shared_int8' },
  8194. { oid => '2884', descr => 'release exclusive advisory lock',
  8195. proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'r',
  8196. prorettype => 'bool', proargtypes => 'int8',
  8197. prosrc => 'pg_advisory_unlock_int8' },
  8198. { oid => '2885', descr => 'release shared advisory lock',
  8199. proname => 'pg_advisory_unlock_shared', provolatile => 'v',
  8200. proparallel => 'r', prorettype => 'bool', proargtypes => 'int8',
  8201. prosrc => 'pg_advisory_unlock_shared_int8' },
  8202. { oid => '2886', descr => 'obtain exclusive advisory lock',
  8203. proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'r',
  8204. prorettype => 'void', proargtypes => 'int4 int4',
  8205. prosrc => 'pg_advisory_lock_int4' },
  8206. { oid => '3093', descr => 'obtain exclusive advisory lock',
  8207. proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'r',
  8208. prorettype => 'void', proargtypes => 'int4 int4',
  8209. prosrc => 'pg_advisory_xact_lock_int4' },
  8210. { oid => '2887', descr => 'obtain shared advisory lock',
  8211. proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'r',
  8212. prorettype => 'void', proargtypes => 'int4 int4',
  8213. prosrc => 'pg_advisory_lock_shared_int4' },
  8214. { oid => '3094', descr => 'obtain shared advisory lock',
  8215. proname => 'pg_advisory_xact_lock_shared', provolatile => 'v',
  8216. proparallel => 'r', prorettype => 'void', proargtypes => 'int4 int4',
  8217. prosrc => 'pg_advisory_xact_lock_shared_int4' },
  8218. { oid => '2888', descr => 'obtain exclusive advisory lock if available',
  8219. proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'r',
  8220. prorettype => 'bool', proargtypes => 'int4 int4',
  8221. prosrc => 'pg_try_advisory_lock_int4' },
  8222. { oid => '3095', descr => 'obtain exclusive advisory lock if available',
  8223. proname => 'pg_try_advisory_xact_lock', provolatile => 'v',
  8224. proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
  8225. prosrc => 'pg_try_advisory_xact_lock_int4' },
  8226. { oid => '2889', descr => 'obtain shared advisory lock if available',
  8227. proname => 'pg_try_advisory_lock_shared', provolatile => 'v',
  8228. proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
  8229. prosrc => 'pg_try_advisory_lock_shared_int4' },
  8230. { oid => '3096', descr => 'obtain shared advisory lock if available',
  8231. proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v',
  8232. proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
  8233. prosrc => 'pg_try_advisory_xact_lock_shared_int4' },
  8234. { oid => '2890', descr => 'release exclusive advisory lock',
  8235. proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'r',
  8236. prorettype => 'bool', proargtypes => 'int4 int4',
  8237. prosrc => 'pg_advisory_unlock_int4' },
  8238. { oid => '2891', descr => 'release shared advisory lock',
  8239. proname => 'pg_advisory_unlock_shared', provolatile => 'v',
  8240. proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4',
  8241. prosrc => 'pg_advisory_unlock_shared_int4' },
  8242. { oid => '2892', descr => 'release all advisory locks',
  8243. proname => 'pg_advisory_unlock_all', provolatile => 'v', proparallel => 'r',
  8244. prorettype => 'void', proargtypes => '', prosrc => 'pg_advisory_unlock_all' },
  8245. # XML support
  8246. { oid => '2893', descr => 'I/O',
  8247. proname => 'xml_in', provolatile => 's', prorettype => 'xml',
  8248. proargtypes => 'cstring', prosrc => 'xml_in' },
  8249. { oid => '2894', descr => 'I/O',
  8250. proname => 'xml_out', prorettype => 'cstring', proargtypes => 'xml',
  8251. prosrc => 'xml_out' },
  8252. { oid => '2895', descr => 'generate XML comment',
  8253. proname => 'xmlcomment', prorettype => 'xml', proargtypes => 'text',
  8254. prosrc => 'xmlcomment' },
  8255. { oid => '2896',
  8256. descr => 'perform a non-validating parse of a character string to produce an XML value',
  8257. proname => 'xml', provolatile => 's', prorettype => 'xml',
  8258. proargtypes => 'text', prosrc => 'texttoxml' },
  8259. { oid => '2897', descr => 'validate an XML value',
  8260. proname => 'xmlvalidate', prorettype => 'bool', proargtypes => 'xml text',
  8261. prosrc => 'xmlvalidate' },
  8262. { oid => '2898', descr => 'I/O',
  8263. proname => 'xml_recv', provolatile => 's', prorettype => 'xml',
  8264. proargtypes => 'internal', prosrc => 'xml_recv' },
  8265. { oid => '2899', descr => 'I/O',
  8266. proname => 'xml_send', provolatile => 's', prorettype => 'bytea',
  8267. proargtypes => 'xml', prosrc => 'xml_send' },
  8268. { oid => '2900', descr => 'aggregate transition function',
  8269. proname => 'xmlconcat2', proisstrict => 'f', prorettype => 'xml',
  8270. proargtypes => 'xml xml', prosrc => 'xmlconcat2' },
  8271. { oid => '2901', descr => 'concatenate XML values',
  8272. proname => 'xmlagg', prokind => 'a', proisstrict => 'f', prorettype => 'xml',
  8273. proargtypes => 'xml', prosrc => 'aggregate_dummy' },
  8274. { oid => '2922', descr => 'serialize an XML value to a character string',
  8275. proname => 'text', prorettype => 'text', proargtypes => 'xml',
  8276. prosrc => 'xmltotext' },
  8277. { oid => '2923', descr => 'map table contents to XML',
  8278. proname => 'table_to_xml', procost => '100', provolatile => 's',
  8279. proparallel => 'r', prorettype => 'xml',
  8280. proargtypes => 'regclass bool bool text',
  8281. proargnames => '{tbl,nulls,tableforest,targetns}', prosrc => 'table_to_xml' },
  8282. { oid => '2924', descr => 'map query result to XML',
  8283. proname => 'query_to_xml', procost => '100', provolatile => 'v',
  8284. proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text',
  8285. proargnames => '{query,nulls,tableforest,targetns}',
  8286. prosrc => 'query_to_xml' },
  8287. { oid => '2925', descr => 'map rows from cursor to XML',
  8288. proname => 'cursor_to_xml', procost => '100', provolatile => 'v',
  8289. proparallel => 'u', prorettype => 'xml',
  8290. proargtypes => 'refcursor int4 bool bool text',
  8291. proargnames => '{cursor,count,nulls,tableforest,targetns}',
  8292. prosrc => 'cursor_to_xml' },
  8293. { oid => '2926', descr => 'map table structure to XML Schema',
  8294. proname => 'table_to_xmlschema', procost => '100', provolatile => 's',
  8295. proparallel => 'r', prorettype => 'xml',
  8296. proargtypes => 'regclass bool bool text',
  8297. proargnames => '{tbl,nulls,tableforest,targetns}',
  8298. prosrc => 'table_to_xmlschema' },
  8299. { oid => '2927', descr => 'map query result structure to XML Schema',
  8300. proname => 'query_to_xmlschema', procost => '100', provolatile => 'v',
  8301. proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text',
  8302. proargnames => '{query,nulls,tableforest,targetns}',
  8303. prosrc => 'query_to_xmlschema' },
  8304. { oid => '2928', descr => 'map cursor structure to XML Schema',
  8305. proname => 'cursor_to_xmlschema', procost => '100', provolatile => 'v',
  8306. proparallel => 'u', prorettype => 'xml',
  8307. proargtypes => 'refcursor bool bool text',
  8308. proargnames => '{cursor,nulls,tableforest,targetns}',
  8309. prosrc => 'cursor_to_xmlschema' },
  8310. { oid => '2929',
  8311. descr => 'map table contents and structure to XML and XML Schema',
  8312. proname => 'table_to_xml_and_xmlschema', procost => '100', provolatile => 's',
  8313. proparallel => 'r', prorettype => 'xml',
  8314. proargtypes => 'regclass bool bool text',
  8315. proargnames => '{tbl,nulls,tableforest,targetns}',
  8316. prosrc => 'table_to_xml_and_xmlschema' },
  8317. { oid => '2930',
  8318. descr => 'map query result and structure to XML and XML Schema',
  8319. proname => 'query_to_xml_and_xmlschema', procost => '100', provolatile => 'v',
  8320. proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text',
  8321. proargnames => '{query,nulls,tableforest,targetns}',
  8322. prosrc => 'query_to_xml_and_xmlschema' },
  8323. { oid => '2933', descr => 'map schema contents to XML',
  8324. proname => 'schema_to_xml', procost => '100', provolatile => 's',
  8325. proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text',
  8326. proargnames => '{schema,nulls,tableforest,targetns}',
  8327. prosrc => 'schema_to_xml' },
  8328. { oid => '2934', descr => 'map schema structure to XML Schema',
  8329. proname => 'schema_to_xmlschema', procost => '100', provolatile => 's',
  8330. proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text',
  8331. proargnames => '{schema,nulls,tableforest,targetns}',
  8332. prosrc => 'schema_to_xmlschema' },
  8333. { oid => '2935',
  8334. descr => 'map schema contents and structure to XML and XML Schema',
  8335. proname => 'schema_to_xml_and_xmlschema', procost => '100',
  8336. provolatile => 's', proparallel => 'r', prorettype => 'xml',
  8337. proargtypes => 'name bool bool text',
  8338. proargnames => '{schema,nulls,tableforest,targetns}',
  8339. prosrc => 'schema_to_xml_and_xmlschema' },
  8340. { oid => '2936', descr => 'map database contents to XML',
  8341. proname => 'database_to_xml', procost => '100', provolatile => 's',
  8342. proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text',
  8343. proargnames => '{nulls,tableforest,targetns}', prosrc => 'database_to_xml' },
  8344. { oid => '2937', descr => 'map database structure to XML Schema',
  8345. proname => 'database_to_xmlschema', procost => '100', provolatile => 's',
  8346. proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text',
  8347. proargnames => '{nulls,tableforest,targetns}',
  8348. prosrc => 'database_to_xmlschema' },
  8349. { oid => '2938',
  8350. descr => 'map database contents and structure to XML and XML Schema',
  8351. proname => 'database_to_xml_and_xmlschema', procost => '100',
  8352. provolatile => 's', proparallel => 'r', prorettype => 'xml',
  8353. proargtypes => 'bool bool text',
  8354. proargnames => '{nulls,tableforest,targetns}',
  8355. prosrc => 'database_to_xml_and_xmlschema' },
  8356. { oid => '2931',
  8357. descr => 'evaluate XPath expression, with namespaces support',
  8358. proname => 'xpath', prorettype => '_xml', proargtypes => 'text xml _text',
  8359. prosrc => 'xpath' },
  8360. { oid => '2932', descr => 'evaluate XPath expression',
  8361. proname => 'xpath', prolang => 'sql', prorettype => '_xml',
  8362. proargtypes => 'text xml', prosrc => 'see system_functions.sql' },
  8363. { oid => '2614', descr => 'test XML value against XPath expression',
  8364. proname => 'xmlexists', prorettype => 'bool', proargtypes => 'text xml',
  8365. prosrc => 'xmlexists' },
  8366. { oid => '3049',
  8367. descr => 'test XML value against XPath expression, with namespace support',
  8368. proname => 'xpath_exists', prorettype => 'bool',
  8369. proargtypes => 'text xml _text', prosrc => 'xpath_exists' },
  8370. { oid => '3050', descr => 'test XML value against XPath expression',
  8371. proname => 'xpath_exists', prolang => 'sql', prorettype => 'bool',
  8372. proargtypes => 'text xml', prosrc => 'see system_functions.sql' },
  8373. { oid => '3051', descr => 'determine if a string is well formed XML',
  8374. proname => 'xml_is_well_formed', provolatile => 's', prorettype => 'bool',
  8375. proargtypes => 'text', prosrc => 'xml_is_well_formed' },
  8376. { oid => '3052', descr => 'determine if a string is well formed XML document',
  8377. proname => 'xml_is_well_formed_document', prorettype => 'bool',
  8378. proargtypes => 'text', prosrc => 'xml_is_well_formed_document' },
  8379. { oid => '3053', descr => 'determine if a string is well formed XML content',
  8380. proname => 'xml_is_well_formed_content', prorettype => 'bool',
  8381. proargtypes => 'text', prosrc => 'xml_is_well_formed_content' },
  8382. # json
  8383. { oid => '321', descr => 'I/O',
  8384. proname => 'json_in', prorettype => 'json', proargtypes => 'cstring',
  8385. prosrc => 'json_in' },
  8386. { oid => '322', descr => 'I/O',
  8387. proname => 'json_out', prorettype => 'cstring', proargtypes => 'json',
  8388. prosrc => 'json_out' },
  8389. { oid => '323', descr => 'I/O',
  8390. proname => 'json_recv', prorettype => 'json', proargtypes => 'internal',
  8391. prosrc => 'json_recv' },
  8392. { oid => '324', descr => 'I/O',
  8393. proname => 'json_send', prorettype => 'bytea', proargtypes => 'json',
  8394. prosrc => 'json_send' },
  8395. { oid => '3153', descr => 'map array to json',
  8396. proname => 'array_to_json', provolatile => 's', prorettype => 'json',
  8397. proargtypes => 'anyarray', prosrc => 'array_to_json' },
  8398. { oid => '3154', descr => 'map array to json with optional pretty printing',
  8399. proname => 'array_to_json', provolatile => 's', prorettype => 'json',
  8400. proargtypes => 'anyarray bool', prosrc => 'array_to_json_pretty' },
  8401. { oid => '3155', descr => 'map row to json',
  8402. proname => 'row_to_json', provolatile => 's', prorettype => 'json',
  8403. proargtypes => 'record', prosrc => 'row_to_json' },
  8404. { oid => '3156', descr => 'map row to json with optional pretty printing',
  8405. proname => 'row_to_json', provolatile => 's', prorettype => 'json',
  8406. proargtypes => 'record bool', prosrc => 'row_to_json_pretty' },
  8407. { oid => '3173', descr => 'json aggregate transition function',
  8408. proname => 'json_agg_transfn', proisstrict => 'f', provolatile => 's',
  8409. prorettype => 'internal', proargtypes => 'internal anyelement',
  8410. prosrc => 'json_agg_transfn' },
  8411. { oid => '3174', descr => 'json aggregate final function',
  8412. proname => 'json_agg_finalfn', proisstrict => 'f', prorettype => 'json',
  8413. proargtypes => 'internal', prosrc => 'json_agg_finalfn' },
  8414. { oid => '3175', descr => 'aggregate input into json',
  8415. proname => 'json_agg', prokind => 'a', proisstrict => 'f', provolatile => 's',
  8416. prorettype => 'json', proargtypes => 'anyelement',
  8417. prosrc => 'aggregate_dummy' },
  8418. { oid => '3180', descr => 'json object aggregate transition function',
  8419. proname => 'json_object_agg_transfn', proisstrict => 'f', provolatile => 's',
  8420. prorettype => 'internal', proargtypes => 'internal any any',
  8421. prosrc => 'json_object_agg_transfn' },
  8422. { oid => '3196', descr => 'json object aggregate final function',
  8423. proname => 'json_object_agg_finalfn', proisstrict => 'f',
  8424. prorettype => 'json', proargtypes => 'internal',
  8425. prosrc => 'json_object_agg_finalfn' },
  8426. { oid => '3197', descr => 'aggregate input into a json object',
  8427. proname => 'json_object_agg', prokind => 'a', proisstrict => 'f',
  8428. provolatile => 's', prorettype => 'json', proargtypes => 'any any',
  8429. prosrc => 'aggregate_dummy' },
  8430. { oid => '3198', descr => 'build a json array from any inputs',
  8431. proname => 'json_build_array', provariadic => 'any', proisstrict => 'f',
  8432. provolatile => 's', prorettype => 'json', proargtypes => 'any',
  8433. proallargtypes => '{any}', proargmodes => '{v}',
  8434. prosrc => 'json_build_array' },
  8435. { oid => '3199', descr => 'build an empty json array',
  8436. proname => 'json_build_array', proisstrict => 'f', provolatile => 's',
  8437. prorettype => 'json', proargtypes => '',
  8438. prosrc => 'json_build_array_noargs' },
  8439. { oid => '3200',
  8440. descr => 'build a json object from pairwise key/value inputs',
  8441. proname => 'json_build_object', provariadic => 'any', proisstrict => 'f',
  8442. provolatile => 's', prorettype => 'json', proargtypes => 'any',
  8443. proallargtypes => '{any}', proargmodes => '{v}',
  8444. prosrc => 'json_build_object' },
  8445. { oid => '3201', descr => 'build an empty json object',
  8446. proname => 'json_build_object', proisstrict => 'f', provolatile => 's',
  8447. prorettype => 'json', proargtypes => '',
  8448. prosrc => 'json_build_object_noargs' },
  8449. { oid => '3202', descr => 'map text array of key value pairs to json object',
  8450. proname => 'json_object', prorettype => 'json', proargtypes => '_text',
  8451. prosrc => 'json_object' },
  8452. { oid => '3203', descr => 'map text arrays of keys and values to json object',
  8453. proname => 'json_object', prorettype => 'json', proargtypes => '_text _text',
  8454. prosrc => 'json_object_two_arg' },
  8455. { oid => '3176', descr => 'map input to json',
  8456. proname => 'to_json', provolatile => 's', prorettype => 'json',
  8457. proargtypes => 'anyelement', prosrc => 'to_json' },
  8458. { oid => '3261', descr => 'remove object fields with null values from json',
  8459. proname => 'json_strip_nulls', prorettype => 'json', proargtypes => 'json',
  8460. prosrc => 'json_strip_nulls' },
  8461. { oid => '3947',
  8462. proname => 'json_object_field', prorettype => 'json',
  8463. proargtypes => 'json text', proargnames => '{from_json, field_name}',
  8464. prosrc => 'json_object_field' },
  8465. { oid => '3948',
  8466. proname => 'json_object_field_text', prorettype => 'text',
  8467. proargtypes => 'json text', proargnames => '{from_json, field_name}',
  8468. prosrc => 'json_object_field_text' },
  8469. { oid => '3949',
  8470. proname => 'json_array_element', prorettype => 'json',
  8471. proargtypes => 'json int4', proargnames => '{from_json, element_index}',
  8472. prosrc => 'json_array_element' },
  8473. { oid => '3950',
  8474. proname => 'json_array_element_text', prorettype => 'text',
  8475. proargtypes => 'json int4', proargnames => '{from_json, element_index}',
  8476. prosrc => 'json_array_element_text' },
  8477. { oid => '3951', descr => 'get value from json with path elements',
  8478. proname => 'json_extract_path', provariadic => 'text', prorettype => 'json',
  8479. proargtypes => 'json _text', proallargtypes => '{json,_text}',
  8480. proargmodes => '{i,v}', proargnames => '{from_json,path_elems}',
  8481. prosrc => 'json_extract_path' },
  8482. { oid => '3953', descr => 'get value from json as text with path elements',
  8483. proname => 'json_extract_path_text', provariadic => 'text',
  8484. prorettype => 'text', proargtypes => 'json _text',
  8485. proallargtypes => '{json,_text}', proargmodes => '{i,v}',
  8486. proargnames => '{from_json,path_elems}', prosrc => 'json_extract_path_text' },
  8487. { oid => '3955', descr => 'key value pairs of a json object',
  8488. proname => 'json_array_elements', prorows => '100', proretset => 't',
  8489. prorettype => 'json', proargtypes => 'json', proallargtypes => '{json,json}',
  8490. proargmodes => '{i,o}', proargnames => '{from_json,value}',
  8491. prosrc => 'json_array_elements' },
  8492. { oid => '3969', descr => 'elements of json array',
  8493. proname => 'json_array_elements_text', prorows => '100', proretset => 't',
  8494. prorettype => 'text', proargtypes => 'json', proallargtypes => '{json,text}',
  8495. proargmodes => '{i,o}', proargnames => '{from_json,value}',
  8496. prosrc => 'json_array_elements_text' },
  8497. { oid => '3956', descr => 'length of json array',
  8498. proname => 'json_array_length', prorettype => 'int4', proargtypes => 'json',
  8499. prosrc => 'json_array_length' },
  8500. { oid => '3957', descr => 'get json object keys',
  8501. proname => 'json_object_keys', prorows => '100', proretset => 't',
  8502. prorettype => 'text', proargtypes => 'json', prosrc => 'json_object_keys' },
  8503. { oid => '3958', descr => 'key value pairs of a json object',
  8504. proname => 'json_each', prorows => '100', proretset => 't',
  8505. prorettype => 'record', proargtypes => 'json',
  8506. proallargtypes => '{json,text,json}', proargmodes => '{i,o,o}',
  8507. proargnames => '{from_json,key,value}', prosrc => 'json_each' },
  8508. { oid => '3959', descr => 'key value pairs of a json object',
  8509. proname => 'json_each_text', prorows => '100', proretset => 't',
  8510. prorettype => 'record', proargtypes => 'json',
  8511. proallargtypes => '{json,text,text}', proargmodes => '{i,o,o}',
  8512. proargnames => '{from_json,key,value}', prosrc => 'json_each_text' },
  8513. { oid => '3960', descr => 'get record fields from a json object',
  8514. proname => 'json_populate_record', proisstrict => 'f', provolatile => 's',
  8515. prorettype => 'anyelement', proargtypes => 'anyelement json bool',
  8516. prosrc => 'json_populate_record' },
  8517. { oid => '3961',
  8518. descr => 'get set of records with fields from a json array of objects',
  8519. proname => 'json_populate_recordset', prorows => '100', proisstrict => 'f',
  8520. proretset => 't', provolatile => 's', prorettype => 'anyelement',
  8521. proargtypes => 'anyelement json bool', prosrc => 'json_populate_recordset' },
  8522. { oid => '3204', descr => 'get record fields from a json object',
  8523. proname => 'json_to_record', provolatile => 's', prorettype => 'record',
  8524. proargtypes => 'json', prosrc => 'json_to_record' },
  8525. { oid => '3205',
  8526. descr => 'get set of records with fields from a json array of objects',
  8527. proname => 'json_to_recordset', prorows => '100', proisstrict => 'f',
  8528. proretset => 't', provolatile => 's', prorettype => 'record',
  8529. proargtypes => 'json', prosrc => 'json_to_recordset' },
  8530. { oid => '3968', descr => 'get the type of a json value',
  8531. proname => 'json_typeof', prorettype => 'text', proargtypes => 'json',
  8532. prosrc => 'json_typeof' },
  8533. # uuid
  8534. { oid => '2952', descr => 'I/O',
  8535. proname => 'uuid_in', prorettype => 'uuid', proargtypes => 'cstring',
  8536. prosrc => 'uuid_in' },
  8537. { oid => '2953', descr => 'I/O',
  8538. proname => 'uuid_out', prorettype => 'cstring', proargtypes => 'uuid',
  8539. prosrc => 'uuid_out' },
  8540. { oid => '2954',
  8541. proname => 'uuid_lt', proleakproof => 't', prorettype => 'bool',
  8542. proargtypes => 'uuid uuid', prosrc => 'uuid_lt' },
  8543. { oid => '2955',
  8544. proname => 'uuid_le', proleakproof => 't', prorettype => 'bool',
  8545. proargtypes => 'uuid uuid', prosrc => 'uuid_le' },
  8546. { oid => '2956',
  8547. proname => 'uuid_eq', proleakproof => 't', prorettype => 'bool',
  8548. proargtypes => 'uuid uuid', prosrc => 'uuid_eq' },
  8549. { oid => '2957',
  8550. proname => 'uuid_ge', proleakproof => 't', prorettype => 'bool',
  8551. proargtypes => 'uuid uuid', prosrc => 'uuid_ge' },
  8552. { oid => '2958',
  8553. proname => 'uuid_gt', proleakproof => 't', prorettype => 'bool',
  8554. proargtypes => 'uuid uuid', prosrc => 'uuid_gt' },
  8555. { oid => '2959',
  8556. proname => 'uuid_ne', proleakproof => 't', prorettype => 'bool',
  8557. proargtypes => 'uuid uuid', prosrc => 'uuid_ne' },
  8558. { oid => '2960', descr => 'less-equal-greater',
  8559. proname => 'uuid_cmp', proleakproof => 't', prorettype => 'int4',
  8560. proargtypes => 'uuid uuid', prosrc => 'uuid_cmp' },
  8561. { oid => '3300', descr => 'sort support',
  8562. proname => 'uuid_sortsupport', prorettype => 'void',
  8563. proargtypes => 'internal', prosrc => 'uuid_sortsupport' },
  8564. { oid => '2961', descr => 'I/O',
  8565. proname => 'uuid_recv', prorettype => 'uuid', proargtypes => 'internal',
  8566. prosrc => 'uuid_recv' },
  8567. { oid => '2962', descr => 'I/O',
  8568. proname => 'uuid_send', prorettype => 'bytea', proargtypes => 'uuid',
  8569. prosrc => 'uuid_send' },
  8570. { oid => '2963', descr => 'hash',
  8571. proname => 'uuid_hash', prorettype => 'int4', proargtypes => 'uuid',
  8572. prosrc => 'uuid_hash' },
  8573. { oid => '3412', descr => 'hash',
  8574. proname => 'uuid_hash_extended', prorettype => 'int8',
  8575. proargtypes => 'uuid int8', prosrc => 'uuid_hash_extended' },
  8576. { oid => '3432', descr => 'generate random UUID',
  8577. proname => 'gen_random_uuid', proleakproof => 't', provolatile => 'v',
  8578. prorettype => 'uuid', proargtypes => '', prosrc => 'gen_random_uuid' },
  8579. # pg_lsn
  8580. { oid => '3229', descr => 'I/O',
  8581. proname => 'pg_lsn_in', prorettype => 'pg_lsn', proargtypes => 'cstring',
  8582. prosrc => 'pg_lsn_in' },
  8583. { oid => '3230', descr => 'I/O',
  8584. proname => 'pg_lsn_out', prorettype => 'cstring', proargtypes => 'pg_lsn',
  8585. prosrc => 'pg_lsn_out' },
  8586. { oid => '3231',
  8587. proname => 'pg_lsn_lt', proleakproof => 't', prorettype => 'bool',
  8588. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_lt' },
  8589. { oid => '3232',
  8590. proname => 'pg_lsn_le', proleakproof => 't', prorettype => 'bool',
  8591. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_le' },
  8592. { oid => '3233',
  8593. proname => 'pg_lsn_eq', proleakproof => 't', prorettype => 'bool',
  8594. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_eq' },
  8595. { oid => '3234',
  8596. proname => 'pg_lsn_ge', proleakproof => 't', prorettype => 'bool',
  8597. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_ge' },
  8598. { oid => '3235',
  8599. proname => 'pg_lsn_gt', proleakproof => 't', prorettype => 'bool',
  8600. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_gt' },
  8601. { oid => '3236',
  8602. proname => 'pg_lsn_ne', proleakproof => 't', prorettype => 'bool',
  8603. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_ne' },
  8604. { oid => '3237',
  8605. proname => 'pg_lsn_mi', prorettype => 'numeric',
  8606. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_mi' },
  8607. { oid => '3238', descr => 'I/O',
  8608. proname => 'pg_lsn_recv', prorettype => 'pg_lsn', proargtypes => 'internal',
  8609. prosrc => 'pg_lsn_recv' },
  8610. { oid => '3239', descr => 'I/O',
  8611. proname => 'pg_lsn_send', prorettype => 'bytea', proargtypes => 'pg_lsn',
  8612. prosrc => 'pg_lsn_send' },
  8613. { oid => '3251', descr => 'less-equal-greater',
  8614. proname => 'pg_lsn_cmp', proleakproof => 't', prorettype => 'int4',
  8615. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_cmp' },
  8616. { oid => '3252', descr => 'hash',
  8617. proname => 'pg_lsn_hash', prorettype => 'int4', proargtypes => 'pg_lsn',
  8618. prosrc => 'pg_lsn_hash' },
  8619. { oid => '3413', descr => 'hash',
  8620. proname => 'pg_lsn_hash_extended', prorettype => 'int8',
  8621. proargtypes => 'pg_lsn int8', prosrc => 'pg_lsn_hash_extended' },
  8622. { oid => '4187', descr => 'larger of two',
  8623. proname => 'pg_lsn_larger', prorettype => 'pg_lsn',
  8624. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_larger' },
  8625. { oid => '4188', descr => 'smaller of two',
  8626. proname => 'pg_lsn_smaller', prorettype => 'pg_lsn',
  8627. proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_smaller' },
  8628. { oid => '5022',
  8629. proname => 'pg_lsn_pli', prorettype => 'pg_lsn',
  8630. proargtypes => 'pg_lsn numeric', prosrc => 'pg_lsn_pli' },
  8631. { oid => '5023',
  8632. proname => 'numeric_pl_pg_lsn', prolang => 'sql', prorettype => 'pg_lsn',
  8633. proargtypes => 'numeric pg_lsn', prosrc => 'see system_functions.sql' },
  8634. { oid => '5024',
  8635. proname => 'pg_lsn_mii', prorettype => 'pg_lsn',
  8636. proargtypes => 'pg_lsn numeric', prosrc => 'pg_lsn_mii' },
  8637. # enum related procs
  8638. { oid => '3504', descr => 'I/O',
  8639. proname => 'anyenum_in', prorettype => 'anyenum', proargtypes => 'cstring',
  8640. prosrc => 'anyenum_in' },
  8641. { oid => '3505', descr => 'I/O',
  8642. proname => 'anyenum_out', provolatile => 's', prorettype => 'cstring',
  8643. proargtypes => 'anyenum', prosrc => 'anyenum_out' },
  8644. { oid => '3506', descr => 'I/O',
  8645. proname => 'enum_in', provolatile => 's', prorettype => 'anyenum',
  8646. proargtypes => 'cstring oid', prosrc => 'enum_in' },
  8647. { oid => '3507', descr => 'I/O',
  8648. proname => 'enum_out', provolatile => 's', prorettype => 'cstring',
  8649. proargtypes => 'anyenum', prosrc => 'enum_out' },
  8650. { oid => '3508',
  8651. proname => 'enum_eq', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8652. prosrc => 'enum_eq' },
  8653. { oid => '3509',
  8654. proname => 'enum_ne', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8655. prosrc => 'enum_ne' },
  8656. { oid => '3510',
  8657. proname => 'enum_lt', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8658. prosrc => 'enum_lt' },
  8659. { oid => '3511',
  8660. proname => 'enum_gt', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8661. prosrc => 'enum_gt' },
  8662. { oid => '3512',
  8663. proname => 'enum_le', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8664. prosrc => 'enum_le' },
  8665. { oid => '3513',
  8666. proname => 'enum_ge', prorettype => 'bool', proargtypes => 'anyenum anyenum',
  8667. prosrc => 'enum_ge' },
  8668. { oid => '3514', descr => 'less-equal-greater',
  8669. proname => 'enum_cmp', prorettype => 'int4', proargtypes => 'anyenum anyenum',
  8670. prosrc => 'enum_cmp' },
  8671. { oid => '3515', descr => 'hash',
  8672. proname => 'hashenum', prorettype => 'int4', proargtypes => 'anyenum',
  8673. prosrc => 'hashenum' },
  8674. { oid => '3414', descr => 'hash',
  8675. proname => 'hashenumextended', prorettype => 'int8',
  8676. proargtypes => 'anyenum int8', prosrc => 'hashenumextended' },
  8677. { oid => '3524', descr => 'smaller of two',
  8678. proname => 'enum_smaller', prorettype => 'anyenum',
  8679. proargtypes => 'anyenum anyenum', prosrc => 'enum_smaller' },
  8680. { oid => '3525', descr => 'larger of two',
  8681. proname => 'enum_larger', prorettype => 'anyenum',
  8682. proargtypes => 'anyenum anyenum', prosrc => 'enum_larger' },
  8683. { oid => '3526', descr => 'maximum value of all enum input values',
  8684. proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum',
  8685. proargtypes => 'anyenum', prosrc => 'aggregate_dummy' },
  8686. { oid => '3527', descr => 'minimum value of all enum input values',
  8687. proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum',
  8688. proargtypes => 'anyenum', prosrc => 'aggregate_dummy' },
  8689. { oid => '3528', descr => 'first value of the input enum type',
  8690. proname => 'enum_first', proisstrict => 'f', provolatile => 's',
  8691. prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_first' },
  8692. { oid => '3529', descr => 'last value of the input enum type',
  8693. proname => 'enum_last', proisstrict => 'f', provolatile => 's',
  8694. prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_last' },
  8695. { oid => '3530',
  8696. descr => 'range between the two given enum values, as an ordered array',
  8697. proname => 'enum_range', proisstrict => 'f', provolatile => 's',
  8698. prorettype => 'anyarray', proargtypes => 'anyenum anyenum',
  8699. prosrc => 'enum_range_bounds' },
  8700. { oid => '3531', descr => 'range of the given enum type, as an ordered array',
  8701. proname => 'enum_range', proisstrict => 'f', provolatile => 's',
  8702. prorettype => 'anyarray', proargtypes => 'anyenum',
  8703. prosrc => 'enum_range_all' },
  8704. { oid => '3532', descr => 'I/O',
  8705. proname => 'enum_recv', provolatile => 's', prorettype => 'anyenum',
  8706. proargtypes => 'internal oid', prosrc => 'enum_recv' },
  8707. { oid => '3533', descr => 'I/O',
  8708. proname => 'enum_send', provolatile => 's', prorettype => 'bytea',
  8709. proargtypes => 'anyenum', prosrc => 'enum_send' },
  8710. # text search stuff
  8711. { oid => '3610', descr => 'I/O',
  8712. proname => 'tsvectorin', prorettype => 'tsvector', proargtypes => 'cstring',
  8713. prosrc => 'tsvectorin' },
  8714. { oid => '3639', descr => 'I/O',
  8715. proname => 'tsvectorrecv', prorettype => 'tsvector',
  8716. proargtypes => 'internal', prosrc => 'tsvectorrecv' },
  8717. { oid => '3611', descr => 'I/O',
  8718. proname => 'tsvectorout', prorettype => 'cstring', proargtypes => 'tsvector',
  8719. prosrc => 'tsvectorout' },
  8720. { oid => '3638', descr => 'I/O',
  8721. proname => 'tsvectorsend', prorettype => 'bytea', proargtypes => 'tsvector',
  8722. prosrc => 'tsvectorsend' },
  8723. { oid => '3612', descr => 'I/O',
  8724. proname => 'tsqueryin', prorettype => 'tsquery', proargtypes => 'cstring',
  8725. prosrc => 'tsqueryin' },
  8726. { oid => '3641', descr => 'I/O',
  8727. proname => 'tsqueryrecv', prorettype => 'tsquery', proargtypes => 'internal',
  8728. prosrc => 'tsqueryrecv' },
  8729. { oid => '3613', descr => 'I/O',
  8730. proname => 'tsqueryout', prorettype => 'cstring', proargtypes => 'tsquery',
  8731. prosrc => 'tsqueryout' },
  8732. { oid => '3640', descr => 'I/O',
  8733. proname => 'tsquerysend', prorettype => 'bytea', proargtypes => 'tsquery',
  8734. prosrc => 'tsquerysend' },
  8735. { oid => '3646', descr => 'I/O',
  8736. proname => 'gtsvectorin', prorettype => 'gtsvector', proargtypes => 'cstring',
  8737. prosrc => 'gtsvectorin' },
  8738. { oid => '3647', descr => 'I/O',
  8739. proname => 'gtsvectorout', prorettype => 'cstring',
  8740. proargtypes => 'gtsvector', prosrc => 'gtsvectorout' },
  8741. { oid => '3616',
  8742. proname => 'tsvector_lt', prorettype => 'bool',
  8743. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_lt' },
  8744. { oid => '3617',
  8745. proname => 'tsvector_le', prorettype => 'bool',
  8746. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_le' },
  8747. { oid => '3618',
  8748. proname => 'tsvector_eq', prorettype => 'bool',
  8749. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_eq' },
  8750. { oid => '3619',
  8751. proname => 'tsvector_ne', prorettype => 'bool',
  8752. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ne' },
  8753. { oid => '3620',
  8754. proname => 'tsvector_ge', prorettype => 'bool',
  8755. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ge' },
  8756. { oid => '3621',
  8757. proname => 'tsvector_gt', prorettype => 'bool',
  8758. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_gt' },
  8759. { oid => '3622', descr => 'less-equal-greater',
  8760. proname => 'tsvector_cmp', prorettype => 'int4',
  8761. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_cmp' },
  8762. { oid => '3711', descr => 'number of lexemes',
  8763. proname => 'length', prorettype => 'int4', proargtypes => 'tsvector',
  8764. prosrc => 'tsvector_length' },
  8765. { oid => '3623', descr => 'strip position information',
  8766. proname => 'strip', prorettype => 'tsvector', proargtypes => 'tsvector',
  8767. prosrc => 'tsvector_strip' },
  8768. { oid => '3624', descr => 'set given weight for whole tsvector',
  8769. proname => 'setweight', prorettype => 'tsvector',
  8770. proargtypes => 'tsvector char', prosrc => 'tsvector_setweight' },
  8771. { oid => '3320', descr => 'set given weight for given lexemes',
  8772. proname => 'setweight', prorettype => 'tsvector',
  8773. proargtypes => 'tsvector char _text',
  8774. prosrc => 'tsvector_setweight_by_filter' },
  8775. { oid => '3625',
  8776. proname => 'tsvector_concat', prorettype => 'tsvector',
  8777. proargtypes => 'tsvector tsvector', prosrc => 'tsvector_concat' },
  8778. { oid => '3321', descr => 'delete lexeme',
  8779. proname => 'ts_delete', prorettype => 'tsvector',
  8780. proargtypes => 'tsvector text', prosrc => 'tsvector_delete_str' },
  8781. { oid => '3323', descr => 'delete given lexemes',
  8782. proname => 'ts_delete', prorettype => 'tsvector',
  8783. proargtypes => 'tsvector _text', prosrc => 'tsvector_delete_arr' },
  8784. { oid => '3322', descr => 'expand tsvector to set of rows',
  8785. proname => 'unnest', prorows => '10', proretset => 't',
  8786. prorettype => 'record', proargtypes => 'tsvector',
  8787. proallargtypes => '{tsvector,text,_int2,_text}', proargmodes => '{i,o,o,o}',
  8788. proargnames => '{tsvector,lexeme,positions,weights}',
  8789. prosrc => 'tsvector_unnest' },
  8790. { oid => '3326', descr => 'convert tsvector to array of lexemes',
  8791. proname => 'tsvector_to_array', prorettype => '_text',
  8792. proargtypes => 'tsvector', prosrc => 'tsvector_to_array' },
  8793. { oid => '3327', descr => 'build tsvector from array of lexemes',
  8794. proname => 'array_to_tsvector', prorettype => 'tsvector',
  8795. proargtypes => '_text', prosrc => 'array_to_tsvector' },
  8796. { oid => '3319',
  8797. descr => 'delete lexemes that do not have one of the given weights',
  8798. proname => 'ts_filter', prorettype => 'tsvector',
  8799. proargtypes => 'tsvector _char', prosrc => 'tsvector_filter' },
  8800. { oid => '3634',
  8801. proname => 'ts_match_vq', prorettype => 'bool',
  8802. proargtypes => 'tsvector tsquery', prosrc => 'ts_match_vq' },
  8803. { oid => '3635',
  8804. proname => 'ts_match_qv', prorettype => 'bool',
  8805. proargtypes => 'tsquery tsvector', prosrc => 'ts_match_qv' },
  8806. { oid => '3760',
  8807. proname => 'ts_match_tt', procost => '100', provolatile => 's',
  8808. prorettype => 'bool', proargtypes => 'text text', prosrc => 'ts_match_tt' },
  8809. { oid => '3761',
  8810. proname => 'ts_match_tq', procost => '100', provolatile => 's',
  8811. prorettype => 'bool', proargtypes => 'text tsquery',
  8812. prosrc => 'ts_match_tq' },
  8813. { oid => '3648', descr => 'GiST tsvector support',
  8814. proname => 'gtsvector_compress', prorettype => 'internal',
  8815. proargtypes => 'internal', prosrc => 'gtsvector_compress' },
  8816. { oid => '3649', descr => 'GiST tsvector support',
  8817. proname => 'gtsvector_decompress', prorettype => 'internal',
  8818. proargtypes => 'internal', prosrc => 'gtsvector_decompress' },
  8819. { oid => '3650', descr => 'GiST tsvector support',
  8820. proname => 'gtsvector_picksplit', prorettype => 'internal',
  8821. proargtypes => 'internal internal', prosrc => 'gtsvector_picksplit' },
  8822. { oid => '3651', descr => 'GiST tsvector support',
  8823. proname => 'gtsvector_union', prorettype => 'gtsvector',
  8824. proargtypes => 'internal internal', prosrc => 'gtsvector_union' },
  8825. { oid => '3652', descr => 'GiST tsvector support',
  8826. proname => 'gtsvector_same', prorettype => 'internal',
  8827. proargtypes => 'gtsvector gtsvector internal', prosrc => 'gtsvector_same' },
  8828. { oid => '3653', descr => 'GiST tsvector support',
  8829. proname => 'gtsvector_penalty', prorettype => 'internal',
  8830. proargtypes => 'internal internal internal', prosrc => 'gtsvector_penalty' },
  8831. { oid => '3654', descr => 'GiST tsvector support',
  8832. proname => 'gtsvector_consistent', prorettype => 'bool',
  8833. proargtypes => 'internal tsvector int2 oid internal',
  8834. prosrc => 'gtsvector_consistent' },
  8835. { oid => '3790', descr => 'GiST tsvector support (obsolete)',
  8836. proname => 'gtsvector_consistent', prorettype => 'bool',
  8837. proargtypes => 'internal gtsvector int4 oid internal',
  8838. prosrc => 'gtsvector_consistent_oldsig' },
  8839. { oid => '3434', descr => 'GiST tsvector support',
  8840. proname => 'gtsvector_options', proisstrict => 'f', prorettype => 'void',
  8841. proargtypes => 'internal', prosrc => 'gtsvector_options' },
  8842. { oid => '3656', descr => 'GIN tsvector support',
  8843. proname => 'gin_extract_tsvector', prorettype => 'internal',
  8844. proargtypes => 'tsvector internal internal',
  8845. prosrc => 'gin_extract_tsvector' },
  8846. { oid => '3657', descr => 'GIN tsvector support',
  8847. proname => 'gin_extract_tsquery', prorettype => 'internal',
  8848. proargtypes => 'tsvector internal int2 internal internal internal internal',
  8849. prosrc => 'gin_extract_tsquery' },
  8850. { oid => '3658', descr => 'GIN tsvector support',
  8851. proname => 'gin_tsquery_consistent', prorettype => 'bool',
  8852. proargtypes => 'internal int2 tsvector int4 internal internal internal internal',
  8853. prosrc => 'gin_tsquery_consistent' },
  8854. { oid => '3921', descr => 'GIN tsvector support',
  8855. proname => 'gin_tsquery_triconsistent', prorettype => 'char',
  8856. proargtypes => 'internal int2 tsvector int4 internal internal internal',
  8857. prosrc => 'gin_tsquery_triconsistent' },
  8858. { oid => '3724', descr => 'GIN tsvector support',
  8859. proname => 'gin_cmp_tslexeme', prorettype => 'int4',
  8860. proargtypes => 'text text', prosrc => 'gin_cmp_tslexeme' },
  8861. { oid => '2700', descr => 'GIN tsvector support',
  8862. proname => 'gin_cmp_prefix', prorettype => 'int4',
  8863. proargtypes => 'text text int2 internal', prosrc => 'gin_cmp_prefix' },
  8864. { oid => '3077', descr => 'GIN tsvector support (obsolete)',
  8865. proname => 'gin_extract_tsvector', prorettype => 'internal',
  8866. proargtypes => 'tsvector internal', prosrc => 'gin_extract_tsvector_2args' },
  8867. { oid => '3087', descr => 'GIN tsvector support (obsolete)',
  8868. proname => 'gin_extract_tsquery', prorettype => 'internal',
  8869. proargtypes => 'tsquery internal int2 internal internal',
  8870. prosrc => 'gin_extract_tsquery_5args' },
  8871. { oid => '3088', descr => 'GIN tsvector support (obsolete)',
  8872. proname => 'gin_tsquery_consistent', prorettype => 'bool',
  8873. proargtypes => 'internal int2 tsquery int4 internal internal',
  8874. prosrc => 'gin_tsquery_consistent_6args' },
  8875. { oid => '3791', descr => 'GIN tsvector support (obsolete)',
  8876. proname => 'gin_extract_tsquery', prorettype => 'internal',
  8877. proargtypes => 'tsquery internal int2 internal internal internal internal',
  8878. prosrc => 'gin_extract_tsquery_oldsig' },
  8879. { oid => '3792', descr => 'GIN tsvector support (obsolete)',
  8880. proname => 'gin_tsquery_consistent', prorettype => 'bool',
  8881. proargtypes => 'internal int2 tsquery int4 internal internal internal internal',
  8882. prosrc => 'gin_tsquery_consistent_oldsig' },
  8883. { oid => '3789', descr => 'clean up GIN pending list',
  8884. proname => 'gin_clean_pending_list', provolatile => 'v', proparallel => 'u',
  8885. prorettype => 'int8', proargtypes => 'regclass',
  8886. prosrc => 'gin_clean_pending_list' },
  8887. { oid => '3662',
  8888. proname => 'tsquery_lt', prorettype => 'bool',
  8889. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_lt' },
  8890. { oid => '3663',
  8891. proname => 'tsquery_le', prorettype => 'bool',
  8892. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_le' },
  8893. { oid => '3664',
  8894. proname => 'tsquery_eq', prorettype => 'bool',
  8895. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_eq' },
  8896. { oid => '3665',
  8897. proname => 'tsquery_ne', prorettype => 'bool',
  8898. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ne' },
  8899. { oid => '3666',
  8900. proname => 'tsquery_ge', prorettype => 'bool',
  8901. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ge' },
  8902. { oid => '3667',
  8903. proname => 'tsquery_gt', prorettype => 'bool',
  8904. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_gt' },
  8905. { oid => '3668', descr => 'less-equal-greater',
  8906. proname => 'tsquery_cmp', prorettype => 'int4',
  8907. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_cmp' },
  8908. { oid => '3669',
  8909. proname => 'tsquery_and', prorettype => 'tsquery',
  8910. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_and' },
  8911. { oid => '3670',
  8912. proname => 'tsquery_or', prorettype => 'tsquery',
  8913. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_or' },
  8914. { oid => '5003',
  8915. proname => 'tsquery_phrase', prorettype => 'tsquery',
  8916. proargtypes => 'tsquery tsquery', prosrc => 'tsquery_phrase' },
  8917. { oid => '5004', descr => 'phrase-concatenate with distance',
  8918. proname => 'tsquery_phrase', prorettype => 'tsquery',
  8919. proargtypes => 'tsquery tsquery int4', prosrc => 'tsquery_phrase_distance' },
  8920. { oid => '3671',
  8921. proname => 'tsquery_not', prorettype => 'tsquery', proargtypes => 'tsquery',
  8922. prosrc => 'tsquery_not' },
  8923. { oid => '3691',
  8924. proname => 'tsq_mcontains', prorettype => 'bool',
  8925. proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontains' },
  8926. { oid => '3692',
  8927. proname => 'tsq_mcontained', prorettype => 'bool',
  8928. proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontained' },
  8929. { oid => '3672', descr => 'number of nodes',
  8930. proname => 'numnode', prorettype => 'int4', proargtypes => 'tsquery',
  8931. prosrc => 'tsquery_numnode' },
  8932. { oid => '3673', descr => 'show real useful query for GiST index',
  8933. proname => 'querytree', prorettype => 'text', proargtypes => 'tsquery',
  8934. prosrc => 'tsquerytree' },
  8935. { oid => '3684', descr => 'rewrite tsquery',
  8936. proname => 'ts_rewrite', prorettype => 'tsquery',
  8937. proargtypes => 'tsquery tsquery tsquery', prosrc => 'tsquery_rewrite' },
  8938. { oid => '3685', descr => 'rewrite tsquery',
  8939. proname => 'ts_rewrite', procost => '100', provolatile => 'v',
  8940. proparallel => 'u', prorettype => 'tsquery', proargtypes => 'tsquery text',
  8941. prosrc => 'tsquery_rewrite_query' },
  8942. { oid => '3695', descr => 'GiST tsquery support',
  8943. proname => 'gtsquery_compress', prorettype => 'internal',
  8944. proargtypes => 'internal', prosrc => 'gtsquery_compress' },
  8945. { oid => '3697', descr => 'GiST tsquery support',
  8946. proname => 'gtsquery_picksplit', prorettype => 'internal',
  8947. proargtypes => 'internal internal', prosrc => 'gtsquery_picksplit' },
  8948. { oid => '3698', descr => 'GiST tsquery support',
  8949. proname => 'gtsquery_union', prorettype => 'int8',
  8950. proargtypes => 'internal internal', prosrc => 'gtsquery_union' },
  8951. { oid => '3699', descr => 'GiST tsquery support',
  8952. proname => 'gtsquery_same', prorettype => 'internal',
  8953. proargtypes => 'int8 int8 internal', prosrc => 'gtsquery_same' },
  8954. { oid => '3700', descr => 'GiST tsquery support',
  8955. proname => 'gtsquery_penalty', prorettype => 'internal',
  8956. proargtypes => 'internal internal internal', prosrc => 'gtsquery_penalty' },
  8957. { oid => '3701', descr => 'GiST tsquery support',
  8958. proname => 'gtsquery_consistent', prorettype => 'bool',
  8959. proargtypes => 'internal tsquery int2 oid internal',
  8960. prosrc => 'gtsquery_consistent' },
  8961. { oid => '3793', descr => 'GiST tsquery support (obsolete)',
  8962. proname => 'gtsquery_consistent', prorettype => 'bool',
  8963. proargtypes => 'internal internal int4 oid internal',
  8964. prosrc => 'gtsquery_consistent_oldsig' },
  8965. { oid => '3686', descr => 'restriction selectivity of tsvector @@ tsquery',
  8966. proname => 'tsmatchsel', provolatile => 's', prorettype => 'float8',
  8967. proargtypes => 'internal oid internal int4', prosrc => 'tsmatchsel' },
  8968. { oid => '3687', descr => 'join selectivity of tsvector @@ tsquery',
  8969. proname => 'tsmatchjoinsel', provolatile => 's', prorettype => 'float8',
  8970. proargtypes => 'internal oid internal int2 internal',
  8971. prosrc => 'tsmatchjoinsel' },
  8972. { oid => '3688', descr => 'tsvector typanalyze',
  8973. proname => 'ts_typanalyze', provolatile => 's', prorettype => 'bool',
  8974. proargtypes => 'internal', prosrc => 'ts_typanalyze' },
  8975. { oid => '3689', descr => 'statistics of tsvector column',
  8976. proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't',
  8977. provolatile => 'v', proparallel => 'u', prorettype => 'record',
  8978. proargtypes => 'text', proallargtypes => '{text,text,int4,int4}',
  8979. proargmodes => '{i,o,o,o}', proargnames => '{query,word,ndoc,nentry}',
  8980. prosrc => 'ts_stat1' },
  8981. { oid => '3690', descr => 'statistics of tsvector column',
  8982. proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't',
  8983. provolatile => 'v', proparallel => 'u', prorettype => 'record',
  8984. proargtypes => 'text text', proallargtypes => '{text,text,text,int4,int4}',
  8985. proargmodes => '{i,i,o,o,o}',
  8986. proargnames => '{query,weights,word,ndoc,nentry}', prosrc => 'ts_stat2' },
  8987. { oid => '3703', descr => 'relevance',
  8988. proname => 'ts_rank', prorettype => 'float4',
  8989. proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rank_wttf' },
  8990. { oid => '3704', descr => 'relevance',
  8991. proname => 'ts_rank', prorettype => 'float4',
  8992. proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rank_wtt' },
  8993. { oid => '3705', descr => 'relevance',
  8994. proname => 'ts_rank', prorettype => 'float4',
  8995. proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rank_ttf' },
  8996. { oid => '3706', descr => 'relevance',
  8997. proname => 'ts_rank', prorettype => 'float4',
  8998. proargtypes => 'tsvector tsquery', prosrc => 'ts_rank_tt' },
  8999. { oid => '3707', descr => 'relevance',
  9000. proname => 'ts_rank_cd', prorettype => 'float4',
  9001. proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rankcd_wttf' },
  9002. { oid => '3708', descr => 'relevance',
  9003. proname => 'ts_rank_cd', prorettype => 'float4',
  9004. proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rankcd_wtt' },
  9005. { oid => '3709', descr => 'relevance',
  9006. proname => 'ts_rank_cd', prorettype => 'float4',
  9007. proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rankcd_ttf' },
  9008. { oid => '3710', descr => 'relevance',
  9009. proname => 'ts_rank_cd', prorettype => 'float4',
  9010. proargtypes => 'tsvector tsquery', prosrc => 'ts_rankcd_tt' },
  9011. { oid => '3713', descr => 'get parser\'s token types',
  9012. proname => 'ts_token_type', prorows => '16', proretset => 't',
  9013. prorettype => 'record', proargtypes => 'oid',
  9014. proallargtypes => '{oid,int4,text,text}', proargmodes => '{i,o,o,o}',
  9015. proargnames => '{parser_oid,tokid,alias,description}',
  9016. prosrc => 'ts_token_type_byid' },
  9017. { oid => '3714', descr => 'get parser\'s token types',
  9018. proname => 'ts_token_type', prorows => '16', proretset => 't',
  9019. provolatile => 's', prorettype => 'record', proargtypes => 'text',
  9020. proallargtypes => '{text,int4,text,text}', proargmodes => '{i,o,o,o}',
  9021. proargnames => '{parser_name,tokid,alias,description}',
  9022. prosrc => 'ts_token_type_byname' },
  9023. { oid => '3715', descr => 'parse text to tokens',
  9024. proname => 'ts_parse', prorows => '1000', proretset => 't',
  9025. prorettype => 'record', proargtypes => 'oid text',
  9026. proallargtypes => '{oid,text,int4,text}', proargmodes => '{i,i,o,o}',
  9027. proargnames => '{parser_oid,txt,tokid,token}', prosrc => 'ts_parse_byid' },
  9028. { oid => '3716', descr => 'parse text to tokens',
  9029. proname => 'ts_parse', prorows => '1000', proretset => 't',
  9030. provolatile => 's', prorettype => 'record', proargtypes => 'text text',
  9031. proallargtypes => '{text,text,int4,text}', proargmodes => '{i,i,o,o}',
  9032. proargnames => '{parser_name,txt,tokid,token}', prosrc => 'ts_parse_byname' },
  9033. { oid => '3717', descr => '(internal)',
  9034. proname => 'prsd_start', prorettype => 'internal',
  9035. proargtypes => 'internal int4', prosrc => 'prsd_start' },
  9036. { oid => '3718', descr => '(internal)',
  9037. proname => 'prsd_nexttoken', prorettype => 'internal',
  9038. proargtypes => 'internal internal internal', prosrc => 'prsd_nexttoken' },
  9039. { oid => '3719', descr => '(internal)',
  9040. proname => 'prsd_end', prorettype => 'void', proargtypes => 'internal',
  9041. prosrc => 'prsd_end' },
  9042. { oid => '3720', descr => '(internal)',
  9043. proname => 'prsd_headline', prorettype => 'internal',
  9044. proargtypes => 'internal internal tsquery', prosrc => 'prsd_headline' },
  9045. { oid => '3721', descr => '(internal)',
  9046. proname => 'prsd_lextype', prorettype => 'internal',
  9047. proargtypes => 'internal', prosrc => 'prsd_lextype' },
  9048. { oid => '3723', descr => 'normalize one word by dictionary',
  9049. proname => 'ts_lexize', prorettype => '_text',
  9050. proargtypes => 'regdictionary text', prosrc => 'ts_lexize' },
  9051. { oid => '6183', descr => 'debug function for text search configuration',
  9052. proname => 'ts_debug', prolang => 'sql', prorows => '1000', proretset => 't',
  9053. provolatile => 's', prorettype => 'record', proargtypes => 'regconfig text',
  9054. proallargtypes => '{regconfig,text,text,text,text,_regdictionary,regdictionary,_text}',
  9055. proargmodes => '{i,i,o,o,o,o,o,o}',
  9056. proargnames => '{config,document,alias,description,token,dictionaries,dictionary,lexemes}',
  9057. prosrc => 'see system_functions.sql' },
  9058. { oid => '6184',
  9059. descr => 'debug function for current text search configuration',
  9060. proname => 'ts_debug', prolang => 'sql', prorows => '1000', proretset => 't',
  9061. provolatile => 's', prorettype => 'record', proargtypes => 'text',
  9062. proallargtypes => '{text,text,text,text,_regdictionary,regdictionary,_text}',
  9063. proargmodes => '{i,o,o,o,o,o,o}',
  9064. proargnames => '{document,alias,description,token,dictionaries,dictionary,lexemes}',
  9065. prosrc => 'see system_functions.sql' },
  9066. { oid => '3725', descr => '(internal)',
  9067. proname => 'dsimple_init', prorettype => 'internal',
  9068. proargtypes => 'internal', prosrc => 'dsimple_init' },
  9069. { oid => '3726', descr => '(internal)',
  9070. proname => 'dsimple_lexize', prorettype => 'internal',
  9071. proargtypes => 'internal internal internal internal',
  9072. prosrc => 'dsimple_lexize' },
  9073. { oid => '3728', descr => '(internal)',
  9074. proname => 'dsynonym_init', prorettype => 'internal',
  9075. proargtypes => 'internal', prosrc => 'dsynonym_init' },
  9076. { oid => '3729', descr => '(internal)',
  9077. proname => 'dsynonym_lexize', prorettype => 'internal',
  9078. proargtypes => 'internal internal internal internal',
  9079. prosrc => 'dsynonym_lexize' },
  9080. { oid => '3731', descr => '(internal)',
  9081. proname => 'dispell_init', prorettype => 'internal',
  9082. proargtypes => 'internal', prosrc => 'dispell_init' },
  9083. { oid => '3732', descr => '(internal)',
  9084. proname => 'dispell_lexize', prorettype => 'internal',
  9085. proargtypes => 'internal internal internal internal',
  9086. prosrc => 'dispell_lexize' },
  9087. { oid => '3740', descr => '(internal)',
  9088. proname => 'thesaurus_init', prorettype => 'internal',
  9089. proargtypes => 'internal', prosrc => 'thesaurus_init' },
  9090. { oid => '3741', descr => '(internal)',
  9091. proname => 'thesaurus_lexize', prorettype => 'internal',
  9092. proargtypes => 'internal internal internal internal',
  9093. prosrc => 'thesaurus_lexize' },
  9094. { oid => '3743', descr => 'generate headline',
  9095. proname => 'ts_headline', procost => '100', prorettype => 'text',
  9096. proargtypes => 'regconfig text tsquery text',
  9097. prosrc => 'ts_headline_byid_opt' },
  9098. { oid => '3744', descr => 'generate headline',
  9099. proname => 'ts_headline', procost => '100', prorettype => 'text',
  9100. proargtypes => 'regconfig text tsquery', prosrc => 'ts_headline_byid' },
  9101. { oid => '3754', descr => 'generate headline',
  9102. proname => 'ts_headline', procost => '100', provolatile => 's',
  9103. prorettype => 'text', proargtypes => 'text tsquery text',
  9104. prosrc => 'ts_headline_opt' },
  9105. { oid => '3755', descr => 'generate headline',
  9106. proname => 'ts_headline', procost => '100', provolatile => 's',
  9107. prorettype => 'text', proargtypes => 'text tsquery',
  9108. prosrc => 'ts_headline' },
  9109. { oid => '4201', descr => 'generate headline from jsonb',
  9110. proname => 'ts_headline', procost => '100', prorettype => 'jsonb',
  9111. proargtypes => 'regconfig jsonb tsquery text',
  9112. prosrc => 'ts_headline_jsonb_byid_opt' },
  9113. { oid => '4202', descr => 'generate headline from jsonb',
  9114. proname => 'ts_headline', procost => '100', prorettype => 'jsonb',
  9115. proargtypes => 'regconfig jsonb tsquery',
  9116. prosrc => 'ts_headline_jsonb_byid' },
  9117. { oid => '4203', descr => 'generate headline from jsonb',
  9118. proname => 'ts_headline', procost => '100', provolatile => 's',
  9119. prorettype => 'jsonb', proargtypes => 'jsonb tsquery text',
  9120. prosrc => 'ts_headline_jsonb_opt' },
  9121. { oid => '4204', descr => 'generate headline from jsonb',
  9122. proname => 'ts_headline', procost => '100', provolatile => 's',
  9123. prorettype => 'jsonb', proargtypes => 'jsonb tsquery',
  9124. prosrc => 'ts_headline_jsonb' },
  9125. { oid => '4205', descr => 'generate headline from json',
  9126. proname => 'ts_headline', procost => '100', prorettype => 'json',
  9127. proargtypes => 'regconfig json tsquery text',
  9128. prosrc => 'ts_headline_json_byid_opt' },
  9129. { oid => '4206', descr => 'generate headline from json',
  9130. proname => 'ts_headline', procost => '100', prorettype => 'json',
  9131. proargtypes => 'regconfig json tsquery', prosrc => 'ts_headline_json_byid' },
  9132. { oid => '4207', descr => 'generate headline from json',
  9133. proname => 'ts_headline', procost => '100', provolatile => 's',
  9134. prorettype => 'json', proargtypes => 'json tsquery text',
  9135. prosrc => 'ts_headline_json_opt' },
  9136. { oid => '4208', descr => 'generate headline from json',
  9137. proname => 'ts_headline', procost => '100', provolatile => 's',
  9138. prorettype => 'json', proargtypes => 'json tsquery',
  9139. prosrc => 'ts_headline_json' },
  9140. { oid => '3745', descr => 'transform to tsvector',
  9141. proname => 'to_tsvector', procost => '100', prorettype => 'tsvector',
  9142. proargtypes => 'regconfig text', prosrc => 'to_tsvector_byid' },
  9143. { oid => '3746', descr => 'make tsquery',
  9144. proname => 'to_tsquery', procost => '100', prorettype => 'tsquery',
  9145. proargtypes => 'regconfig text', prosrc => 'to_tsquery_byid' },
  9146. { oid => '3747', descr => 'transform to tsquery',
  9147. proname => 'plainto_tsquery', procost => '100', prorettype => 'tsquery',
  9148. proargtypes => 'regconfig text', prosrc => 'plainto_tsquery_byid' },
  9149. { oid => '5006', descr => 'transform to tsquery',
  9150. proname => 'phraseto_tsquery', procost => '100', prorettype => 'tsquery',
  9151. proargtypes => 'regconfig text', prosrc => 'phraseto_tsquery_byid' },
  9152. { oid => '5007', descr => 'transform to tsquery',
  9153. proname => 'websearch_to_tsquery', procost => '100', prorettype => 'tsquery',
  9154. proargtypes => 'regconfig text', prosrc => 'websearch_to_tsquery_byid' },
  9155. { oid => '3749', descr => 'transform to tsvector',
  9156. proname => 'to_tsvector', procost => '100', provolatile => 's',
  9157. prorettype => 'tsvector', proargtypes => 'text', prosrc => 'to_tsvector' },
  9158. { oid => '3750', descr => 'make tsquery',
  9159. proname => 'to_tsquery', procost => '100', provolatile => 's',
  9160. prorettype => 'tsquery', proargtypes => 'text', prosrc => 'to_tsquery' },
  9161. { oid => '3751', descr => 'transform to tsquery',
  9162. proname => 'plainto_tsquery', procost => '100', provolatile => 's',
  9163. prorettype => 'tsquery', proargtypes => 'text', prosrc => 'plainto_tsquery' },
  9164. { oid => '5001', descr => 'transform to tsquery',
  9165. proname => 'phraseto_tsquery', procost => '100', provolatile => 's',
  9166. prorettype => 'tsquery', proargtypes => 'text',
  9167. prosrc => 'phraseto_tsquery' },
  9168. { oid => '5009', descr => 'transform to tsquery',
  9169. proname => 'websearch_to_tsquery', procost => '100', provolatile => 's',
  9170. prorettype => 'tsquery', proargtypes => 'text',
  9171. prosrc => 'websearch_to_tsquery' },
  9172. { oid => '4209', descr => 'transform string values from jsonb to tsvector',
  9173. proname => 'to_tsvector', procost => '100', provolatile => 's',
  9174. prorettype => 'tsvector', proargtypes => 'jsonb',
  9175. prosrc => 'jsonb_string_to_tsvector' },
  9176. { oid => '4213', descr => 'transform specified values from jsonb to tsvector',
  9177. proname => 'jsonb_to_tsvector', procost => '100', provolatile => 's',
  9178. prorettype => 'tsvector', proargtypes => 'jsonb jsonb',
  9179. prosrc => 'jsonb_to_tsvector' },
  9180. { oid => '4210', descr => 'transform string values from json to tsvector',
  9181. proname => 'to_tsvector', procost => '100', provolatile => 's',
  9182. prorettype => 'tsvector', proargtypes => 'json',
  9183. prosrc => 'json_string_to_tsvector' },
  9184. { oid => '4215', descr => 'transform specified values from json to tsvector',
  9185. proname => 'json_to_tsvector', procost => '100', provolatile => 's',
  9186. prorettype => 'tsvector', proargtypes => 'json jsonb',
  9187. prosrc => 'json_to_tsvector' },
  9188. { oid => '4211', descr => 'transform string values from jsonb to tsvector',
  9189. proname => 'to_tsvector', procost => '100', prorettype => 'tsvector',
  9190. proargtypes => 'regconfig jsonb', prosrc => 'jsonb_string_to_tsvector_byid' },
  9191. { oid => '4214', descr => 'transform specified values from jsonb to tsvector',
  9192. proname => 'jsonb_to_tsvector', procost => '100', prorettype => 'tsvector',
  9193. proargtypes => 'regconfig jsonb jsonb', prosrc => 'jsonb_to_tsvector_byid' },
  9194. { oid => '4212', descr => 'transform string values from json to tsvector',
  9195. proname => 'to_tsvector', procost => '100', prorettype => 'tsvector',
  9196. proargtypes => 'regconfig json', prosrc => 'json_string_to_tsvector_byid' },
  9197. { oid => '4216', descr => 'transform specified values from json to tsvector',
  9198. proname => 'json_to_tsvector', procost => '100', prorettype => 'tsvector',
  9199. proargtypes => 'regconfig json jsonb', prosrc => 'json_to_tsvector_byid' },
  9200. { oid => '3752', descr => 'trigger for automatic update of tsvector column',
  9201. proname => 'tsvector_update_trigger', proisstrict => 'f', provolatile => 'v',
  9202. prorettype => 'trigger', proargtypes => '',
  9203. prosrc => 'tsvector_update_trigger_byid' },
  9204. { oid => '3753', descr => 'trigger for automatic update of tsvector column',
  9205. proname => 'tsvector_update_trigger_column', proisstrict => 'f',
  9206. provolatile => 'v', prorettype => 'trigger', proargtypes => '',
  9207. prosrc => 'tsvector_update_trigger_bycolumn' },
  9208. { oid => '3759', descr => 'get current tsearch configuration',
  9209. proname => 'get_current_ts_config', provolatile => 's',
  9210. prorettype => 'regconfig', proargtypes => '',
  9211. prosrc => 'get_current_ts_config' },
  9212. { oid => '3736', descr => 'I/O',
  9213. proname => 'regconfigin', provolatile => 's', prorettype => 'regconfig',
  9214. proargtypes => 'cstring', prosrc => 'regconfigin' },
  9215. { oid => '3737', descr => 'I/O',
  9216. proname => 'regconfigout', provolatile => 's', prorettype => 'cstring',
  9217. proargtypes => 'regconfig', prosrc => 'regconfigout' },
  9218. { oid => '3738', descr => 'I/O',
  9219. proname => 'regconfigrecv', prorettype => 'regconfig',
  9220. proargtypes => 'internal', prosrc => 'regconfigrecv' },
  9221. { oid => '3739', descr => 'I/O',
  9222. proname => 'regconfigsend', prorettype => 'bytea', proargtypes => 'regconfig',
  9223. prosrc => 'regconfigsend' },
  9224. { oid => '3771', descr => 'I/O',
  9225. proname => 'regdictionaryin', provolatile => 's',
  9226. prorettype => 'regdictionary', proargtypes => 'cstring',
  9227. prosrc => 'regdictionaryin' },
  9228. { oid => '3772', descr => 'I/O',
  9229. proname => 'regdictionaryout', provolatile => 's', prorettype => 'cstring',
  9230. proargtypes => 'regdictionary', prosrc => 'regdictionaryout' },
  9231. { oid => '3773', descr => 'I/O',
  9232. proname => 'regdictionaryrecv', prorettype => 'regdictionary',
  9233. proargtypes => 'internal', prosrc => 'regdictionaryrecv' },
  9234. { oid => '3774', descr => 'I/O',
  9235. proname => 'regdictionarysend', prorettype => 'bytea',
  9236. proargtypes => 'regdictionary', prosrc => 'regdictionarysend' },
  9237. # jsonb
  9238. { oid => '3806', descr => 'I/O',
  9239. proname => 'jsonb_in', prorettype => 'jsonb', proargtypes => 'cstring',
  9240. prosrc => 'jsonb_in' },
  9241. { oid => '3805', descr => 'I/O',
  9242. proname => 'jsonb_recv', prorettype => 'jsonb', proargtypes => 'internal',
  9243. prosrc => 'jsonb_recv' },
  9244. { oid => '3804', descr => 'I/O',
  9245. proname => 'jsonb_out', prorettype => 'cstring', proargtypes => 'jsonb',
  9246. prosrc => 'jsonb_out' },
  9247. { oid => '3803', descr => 'I/O',
  9248. proname => 'jsonb_send', prorettype => 'bytea', proargtypes => 'jsonb',
  9249. prosrc => 'jsonb_send' },
  9250. { oid => '3263', descr => 'map text array of key value pairs to jsonb object',
  9251. proname => 'jsonb_object', prorettype => 'jsonb', proargtypes => '_text',
  9252. prosrc => 'jsonb_object' },
  9253. { oid => '3264', descr => 'map text array of key value pairs to jsonb object',
  9254. proname => 'jsonb_object', prorettype => 'jsonb',
  9255. proargtypes => '_text _text', prosrc => 'jsonb_object_two_arg' },
  9256. { oid => '3787', descr => 'map input to jsonb',
  9257. proname => 'to_jsonb', provolatile => 's', prorettype => 'jsonb',
  9258. proargtypes => 'anyelement', prosrc => 'to_jsonb' },
  9259. { oid => '3265', descr => 'jsonb aggregate transition function',
  9260. proname => 'jsonb_agg_transfn', proisstrict => 'f', provolatile => 's',
  9261. prorettype => 'internal', proargtypes => 'internal anyelement',
  9262. prosrc => 'jsonb_agg_transfn' },
  9263. { oid => '3266', descr => 'jsonb aggregate final function',
  9264. proname => 'jsonb_agg_finalfn', proisstrict => 'f', provolatile => 's',
  9265. prorettype => 'jsonb', proargtypes => 'internal',
  9266. prosrc => 'jsonb_agg_finalfn' },
  9267. { oid => '3267', descr => 'aggregate input into jsonb',
  9268. proname => 'jsonb_agg', prokind => 'a', proisstrict => 'f',
  9269. provolatile => 's', prorettype => 'jsonb', proargtypes => 'anyelement',
  9270. prosrc => 'aggregate_dummy' },
  9271. { oid => '3268', descr => 'jsonb object aggregate transition function',
  9272. proname => 'jsonb_object_agg_transfn', proisstrict => 'f', provolatile => 's',
  9273. prorettype => 'internal', proargtypes => 'internal any any',
  9274. prosrc => 'jsonb_object_agg_transfn' },
  9275. { oid => '3269', descr => 'jsonb object aggregate final function',
  9276. proname => 'jsonb_object_agg_finalfn', proisstrict => 'f', provolatile => 's',
  9277. prorettype => 'jsonb', proargtypes => 'internal',
  9278. prosrc => 'jsonb_object_agg_finalfn' },
  9279. { oid => '3270', descr => 'aggregate inputs into jsonb object',
  9280. proname => 'jsonb_object_agg', prokind => 'a', proisstrict => 'f',
  9281. prorettype => 'jsonb', proargtypes => 'any any',
  9282. prosrc => 'aggregate_dummy' },
  9283. { oid => '3271', descr => 'build a jsonb array from any inputs',
  9284. proname => 'jsonb_build_array', provariadic => 'any', proisstrict => 'f',
  9285. provolatile => 's', prorettype => 'jsonb', proargtypes => 'any',
  9286. proallargtypes => '{any}', proargmodes => '{v}',
  9287. prosrc => 'jsonb_build_array' },
  9288. { oid => '3272', descr => 'build an empty jsonb array',
  9289. proname => 'jsonb_build_array', proisstrict => 'f', provolatile => 's',
  9290. prorettype => 'jsonb', proargtypes => '',
  9291. prosrc => 'jsonb_build_array_noargs' },
  9292. { oid => '3273',
  9293. descr => 'build a jsonb object from pairwise key/value inputs',
  9294. proname => 'jsonb_build_object', provariadic => 'any', proisstrict => 'f',
  9295. provolatile => 's', prorettype => 'jsonb', proargtypes => 'any',
  9296. proallargtypes => '{any}', proargmodes => '{v}',
  9297. prosrc => 'jsonb_build_object' },
  9298. { oid => '3274', descr => 'build an empty jsonb object',
  9299. proname => 'jsonb_build_object', proisstrict => 'f', provolatile => 's',
  9300. prorettype => 'jsonb', proargtypes => '',
  9301. prosrc => 'jsonb_build_object_noargs' },
  9302. { oid => '3262', descr => 'remove object fields with null values from jsonb',
  9303. proname => 'jsonb_strip_nulls', prorettype => 'jsonb', proargtypes => 'jsonb',
  9304. prosrc => 'jsonb_strip_nulls' },
  9305. { oid => '3478',
  9306. proname => 'jsonb_object_field', prorettype => 'jsonb',
  9307. proargtypes => 'jsonb text', proargnames => '{from_json, field_name}',
  9308. prosrc => 'jsonb_object_field' },
  9309. { oid => '3214',
  9310. proname => 'jsonb_object_field_text', prorettype => 'text',
  9311. proargtypes => 'jsonb text', proargnames => '{from_json, field_name}',
  9312. prosrc => 'jsonb_object_field_text' },
  9313. { oid => '3215',
  9314. proname => 'jsonb_array_element', prorettype => 'jsonb',
  9315. proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}',
  9316. prosrc => 'jsonb_array_element' },
  9317. { oid => '3216',
  9318. proname => 'jsonb_array_element_text', prorettype => 'text',
  9319. proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}',
  9320. prosrc => 'jsonb_array_element_text' },
  9321. { oid => '3217', descr => 'get value from jsonb with path elements',
  9322. proname => 'jsonb_extract_path', provariadic => 'text', prorettype => 'jsonb',
  9323. proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}',
  9324. proargmodes => '{i,v}', proargnames => '{from_json,path_elems}',
  9325. prosrc => 'jsonb_extract_path' },
  9326. { oid => '3940', descr => 'get value from jsonb as text with path elements',
  9327. proname => 'jsonb_extract_path_text', provariadic => 'text',
  9328. prorettype => 'text', proargtypes => 'jsonb _text',
  9329. proallargtypes => '{jsonb,_text}', proargmodes => '{i,v}',
  9330. proargnames => '{from_json,path_elems}',
  9331. prosrc => 'jsonb_extract_path_text' },
  9332. { oid => '3219', descr => 'elements of a jsonb array',
  9333. proname => 'jsonb_array_elements', prorows => '100', proretset => 't',
  9334. prorettype => 'jsonb', proargtypes => 'jsonb',
  9335. proallargtypes => '{jsonb,jsonb}', proargmodes => '{i,o}',
  9336. proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements' },
  9337. { oid => '3465', descr => 'elements of jsonb array',
  9338. proname => 'jsonb_array_elements_text', prorows => '100', proretset => 't',
  9339. prorettype => 'text', proargtypes => 'jsonb',
  9340. proallargtypes => '{jsonb,text}', proargmodes => '{i,o}',
  9341. proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements_text' },
  9342. { oid => '3207', descr => 'length of jsonb array',
  9343. proname => 'jsonb_array_length', prorettype => 'int4', proargtypes => 'jsonb',
  9344. prosrc => 'jsonb_array_length' },
  9345. { oid => '3931', descr => 'get jsonb object keys',
  9346. proname => 'jsonb_object_keys', prorows => '100', proretset => 't',
  9347. prorettype => 'text', proargtypes => 'jsonb', prosrc => 'jsonb_object_keys' },
  9348. { oid => '3208', descr => 'key value pairs of a jsonb object',
  9349. proname => 'jsonb_each', prorows => '100', proretset => 't',
  9350. prorettype => 'record', proargtypes => 'jsonb',
  9351. proallargtypes => '{jsonb,text,jsonb}', proargmodes => '{i,o,o}',
  9352. proargnames => '{from_json,key,value}', prosrc => 'jsonb_each' },
  9353. { oid => '3932', descr => 'key value pairs of a jsonb object',
  9354. proname => 'jsonb_each_text', prorows => '100', proretset => 't',
  9355. prorettype => 'record', proargtypes => 'jsonb',
  9356. proallargtypes => '{jsonb,text,text}', proargmodes => '{i,o,o}',
  9357. proargnames => '{from_json,key,value}', prosrc => 'jsonb_each_text' },
  9358. { oid => '3209', descr => 'get record fields from a jsonb object',
  9359. proname => 'jsonb_populate_record', proisstrict => 'f', provolatile => 's',
  9360. prorettype => 'anyelement', proargtypes => 'anyelement jsonb',
  9361. prosrc => 'jsonb_populate_record' },
  9362. { oid => '3475',
  9363. descr => 'get set of records with fields from a jsonb array of objects',
  9364. proname => 'jsonb_populate_recordset', prorows => '100', proisstrict => 'f',
  9365. proretset => 't', provolatile => 's', prorettype => 'anyelement',
  9366. proargtypes => 'anyelement jsonb', prosrc => 'jsonb_populate_recordset' },
  9367. { oid => '3490', descr => 'get record fields from a jsonb object',
  9368. proname => 'jsonb_to_record', provolatile => 's', prorettype => 'record',
  9369. proargtypes => 'jsonb', prosrc => 'jsonb_to_record' },
  9370. { oid => '3491',
  9371. descr => 'get set of records with fields from a jsonb array of objects',
  9372. proname => 'jsonb_to_recordset', prorows => '100', proisstrict => 'f',
  9373. proretset => 't', provolatile => 's', prorettype => 'record',
  9374. proargtypes => 'jsonb', prosrc => 'jsonb_to_recordset' },
  9375. { oid => '3210', descr => 'get the type of a jsonb value',
  9376. proname => 'jsonb_typeof', prorettype => 'text', proargtypes => 'jsonb',
  9377. prosrc => 'jsonb_typeof' },
  9378. { oid => '4038',
  9379. proname => 'jsonb_ne', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9380. prosrc => 'jsonb_ne' },
  9381. { oid => '4039',
  9382. proname => 'jsonb_lt', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9383. prosrc => 'jsonb_lt' },
  9384. { oid => '4040',
  9385. proname => 'jsonb_gt', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9386. prosrc => 'jsonb_gt' },
  9387. { oid => '4041',
  9388. proname => 'jsonb_le', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9389. prosrc => 'jsonb_le' },
  9390. { oid => '4042',
  9391. proname => 'jsonb_ge', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9392. prosrc => 'jsonb_ge' },
  9393. { oid => '4043',
  9394. proname => 'jsonb_eq', prorettype => 'bool', proargtypes => 'jsonb jsonb',
  9395. prosrc => 'jsonb_eq' },
  9396. { oid => '4044', descr => 'less-equal-greater',
  9397. proname => 'jsonb_cmp', prorettype => 'int4', proargtypes => 'jsonb jsonb',
  9398. prosrc => 'jsonb_cmp' },
  9399. { oid => '4045', descr => 'hash',
  9400. proname => 'jsonb_hash', prorettype => 'int4', proargtypes => 'jsonb',
  9401. prosrc => 'jsonb_hash' },
  9402. { oid => '3416', descr => 'hash',
  9403. proname => 'jsonb_hash_extended', prorettype => 'int8',
  9404. proargtypes => 'jsonb int8', prosrc => 'jsonb_hash_extended' },
  9405. { oid => '4046',
  9406. proname => 'jsonb_contains', prorettype => 'bool',
  9407. proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contains' },
  9408. { oid => '4047',
  9409. proname => 'jsonb_exists', prorettype => 'bool', proargtypes => 'jsonb text',
  9410. prosrc => 'jsonb_exists' },
  9411. { oid => '4048',
  9412. proname => 'jsonb_exists_any', prorettype => 'bool',
  9413. proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_any' },
  9414. { oid => '4049',
  9415. proname => 'jsonb_exists_all', prorettype => 'bool',
  9416. proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_all' },
  9417. { oid => '4050',
  9418. proname => 'jsonb_contained', prorettype => 'bool',
  9419. proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contained' },
  9420. { oid => '3480', descr => 'GIN support',
  9421. proname => 'gin_compare_jsonb', prorettype => 'int4',
  9422. proargtypes => 'text text', prosrc => 'gin_compare_jsonb' },
  9423. { oid => '3482', descr => 'GIN support',
  9424. proname => 'gin_extract_jsonb', prorettype => 'internal',
  9425. proargtypes => 'jsonb internal internal', prosrc => 'gin_extract_jsonb' },
  9426. { oid => '3483', descr => 'GIN support',
  9427. proname => 'gin_extract_jsonb_query', prorettype => 'internal',
  9428. proargtypes => 'jsonb internal int2 internal internal internal internal',
  9429. prosrc => 'gin_extract_jsonb_query' },
  9430. { oid => '3484', descr => 'GIN support',
  9431. proname => 'gin_consistent_jsonb', prorettype => 'bool',
  9432. proargtypes => 'internal int2 jsonb int4 internal internal internal internal',
  9433. prosrc => 'gin_consistent_jsonb' },
  9434. { oid => '3488', descr => 'GIN support',
  9435. proname => 'gin_triconsistent_jsonb', prorettype => 'char',
  9436. proargtypes => 'internal int2 jsonb int4 internal internal internal',
  9437. prosrc => 'gin_triconsistent_jsonb' },
  9438. { oid => '3485', descr => 'GIN support',
  9439. proname => 'gin_extract_jsonb_path', prorettype => 'internal',
  9440. proargtypes => 'jsonb internal internal',
  9441. prosrc => 'gin_extract_jsonb_path' },
  9442. { oid => '3486', descr => 'GIN support',
  9443. proname => 'gin_extract_jsonb_query_path', prorettype => 'internal',
  9444. proargtypes => 'jsonb internal int2 internal internal internal internal',
  9445. prosrc => 'gin_extract_jsonb_query_path' },
  9446. { oid => '3487', descr => 'GIN support',
  9447. proname => 'gin_consistent_jsonb_path', prorettype => 'bool',
  9448. proargtypes => 'internal int2 jsonb int4 internal internal internal internal',
  9449. prosrc => 'gin_consistent_jsonb_path' },
  9450. { oid => '3489', descr => 'GIN support',
  9451. proname => 'gin_triconsistent_jsonb_path', prorettype => 'char',
  9452. proargtypes => 'internal int2 jsonb int4 internal internal internal',
  9453. prosrc => 'gin_triconsistent_jsonb_path' },
  9454. { oid => '3301',
  9455. proname => 'jsonb_concat', prorettype => 'jsonb',
  9456. proargtypes => 'jsonb jsonb', prosrc => 'jsonb_concat' },
  9457. { oid => '3302',
  9458. proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb text',
  9459. prosrc => 'jsonb_delete' },
  9460. { oid => '3303',
  9461. proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb int4',
  9462. prosrc => 'jsonb_delete_idx' },
  9463. { oid => '3343',
  9464. proname => 'jsonb_delete', provariadic => 'text', prorettype => 'jsonb',
  9465. proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}',
  9466. proargmodes => '{i,v}', proargnames => '{from_json,path_elems}',
  9467. prosrc => 'jsonb_delete_array' },
  9468. { oid => '3304',
  9469. proname => 'jsonb_delete_path', prorettype => 'jsonb',
  9470. proargtypes => 'jsonb _text', prosrc => 'jsonb_delete_path' },
  9471. { oid => '5054', descr => 'Set part of a jsonb, handle NULL value',
  9472. proname => 'jsonb_set_lax', proisstrict => 'f', prorettype => 'jsonb',
  9473. proargtypes => 'jsonb _text jsonb bool text', prosrc => 'jsonb_set_lax' },
  9474. { oid => '3305', descr => 'Set part of a jsonb',
  9475. proname => 'jsonb_set', prorettype => 'jsonb',
  9476. proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_set' },
  9477. { oid => '3306', descr => 'Indented text from jsonb',
  9478. proname => 'jsonb_pretty', prorettype => 'text', proargtypes => 'jsonb',
  9479. prosrc => 'jsonb_pretty' },
  9480. { oid => '3579', descr => 'Insert value into a jsonb',
  9481. proname => 'jsonb_insert', prorettype => 'jsonb',
  9482. proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_insert' },
  9483. # jsonpath
  9484. { oid => '4001', descr => 'I/O',
  9485. proname => 'jsonpath_in', prorettype => 'jsonpath', proargtypes => 'cstring',
  9486. prosrc => 'jsonpath_in' },
  9487. { oid => '4002', descr => 'I/O',
  9488. proname => 'jsonpath_recv', prorettype => 'jsonpath',
  9489. proargtypes => 'internal', prosrc => 'jsonpath_recv' },
  9490. { oid => '4003', descr => 'I/O',
  9491. proname => 'jsonpath_out', prorettype => 'cstring', proargtypes => 'jsonpath',
  9492. prosrc => 'jsonpath_out' },
  9493. { oid => '4004', descr => 'I/O',
  9494. proname => 'jsonpath_send', prorettype => 'bytea', proargtypes => 'jsonpath',
  9495. prosrc => 'jsonpath_send' },
  9496. { oid => '4005', descr => 'jsonpath exists test',
  9497. proname => 'jsonb_path_exists', prorettype => 'bool',
  9498. proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_exists' },
  9499. { oid => '4006', descr => 'jsonpath query',
  9500. proname => 'jsonb_path_query', prorows => '1000', proretset => 't',
  9501. prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool',
  9502. prosrc => 'jsonb_path_query' },
  9503. { oid => '4007', descr => 'jsonpath query wrapped into array',
  9504. proname => 'jsonb_path_query_array', prorettype => 'jsonb',
  9505. proargtypes => 'jsonb jsonpath jsonb bool',
  9506. prosrc => 'jsonb_path_query_array' },
  9507. { oid => '4008', descr => 'jsonpath query first item',
  9508. proname => 'jsonb_path_query_first', prorettype => 'jsonb',
  9509. proargtypes => 'jsonb jsonpath jsonb bool',
  9510. prosrc => 'jsonb_path_query_first' },
  9511. { oid => '4009', descr => 'jsonpath match',
  9512. proname => 'jsonb_path_match', prorettype => 'bool',
  9513. proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_match' },
  9514. { oid => '1177', descr => 'jsonpath exists test with timezone',
  9515. proname => 'jsonb_path_exists_tz', provolatile => 's', prorettype => 'bool',
  9516. proargtypes => 'jsonb jsonpath jsonb bool',
  9517. prosrc => 'jsonb_path_exists_tz' },
  9518. { oid => '1179', descr => 'jsonpath query with timezone',
  9519. proname => 'jsonb_path_query_tz', prorows => '1000', proretset => 't',
  9520. provolatile => 's', prorettype => 'jsonb',
  9521. proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_query_tz' },
  9522. { oid => '1180', descr => 'jsonpath query wrapped into array with timezone',
  9523. proname => 'jsonb_path_query_array_tz', provolatile => 's',
  9524. prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool',
  9525. prosrc => 'jsonb_path_query_array_tz' },
  9526. { oid => '2023', descr => 'jsonpath query first item with timezone',
  9527. proname => 'jsonb_path_query_first_tz', provolatile => 's',
  9528. prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool',
  9529. prosrc => 'jsonb_path_query_first_tz' },
  9530. { oid => '2030', descr => 'jsonpath match with timezone',
  9531. proname => 'jsonb_path_match_tz', provolatile => 's', prorettype => 'bool',
  9532. proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_match_tz' },
  9533. { oid => '4010', descr => 'implementation of @? operator',
  9534. proname => 'jsonb_path_exists_opr', prorettype => 'bool',
  9535. proargtypes => 'jsonb jsonpath', prosrc => 'jsonb_path_exists_opr' },
  9536. { oid => '4011', descr => 'implementation of @@ operator',
  9537. proname => 'jsonb_path_match_opr', prorettype => 'bool',
  9538. proargtypes => 'jsonb jsonpath', prosrc => 'jsonb_path_match_opr' },
  9539. # historical int8/txid_snapshot variants of xid8 functions
  9540. { oid => '2939', descr => 'I/O',
  9541. proname => 'txid_snapshot_in', prorettype => 'txid_snapshot',
  9542. proargtypes => 'cstring', prosrc => 'pg_snapshot_in' },
  9543. { oid => '2940', descr => 'I/O',
  9544. proname => 'txid_snapshot_out', prorettype => 'cstring',
  9545. proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_out' },
  9546. { oid => '2941', descr => 'I/O',
  9547. proname => 'txid_snapshot_recv', prorettype => 'txid_snapshot',
  9548. proargtypes => 'internal', prosrc => 'pg_snapshot_recv' },
  9549. { oid => '2942', descr => 'I/O',
  9550. proname => 'txid_snapshot_send', prorettype => 'bytea',
  9551. proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_send' },
  9552. { oid => '2943', descr => 'get current transaction ID',
  9553. proname => 'txid_current', provolatile => 's', proparallel => 'u',
  9554. prorettype => 'int8', proargtypes => '', prosrc => 'pg_current_xact_id' },
  9555. { oid => '3348', descr => 'get current transaction ID',
  9556. proname => 'txid_current_if_assigned', provolatile => 's', proparallel => 'u',
  9557. prorettype => 'int8', proargtypes => '',
  9558. prosrc => 'pg_current_xact_id_if_assigned' },
  9559. { oid => '2944', descr => 'get current snapshot',
  9560. proname => 'txid_current_snapshot', provolatile => 's',
  9561. prorettype => 'txid_snapshot', proargtypes => '',
  9562. prosrc => 'pg_current_snapshot' },
  9563. { oid => '2945', descr => 'get xmin of snapshot',
  9564. proname => 'txid_snapshot_xmin', prorettype => 'int8',
  9565. proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_xmin' },
  9566. { oid => '2946', descr => 'get xmax of snapshot',
  9567. proname => 'txid_snapshot_xmax', prorettype => 'int8',
  9568. proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_xmax' },
  9569. { oid => '2947', descr => 'get set of in-progress txids in snapshot',
  9570. proname => 'txid_snapshot_xip', prorows => '50', proretset => 't',
  9571. prorettype => 'int8', proargtypes => 'txid_snapshot',
  9572. prosrc => 'pg_snapshot_xip' },
  9573. { oid => '2948', descr => 'is txid visible in snapshot?',
  9574. proname => 'txid_visible_in_snapshot', prorettype => 'bool',
  9575. proargtypes => 'int8 txid_snapshot', prosrc => 'pg_visible_in_snapshot' },
  9576. { oid => '3360', descr => 'commit status of transaction',
  9577. proname => 'txid_status', provolatile => 'v', prorettype => 'text',
  9578. proargtypes => 'int8', prosrc => 'pg_xact_status' },
  9579. # pg_snapshot functions
  9580. { oid => '5055', descr => 'I/O',
  9581. proname => 'pg_snapshot_in', prorettype => 'pg_snapshot',
  9582. proargtypes => 'cstring', prosrc => 'pg_snapshot_in' },
  9583. { oid => '5056', descr => 'I/O',
  9584. proname => 'pg_snapshot_out', prorettype => 'cstring',
  9585. proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_out' },
  9586. { oid => '5057', descr => 'I/O',
  9587. proname => 'pg_snapshot_recv', prorettype => 'pg_snapshot',
  9588. proargtypes => 'internal', prosrc => 'pg_snapshot_recv' },
  9589. { oid => '5058', descr => 'I/O',
  9590. proname => 'pg_snapshot_send', prorettype => 'bytea',
  9591. proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_send' },
  9592. { oid => '5061', descr => 'get current snapshot',
  9593. proname => 'pg_current_snapshot', provolatile => 's',
  9594. prorettype => 'pg_snapshot', proargtypes => '',
  9595. prosrc => 'pg_current_snapshot' },
  9596. { oid => '5062', descr => 'get xmin of snapshot',
  9597. proname => 'pg_snapshot_xmin', prorettype => 'xid8',
  9598. proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_xmin' },
  9599. { oid => '5063', descr => 'get xmax of snapshot',
  9600. proname => 'pg_snapshot_xmax', prorettype => 'xid8',
  9601. proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_xmax' },
  9602. { oid => '5064', descr => 'get set of in-progress transactions in snapshot',
  9603. proname => 'pg_snapshot_xip', prorows => '50', proretset => 't',
  9604. prorettype => 'xid8', proargtypes => 'pg_snapshot',
  9605. prosrc => 'pg_snapshot_xip' },
  9606. { oid => '5065', descr => 'is xid8 visible in snapshot?',
  9607. proname => 'pg_visible_in_snapshot', prorettype => 'bool',
  9608. proargtypes => 'xid8 pg_snapshot', prosrc => 'pg_visible_in_snapshot' },
  9609. # transaction ID and status functions
  9610. { oid => '5059', descr => 'get current transaction ID',
  9611. proname => 'pg_current_xact_id', provolatile => 's', proparallel => 'u',
  9612. prorettype => 'xid8', proargtypes => '', prosrc => 'pg_current_xact_id' },
  9613. { oid => '5060', descr => 'get current transaction ID',
  9614. proname => 'pg_current_xact_id_if_assigned', provolatile => 's',
  9615. proparallel => 'u', prorettype => 'xid8', proargtypes => '',
  9616. prosrc => 'pg_current_xact_id_if_assigned' },
  9617. { oid => '5066', descr => 'commit status of transaction',
  9618. proname => 'pg_xact_status', provolatile => 'v', prorettype => 'text',
  9619. proargtypes => 'xid8', prosrc => 'pg_xact_status' },
  9620. # record comparison using normal comparison rules
  9621. { oid => '2981',
  9622. proname => 'record_eq', prorettype => 'bool', proargtypes => 'record record',
  9623. prosrc => 'record_eq' },
  9624. { oid => '2982',
  9625. proname => 'record_ne', prorettype => 'bool', proargtypes => 'record record',
  9626. prosrc => 'record_ne' },
  9627. { oid => '2983',
  9628. proname => 'record_lt', prorettype => 'bool', proargtypes => 'record record',
  9629. prosrc => 'record_lt' },
  9630. { oid => '2984',
  9631. proname => 'record_gt', prorettype => 'bool', proargtypes => 'record record',
  9632. prosrc => 'record_gt' },
  9633. { oid => '2985',
  9634. proname => 'record_le', prorettype => 'bool', proargtypes => 'record record',
  9635. prosrc => 'record_le' },
  9636. { oid => '2986',
  9637. proname => 'record_ge', prorettype => 'bool', proargtypes => 'record record',
  9638. prosrc => 'record_ge' },
  9639. { oid => '2987', descr => 'less-equal-greater',
  9640. proname => 'btrecordcmp', prorettype => 'int4',
  9641. proargtypes => 'record record', prosrc => 'btrecordcmp' },
  9642. { oid => '6192', descr => 'hash',
  9643. proname => 'hash_record', prorettype => 'int4', proargtypes => 'record',
  9644. prosrc => 'hash_record' },
  9645. { oid => '6193', descr => 'hash',
  9646. proname => 'hash_record_extended', prorettype => 'int8',
  9647. proargtypes => 'record int8', prosrc => 'hash_record_extended' },
  9648. # record comparison using raw byte images
  9649. { oid => '3181',
  9650. proname => 'record_image_eq', prorettype => 'bool',
  9651. proargtypes => 'record record', prosrc => 'record_image_eq' },
  9652. { oid => '3182',
  9653. proname => 'record_image_ne', prorettype => 'bool',
  9654. proargtypes => 'record record', prosrc => 'record_image_ne' },
  9655. { oid => '3183',
  9656. proname => 'record_image_lt', prorettype => 'bool',
  9657. proargtypes => 'record record', prosrc => 'record_image_lt' },
  9658. { oid => '3184',
  9659. proname => 'record_image_gt', prorettype => 'bool',
  9660. proargtypes => 'record record', prosrc => 'record_image_gt' },
  9661. { oid => '3185',
  9662. proname => 'record_image_le', prorettype => 'bool',
  9663. proargtypes => 'record record', prosrc => 'record_image_le' },
  9664. { oid => '3186',
  9665. proname => 'record_image_ge', prorettype => 'bool',
  9666. proargtypes => 'record record', prosrc => 'record_image_ge' },
  9667. { oid => '3187', descr => 'less-equal-greater based on byte images',
  9668. proname => 'btrecordimagecmp', prorettype => 'int4',
  9669. proargtypes => 'record record', prosrc => 'btrecordimagecmp' },
  9670. { oid => '5051', descr => 'equal image',
  9671. proname => 'btequalimage', prorettype => 'bool', proargtypes => 'oid',
  9672. prosrc => 'btequalimage' },
  9673. # Extensions
  9674. { oid => '3082', descr => 'list available extensions',
  9675. proname => 'pg_available_extensions', procost => '10', prorows => '100',
  9676. proretset => 't', provolatile => 's', prorettype => 'record',
  9677. proargtypes => '', proallargtypes => '{name,text,text}',
  9678. proargmodes => '{o,o,o}', proargnames => '{name,default_version,comment}',
  9679. prosrc => 'pg_available_extensions' },
  9680. { oid => '3083', descr => 'list available extension versions',
  9681. proname => 'pg_available_extension_versions', procost => '10',
  9682. prorows => '100', proretset => 't', provolatile => 's',
  9683. prorettype => 'record', proargtypes => '',
  9684. proallargtypes => '{name,text,bool,bool,bool,name,_name,text}',
  9685. proargmodes => '{o,o,o,o,o,o,o,o}',
  9686. proargnames => '{name,version,superuser,trusted,relocatable,schema,requires,comment}',
  9687. prosrc => 'pg_available_extension_versions' },
  9688. { oid => '3084', descr => 'list an extension\'s version update paths',
  9689. proname => 'pg_extension_update_paths', procost => '10', prorows => '100',
  9690. proretset => 't', provolatile => 's', prorettype => 'record',
  9691. proargtypes => 'name', proallargtypes => '{name,text,text,text}',
  9692. proargmodes => '{i,o,o,o}', proargnames => '{name,source,target,path}',
  9693. prosrc => 'pg_extension_update_paths' },
  9694. { oid => '3086',
  9695. descr => 'flag an extension\'s table contents to be emitted by pg_dump',
  9696. proname => 'pg_extension_config_dump', provolatile => 'v', proparallel => 'u',
  9697. prorettype => 'void', proargtypes => 'regclass text',
  9698. prosrc => 'pg_extension_config_dump' },
  9699. # SQL-spec window functions
  9700. { oid => '3100', descr => 'row number within partition',
  9701. proname => 'row_number', prosupport => 'window_row_number_support',
  9702. prokind => 'w', proisstrict => 'f', prorettype => 'int8', proargtypes => '',
  9703. prosrc => 'window_row_number' },
  9704. { oid => '6233', descr => 'planner support for row_number run condition',
  9705. proname => 'window_row_number_support', prorettype => 'internal',
  9706. proargtypes => 'internal', prosrc => 'window_row_number_support' },
  9707. { oid => '3101', descr => 'integer rank with gaps',
  9708. proname => 'rank', prosupport => 'window_rank_support', prokind => 'w',
  9709. proisstrict => 'f', prorettype => 'int8', proargtypes => '',
  9710. prosrc => 'window_rank' },
  9711. { oid => '6234', descr => 'planner support for rank run condition',
  9712. proname => 'window_rank_support', prorettype => 'internal',
  9713. proargtypes => 'internal', prosrc => 'window_rank_support' },
  9714. { oid => '3102', descr => 'integer rank without gaps',
  9715. proname => 'dense_rank', prosupport => 'window_dense_rank_support',
  9716. prokind => 'w', proisstrict => 'f', prorettype => 'int8', proargtypes => '',
  9717. prosrc => 'window_dense_rank' },
  9718. { oid => '6235', descr => 'planner support for dense rank run condition',
  9719. proname => 'window_dense_rank_support', prorettype => 'internal',
  9720. proargtypes => 'internal', prosrc => 'window_dense_rank_support' },
  9721. { oid => '3103', descr => 'fractional rank within partition',
  9722. proname => 'percent_rank', prokind => 'w', proisstrict => 'f',
  9723. prorettype => 'float8', proargtypes => '', prosrc => 'window_percent_rank' },
  9724. { oid => '3104', descr => 'fractional row number within partition',
  9725. proname => 'cume_dist', prokind => 'w', proisstrict => 'f',
  9726. prorettype => 'float8', proargtypes => '', prosrc => 'window_cume_dist' },
  9727. { oid => '3105', descr => 'split rows into N groups',
  9728. proname => 'ntile', prokind => 'w', prorettype => 'int4',
  9729. proargtypes => 'int4', prosrc => 'window_ntile' },
  9730. { oid => '3106', descr => 'fetch the preceding row value',
  9731. proname => 'lag', prokind => 'w', prorettype => 'anyelement',
  9732. proargtypes => 'anyelement', prosrc => 'window_lag' },
  9733. { oid => '3107', descr => 'fetch the Nth preceding row value',
  9734. proname => 'lag', prokind => 'w', prorettype => 'anyelement',
  9735. proargtypes => 'anyelement int4', prosrc => 'window_lag_with_offset' },
  9736. { oid => '3108', descr => 'fetch the Nth preceding row value with default',
  9737. proname => 'lag', prokind => 'w', prorettype => 'anycompatible',
  9738. proargtypes => 'anycompatible int4 anycompatible',
  9739. prosrc => 'window_lag_with_offset_and_default' },
  9740. { oid => '3109', descr => 'fetch the following row value',
  9741. proname => 'lead', prokind => 'w', prorettype => 'anyelement',
  9742. proargtypes => 'anyelement', prosrc => 'window_lead' },
  9743. { oid => '3110', descr => 'fetch the Nth following row value',
  9744. proname => 'lead', prokind => 'w', prorettype => 'anyelement',
  9745. proargtypes => 'anyelement int4', prosrc => 'window_lead_with_offset' },
  9746. { oid => '3111', descr => 'fetch the Nth following row value with default',
  9747. proname => 'lead', prokind => 'w', prorettype => 'anycompatible',
  9748. proargtypes => 'anycompatible int4 anycompatible',
  9749. prosrc => 'window_lead_with_offset_and_default' },
  9750. { oid => '3112', descr => 'fetch the first row value',
  9751. proname => 'first_value', prokind => 'w', prorettype => 'anyelement',
  9752. proargtypes => 'anyelement', prosrc => 'window_first_value' },
  9753. { oid => '3113', descr => 'fetch the last row value',
  9754. proname => 'last_value', prokind => 'w', prorettype => 'anyelement',
  9755. proargtypes => 'anyelement', prosrc => 'window_last_value' },
  9756. { oid => '3114', descr => 'fetch the Nth row value',
  9757. proname => 'nth_value', prokind => 'w', prorettype => 'anyelement',
  9758. proargtypes => 'anyelement int4', prosrc => 'window_nth_value' },
  9759. # functions for range types
  9760. { oid => '3832', descr => 'I/O',
  9761. proname => 'anyrange_in', provolatile => 's', prorettype => 'anyrange',
  9762. proargtypes => 'cstring oid int4', prosrc => 'anyrange_in' },
  9763. { oid => '3833', descr => 'I/O',
  9764. proname => 'anyrange_out', provolatile => 's', prorettype => 'cstring',
  9765. proargtypes => 'anyrange', prosrc => 'anyrange_out' },
  9766. { oid => '3834', descr => 'I/O',
  9767. proname => 'range_in', provolatile => 's', prorettype => 'anyrange',
  9768. proargtypes => 'cstring oid int4', prosrc => 'range_in' },
  9769. { oid => '3835', descr => 'I/O',
  9770. proname => 'range_out', provolatile => 's', prorettype => 'cstring',
  9771. proargtypes => 'anyrange', prosrc => 'range_out' },
  9772. { oid => '3836', descr => 'I/O',
  9773. proname => 'range_recv', provolatile => 's', prorettype => 'anyrange',
  9774. proargtypes => 'internal oid int4', prosrc => 'range_recv' },
  9775. { oid => '3837', descr => 'I/O',
  9776. proname => 'range_send', provolatile => 's', prorettype => 'bytea',
  9777. proargtypes => 'anyrange', prosrc => 'range_send' },
  9778. { oid => '3848', descr => 'lower bound of range',
  9779. proname => 'lower', prorettype => 'anyelement', proargtypes => 'anyrange',
  9780. prosrc => 'range_lower' },
  9781. { oid => '3849', descr => 'upper bound of range',
  9782. proname => 'upper', prorettype => 'anyelement', proargtypes => 'anyrange',
  9783. prosrc => 'range_upper' },
  9784. { oid => '3850', descr => 'is the range empty?',
  9785. proname => 'isempty', prorettype => 'bool', proargtypes => 'anyrange',
  9786. prosrc => 'range_empty' },
  9787. { oid => '3851', descr => 'is the range\'s lower bound inclusive?',
  9788. proname => 'lower_inc', prorettype => 'bool', proargtypes => 'anyrange',
  9789. prosrc => 'range_lower_inc' },
  9790. { oid => '3852', descr => 'is the range\'s upper bound inclusive?',
  9791. proname => 'upper_inc', prorettype => 'bool', proargtypes => 'anyrange',
  9792. prosrc => 'range_upper_inc' },
  9793. { oid => '3853', descr => 'is the range\'s lower bound infinite?',
  9794. proname => 'lower_inf', prorettype => 'bool', proargtypes => 'anyrange',
  9795. prosrc => 'range_lower_inf' },
  9796. { oid => '3854', descr => 'is the range\'s upper bound infinite?',
  9797. proname => 'upper_inf', prorettype => 'bool', proargtypes => 'anyrange',
  9798. prosrc => 'range_upper_inf' },
  9799. { oid => '3855',
  9800. proname => 'range_eq', prorettype => 'bool',
  9801. proargtypes => 'anyrange anyrange', prosrc => 'range_eq' },
  9802. { oid => '3856',
  9803. proname => 'range_ne', prorettype => 'bool',
  9804. proargtypes => 'anyrange anyrange', prosrc => 'range_ne' },
  9805. { oid => '3857',
  9806. proname => 'range_overlaps', prorettype => 'bool',
  9807. proargtypes => 'anyrange anyrange', prosrc => 'range_overlaps' },
  9808. { oid => '3858',
  9809. proname => 'range_contains_elem', prorettype => 'bool',
  9810. proargtypes => 'anyrange anyelement', prosrc => 'range_contains_elem' },
  9811. { oid => '3859',
  9812. proname => 'range_contains', prorettype => 'bool',
  9813. proargtypes => 'anyrange anyrange', prosrc => 'range_contains' },
  9814. { oid => '3860',
  9815. proname => 'elem_contained_by_range', prorettype => 'bool',
  9816. proargtypes => 'anyelement anyrange', prosrc => 'elem_contained_by_range' },
  9817. { oid => '3861',
  9818. proname => 'range_contained_by', prorettype => 'bool',
  9819. proargtypes => 'anyrange anyrange', prosrc => 'range_contained_by' },
  9820. { oid => '3862',
  9821. proname => 'range_adjacent', prorettype => 'bool',
  9822. proargtypes => 'anyrange anyrange', prosrc => 'range_adjacent' },
  9823. { oid => '3863',
  9824. proname => 'range_before', prorettype => 'bool',
  9825. proargtypes => 'anyrange anyrange', prosrc => 'range_before' },
  9826. { oid => '3864',
  9827. proname => 'range_after', prorettype => 'bool',
  9828. proargtypes => 'anyrange anyrange', prosrc => 'range_after' },
  9829. { oid => '3865',
  9830. proname => 'range_overleft', prorettype => 'bool',
  9831. proargtypes => 'anyrange anyrange', prosrc => 'range_overleft' },
  9832. { oid => '3866',
  9833. proname => 'range_overright', prorettype => 'bool',
  9834. proargtypes => 'anyrange anyrange', prosrc => 'range_overright' },
  9835. { oid => '3867',
  9836. proname => 'range_union', prorettype => 'anyrange',
  9837. proargtypes => 'anyrange anyrange', prosrc => 'range_union' },
  9838. { oid => '4057',
  9839. descr => 'the smallest range which includes both of the given ranges',
  9840. proname => 'range_merge', prorettype => 'anyrange',
  9841. proargtypes => 'anyrange anyrange', prosrc => 'range_merge' },
  9842. { oid => '4228',
  9843. descr => 'the smallest range which includes the whole multirange',
  9844. proname => 'range_merge', prorettype => 'anyrange',
  9845. proargtypes => 'anymultirange', prosrc => 'range_merge_from_multirange' },
  9846. { oid => '3868',
  9847. proname => 'range_intersect', prorettype => 'anyrange',
  9848. proargtypes => 'anyrange anyrange', prosrc => 'range_intersect' },
  9849. { oid => '3869',
  9850. proname => 'range_minus', prorettype => 'anyrange',
  9851. proargtypes => 'anyrange anyrange', prosrc => 'range_minus' },
  9852. { oid => '3870', descr => 'less-equal-greater',
  9853. proname => 'range_cmp', prorettype => 'int4',
  9854. proargtypes => 'anyrange anyrange', prosrc => 'range_cmp' },
  9855. { oid => '3871',
  9856. proname => 'range_lt', prorettype => 'bool',
  9857. proargtypes => 'anyrange anyrange', prosrc => 'range_lt' },
  9858. { oid => '3872',
  9859. proname => 'range_le', prorettype => 'bool',
  9860. proargtypes => 'anyrange anyrange', prosrc => 'range_le' },
  9861. { oid => '3873',
  9862. proname => 'range_ge', prorettype => 'bool',
  9863. proargtypes => 'anyrange anyrange', prosrc => 'range_ge' },
  9864. { oid => '3874',
  9865. proname => 'range_gt', prorettype => 'bool',
  9866. proargtypes => 'anyrange anyrange', prosrc => 'range_gt' },
  9867. { oid => '3875', descr => 'GiST support',
  9868. proname => 'range_gist_consistent', prorettype => 'bool',
  9869. proargtypes => 'internal anyrange int2 oid internal',
  9870. prosrc => 'range_gist_consistent' },
  9871. { oid => '3876', descr => 'GiST support',
  9872. proname => 'range_gist_union', prorettype => 'anyrange',
  9873. proargtypes => 'internal internal', prosrc => 'range_gist_union' },
  9874. { oid => '3879', descr => 'GiST support',
  9875. proname => 'range_gist_penalty', prorettype => 'internal',
  9876. proargtypes => 'internal internal internal', prosrc => 'range_gist_penalty' },
  9877. { oid => '3880', descr => 'GiST support',
  9878. proname => 'range_gist_picksplit', prorettype => 'internal',
  9879. proargtypes => 'internal internal', prosrc => 'range_gist_picksplit' },
  9880. { oid => '3881', descr => 'GiST support',
  9881. proname => 'range_gist_same', prorettype => 'internal',
  9882. proargtypes => 'anyrange anyrange internal', prosrc => 'range_gist_same' },
  9883. { oid => '6154', descr => 'GiST support',
  9884. proname => 'multirange_gist_consistent', prorettype => 'bool',
  9885. proargtypes => 'internal anymultirange int2 oid internal',
  9886. prosrc => 'multirange_gist_consistent' },
  9887. { oid => '6156', descr => 'GiST support',
  9888. proname => 'multirange_gist_compress', prorettype => 'internal',
  9889. proargtypes => 'internal', prosrc => 'multirange_gist_compress' },
  9890. { oid => '3902', descr => 'hash a range',
  9891. proname => 'hash_range', prorettype => 'int4', proargtypes => 'anyrange',
  9892. prosrc => 'hash_range' },
  9893. { oid => '3417', descr => 'hash a range',
  9894. proname => 'hash_range_extended', prorettype => 'int8',
  9895. proargtypes => 'anyrange int8', prosrc => 'hash_range_extended' },
  9896. { oid => '3916', descr => 'range typanalyze',
  9897. proname => 'range_typanalyze', provolatile => 's', prorettype => 'bool',
  9898. proargtypes => 'internal', prosrc => 'range_typanalyze' },
  9899. { oid => '3169', descr => 'restriction selectivity for range operators',
  9900. proname => 'rangesel', provolatile => 's', prorettype => 'float8',
  9901. proargtypes => 'internal oid internal int4', prosrc => 'rangesel' },
  9902. { oid => '4401', descr => 'range aggregate by intersecting',
  9903. proname => 'range_intersect_agg_transfn', prorettype => 'anyrange',
  9904. proargtypes => 'anyrange anyrange', prosrc => 'range_intersect_agg_transfn' },
  9905. { oid => '4450', descr => 'range aggregate by intersecting',
  9906. proname => 'range_intersect_agg', prokind => 'a', proisstrict => 'f',
  9907. prorettype => 'anyrange', proargtypes => 'anyrange',
  9908. prosrc => 'aggregate_dummy' },
  9909. { oid => '3914', descr => 'convert an int4 range to canonical form',
  9910. proname => 'int4range_canonical', prorettype => 'int4range',
  9911. proargtypes => 'int4range', prosrc => 'int4range_canonical' },
  9912. { oid => '3928', descr => 'convert an int8 range to canonical form',
  9913. proname => 'int8range_canonical', prorettype => 'int8range',
  9914. proargtypes => 'int8range', prosrc => 'int8range_canonical' },
  9915. { oid => '3915', descr => 'convert a date range to canonical form',
  9916. proname => 'daterange_canonical', prorettype => 'daterange',
  9917. proargtypes => 'daterange', prosrc => 'daterange_canonical' },
  9918. { oid => '3922', descr => 'float8 difference of two int4 values',
  9919. proname => 'int4range_subdiff', prorettype => 'float8',
  9920. proargtypes => 'int4 int4', prosrc => 'int4range_subdiff' },
  9921. { oid => '3923', descr => 'float8 difference of two int8 values',
  9922. proname => 'int8range_subdiff', prorettype => 'float8',
  9923. proargtypes => 'int8 int8', prosrc => 'int8range_subdiff' },
  9924. { oid => '3924', descr => 'float8 difference of two numeric values',
  9925. proname => 'numrange_subdiff', prorettype => 'float8',
  9926. proargtypes => 'numeric numeric', prosrc => 'numrange_subdiff' },
  9927. { oid => '3925', descr => 'float8 difference of two date values',
  9928. proname => 'daterange_subdiff', prorettype => 'float8',
  9929. proargtypes => 'date date', prosrc => 'daterange_subdiff' },
  9930. { oid => '3929', descr => 'float8 difference of two timestamp values',
  9931. proname => 'tsrange_subdiff', prorettype => 'float8',
  9932. proargtypes => 'timestamp timestamp', prosrc => 'tsrange_subdiff' },
  9933. { oid => '3930',
  9934. descr => 'float8 difference of two timestamp with time zone values',
  9935. proname => 'tstzrange_subdiff', prorettype => 'float8',
  9936. proargtypes => 'timestamptz timestamptz', prosrc => 'tstzrange_subdiff' },
  9937. { oid => '3840', descr => 'int4range constructor',
  9938. proname => 'int4range', proisstrict => 'f', prorettype => 'int4range',
  9939. proargtypes => 'int4 int4', prosrc => 'range_constructor2' },
  9940. { oid => '3841', descr => 'int4range constructor',
  9941. proname => 'int4range', proisstrict => 'f', prorettype => 'int4range',
  9942. proargtypes => 'int4 int4 text', prosrc => 'range_constructor3' },
  9943. { oid => '3844', descr => 'numrange constructor',
  9944. proname => 'numrange', proisstrict => 'f', prorettype => 'numrange',
  9945. proargtypes => 'numeric numeric', prosrc => 'range_constructor2' },
  9946. { oid => '3845', descr => 'numrange constructor',
  9947. proname => 'numrange', proisstrict => 'f', prorettype => 'numrange',
  9948. proargtypes => 'numeric numeric text', prosrc => 'range_constructor3' },
  9949. { oid => '3933', descr => 'tsrange constructor',
  9950. proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange',
  9951. proargtypes => 'timestamp timestamp', prosrc => 'range_constructor2' },
  9952. { oid => '3934', descr => 'tsrange constructor',
  9953. proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange',
  9954. proargtypes => 'timestamp timestamp text', prosrc => 'range_constructor3' },
  9955. { oid => '3937', descr => 'tstzrange constructor',
  9956. proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange',
  9957. proargtypes => 'timestamptz timestamptz', prosrc => 'range_constructor2' },
  9958. { oid => '3938', descr => 'tstzrange constructor',
  9959. proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange',
  9960. proargtypes => 'timestamptz timestamptz text',
  9961. prosrc => 'range_constructor3' },
  9962. { oid => '3941', descr => 'daterange constructor',
  9963. proname => 'daterange', proisstrict => 'f', prorettype => 'daterange',
  9964. proargtypes => 'date date', prosrc => 'range_constructor2' },
  9965. { oid => '3942', descr => 'daterange constructor',
  9966. proname => 'daterange', proisstrict => 'f', prorettype => 'daterange',
  9967. proargtypes => 'date date text', prosrc => 'range_constructor3' },
  9968. { oid => '3945', descr => 'int8range constructor',
  9969. proname => 'int8range', proisstrict => 'f', prorettype => 'int8range',
  9970. proargtypes => 'int8 int8', prosrc => 'range_constructor2' },
  9971. { oid => '3946', descr => 'int8range constructor',
  9972. proname => 'int8range', proisstrict => 'f', prorettype => 'int8range',
  9973. proargtypes => 'int8 int8 text', prosrc => 'range_constructor3' },
  9974. # functions for multiranges
  9975. { oid => '4229', descr => 'I/O',
  9976. proname => 'anymultirange_in', provolatile => 's',
  9977. prorettype => 'anymultirange', proargtypes => 'cstring oid int4',
  9978. prosrc => 'anymultirange_in' },
  9979. { oid => '4230', descr => 'I/O',
  9980. proname => 'anymultirange_out', provolatile => 's', prorettype => 'cstring',
  9981. proargtypes => 'anymultirange', prosrc => 'anymultirange_out' },
  9982. { oid => '4231', descr => 'I/O',
  9983. proname => 'multirange_in', provolatile => 's', prorettype => 'anymultirange',
  9984. proargtypes => 'cstring oid int4', prosrc => 'multirange_in' },
  9985. { oid => '4232', descr => 'I/O',
  9986. proname => 'multirange_out', provolatile => 's', prorettype => 'cstring',
  9987. proargtypes => 'anymultirange', prosrc => 'multirange_out' },
  9988. { oid => '4233', descr => 'I/O',
  9989. proname => 'multirange_recv', provolatile => 's',
  9990. prorettype => 'anymultirange', proargtypes => 'internal oid int4',
  9991. prosrc => 'multirange_recv' },
  9992. { oid => '4234', descr => 'I/O',
  9993. proname => 'multirange_send', provolatile => 's', prorettype => 'bytea',
  9994. proargtypes => 'anymultirange', prosrc => 'multirange_send' },
  9995. { oid => '4235', descr => 'lower bound of multirange',
  9996. proname => 'lower', prorettype => 'anyelement',
  9997. proargtypes => 'anymultirange', prosrc => 'multirange_lower' },
  9998. { oid => '4236', descr => 'upper bound of multirange',
  9999. proname => 'upper', prorettype => 'anyelement',
  10000. proargtypes => 'anymultirange', prosrc => 'multirange_upper' },
  10001. { oid => '4237', descr => 'is the multirange empty?',
  10002. proname => 'isempty', prorettype => 'bool', proargtypes => 'anymultirange',
  10003. prosrc => 'multirange_empty' },
  10004. { oid => '4238', descr => 'is the multirange\'s lower bound inclusive?',
  10005. proname => 'lower_inc', prorettype => 'bool', proargtypes => 'anymultirange',
  10006. prosrc => 'multirange_lower_inc' },
  10007. { oid => '4239', descr => 'is the multirange\'s upper bound inclusive?',
  10008. proname => 'upper_inc', prorettype => 'bool', proargtypes => 'anymultirange',
  10009. prosrc => 'multirange_upper_inc' },
  10010. { oid => '4240', descr => 'is the multirange\'s lower bound infinite?',
  10011. proname => 'lower_inf', prorettype => 'bool', proargtypes => 'anymultirange',
  10012. prosrc => 'multirange_lower_inf' },
  10013. { oid => '4241', descr => 'is the multirange\'s upper bound infinite?',
  10014. proname => 'upper_inf', prorettype => 'bool', proargtypes => 'anymultirange',
  10015. prosrc => 'multirange_upper_inf' },
  10016. { oid => '4242', descr => 'multirange typanalyze',
  10017. proname => 'multirange_typanalyze', provolatile => 's', prorettype => 'bool',
  10018. proargtypes => 'internal', prosrc => 'multirange_typanalyze' },
  10019. { oid => '4243', descr => 'restriction selectivity for multirange operators',
  10020. proname => 'multirangesel', provolatile => 's', prorettype => 'float8',
  10021. proargtypes => 'internal oid internal int4', prosrc => 'multirangesel' },
  10022. { oid => '4244',
  10023. proname => 'multirange_eq', prorettype => 'bool',
  10024. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_eq' },
  10025. { oid => '4245',
  10026. proname => 'multirange_ne', prorettype => 'bool',
  10027. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_ne' },
  10028. { oid => '4246',
  10029. proname => 'range_overlaps_multirange', prorettype => 'bool',
  10030. proargtypes => 'anyrange anymultirange',
  10031. prosrc => 'range_overlaps_multirange' },
  10032. { oid => '4247',
  10033. proname => 'multirange_overlaps_range', prorettype => 'bool',
  10034. proargtypes => 'anymultirange anyrange',
  10035. prosrc => 'multirange_overlaps_range' },
  10036. { oid => '4248',
  10037. proname => 'multirange_overlaps_multirange', prorettype => 'bool',
  10038. proargtypes => 'anymultirange anymultirange',
  10039. prosrc => 'multirange_overlaps_multirange' },
  10040. { oid => '4249',
  10041. proname => 'multirange_contains_elem', prorettype => 'bool',
  10042. proargtypes => 'anymultirange anyelement',
  10043. prosrc => 'multirange_contains_elem' },
  10044. { oid => '4250',
  10045. proname => 'multirange_contains_range', prorettype => 'bool',
  10046. proargtypes => 'anymultirange anyrange',
  10047. prosrc => 'multirange_contains_range' },
  10048. { oid => '4251',
  10049. proname => 'multirange_contains_multirange', prorettype => 'bool',
  10050. proargtypes => 'anymultirange anymultirange',
  10051. prosrc => 'multirange_contains_multirange' },
  10052. { oid => '4252',
  10053. proname => 'elem_contained_by_multirange', prorettype => 'bool',
  10054. proargtypes => 'anyelement anymultirange',
  10055. prosrc => 'elem_contained_by_multirange' },
  10056. { oid => '4253',
  10057. proname => 'range_contained_by_multirange', prorettype => 'bool',
  10058. proargtypes => 'anyrange anymultirange',
  10059. prosrc => 'range_contained_by_multirange' },
  10060. { oid => '4541',
  10061. proname => 'range_contains_multirange', prorettype => 'bool',
  10062. proargtypes => 'anyrange anymultirange',
  10063. prosrc => 'range_contains_multirange' },
  10064. { oid => '4542',
  10065. proname => 'multirange_contained_by_range', prorettype => 'bool',
  10066. proargtypes => 'anymultirange anyrange',
  10067. prosrc => 'multirange_contained_by_range' },
  10068. { oid => '4254',
  10069. proname => 'multirange_contained_by_multirange', prorettype => 'bool',
  10070. proargtypes => 'anymultirange anymultirange',
  10071. prosrc => 'multirange_contained_by_multirange' },
  10072. { oid => '4255',
  10073. proname => 'range_adjacent_multirange', prorettype => 'bool',
  10074. proargtypes => 'anyrange anymultirange',
  10075. prosrc => 'range_adjacent_multirange' },
  10076. { oid => '4256',
  10077. proname => 'multirange_adjacent_multirange', prorettype => 'bool',
  10078. proargtypes => 'anymultirange anymultirange',
  10079. prosrc => 'multirange_adjacent_multirange' },
  10080. { oid => '4257',
  10081. proname => 'multirange_adjacent_range', prorettype => 'bool',
  10082. proargtypes => 'anymultirange anyrange',
  10083. prosrc => 'multirange_adjacent_range' },
  10084. { oid => '4258',
  10085. proname => 'range_before_multirange', prorettype => 'bool',
  10086. proargtypes => 'anyrange anymultirange',
  10087. prosrc => 'range_before_multirange' },
  10088. { oid => '4259',
  10089. proname => 'multirange_before_range', prorettype => 'bool',
  10090. proargtypes => 'anymultirange anyrange',
  10091. prosrc => 'multirange_before_range' },
  10092. { oid => '4260',
  10093. proname => 'multirange_before_multirange', prorettype => 'bool',
  10094. proargtypes => 'anymultirange anymultirange',
  10095. prosrc => 'multirange_before_multirange' },
  10096. { oid => '4261',
  10097. proname => 'range_after_multirange', prorettype => 'bool',
  10098. proargtypes => 'anyrange anymultirange', prosrc => 'range_after_multirange' },
  10099. { oid => '4262',
  10100. proname => 'multirange_after_range', prorettype => 'bool',
  10101. proargtypes => 'anymultirange anyrange', prosrc => 'multirange_after_range' },
  10102. { oid => '4263',
  10103. proname => 'multirange_after_multirange', prorettype => 'bool',
  10104. proargtypes => 'anymultirange anymultirange',
  10105. prosrc => 'multirange_after_multirange' },
  10106. { oid => '4264',
  10107. proname => 'range_overleft_multirange', prorettype => 'bool',
  10108. proargtypes => 'anyrange anymultirange',
  10109. prosrc => 'range_overleft_multirange' },
  10110. { oid => '4265',
  10111. proname => 'multirange_overleft_range', prorettype => 'bool',
  10112. proargtypes => 'anymultirange anyrange',
  10113. prosrc => 'multirange_overleft_range' },
  10114. { oid => '4266',
  10115. proname => 'multirange_overleft_multirange', prorettype => 'bool',
  10116. proargtypes => 'anymultirange anymultirange',
  10117. prosrc => 'multirange_overleft_multirange' },
  10118. { oid => '4267',
  10119. proname => 'range_overright_multirange', prorettype => 'bool',
  10120. proargtypes => 'anyrange anymultirange',
  10121. prosrc => 'range_overright_multirange' },
  10122. { oid => '4268',
  10123. proname => 'multirange_overright_range', prorettype => 'bool',
  10124. proargtypes => 'anymultirange anyrange',
  10125. prosrc => 'multirange_overright_range' },
  10126. { oid => '4269',
  10127. proname => 'multirange_overright_multirange', prorettype => 'bool',
  10128. proargtypes => 'anymultirange anymultirange',
  10129. prosrc => 'multirange_overright_multirange' },
  10130. { oid => '4270',
  10131. proname => 'multirange_union', prorettype => 'anymultirange',
  10132. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_union' },
  10133. { oid => '4271',
  10134. proname => 'multirange_minus', prorettype => 'anymultirange',
  10135. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_minus' },
  10136. { oid => '4272',
  10137. proname => 'multirange_intersect', prorettype => 'anymultirange',
  10138. proargtypes => 'anymultirange anymultirange',
  10139. prosrc => 'multirange_intersect' },
  10140. { oid => '4273', descr => 'less-equal-greater',
  10141. proname => 'multirange_cmp', prorettype => 'int4',
  10142. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_cmp' },
  10143. { oid => '4274',
  10144. proname => 'multirange_lt', prorettype => 'bool',
  10145. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_lt' },
  10146. { oid => '4275',
  10147. proname => 'multirange_le', prorettype => 'bool',
  10148. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_le' },
  10149. { oid => '4276',
  10150. proname => 'multirange_ge', prorettype => 'bool',
  10151. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_ge' },
  10152. { oid => '4277',
  10153. proname => 'multirange_gt', prorettype => 'bool',
  10154. proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_gt' },
  10155. { oid => '4278', descr => 'hash a multirange',
  10156. proname => 'hash_multirange', prorettype => 'int4',
  10157. proargtypes => 'anymultirange', prosrc => 'hash_multirange' },
  10158. { oid => '4279', descr => 'hash a multirange',
  10159. proname => 'hash_multirange_extended', prorettype => 'int8',
  10160. proargtypes => 'anymultirange int8', prosrc => 'hash_multirange_extended' },
  10161. { oid => '4280', descr => 'int4multirange constructor',
  10162. proname => 'int4multirange', prorettype => 'int4multirange',
  10163. proargtypes => '', prosrc => 'multirange_constructor0' },
  10164. { oid => '4281', descr => 'int4multirange constructor',
  10165. proname => 'int4multirange', prorettype => 'int4multirange',
  10166. proargtypes => 'int4range', prosrc => 'multirange_constructor1' },
  10167. { oid => '4282', descr => 'int4multirange constructor',
  10168. proname => 'int4multirange', provariadic => 'int4range',
  10169. prorettype => 'int4multirange', proargtypes => '_int4range',
  10170. proallargtypes => '{_int4range}', proargmodes => '{v}',
  10171. prosrc => 'multirange_constructor2' },
  10172. { oid => '4283', descr => 'nummultirange constructor',
  10173. proname => 'nummultirange', prorettype => 'nummultirange', proargtypes => '',
  10174. prosrc => 'multirange_constructor0' },
  10175. { oid => '4284', descr => 'nummultirange constructor',
  10176. proname => 'nummultirange', prorettype => 'nummultirange',
  10177. proargtypes => 'numrange', prosrc => 'multirange_constructor1' },
  10178. { oid => '4285', descr => 'nummultirange constructor',
  10179. proname => 'nummultirange', provariadic => 'numrange',
  10180. prorettype => 'nummultirange', proargtypes => '_numrange',
  10181. proallargtypes => '{_numrange}', proargmodes => '{v}',
  10182. prosrc => 'multirange_constructor2' },
  10183. { oid => '4286', descr => 'tsmultirange constructor',
  10184. proname => 'tsmultirange', prorettype => 'tsmultirange', proargtypes => '',
  10185. prosrc => 'multirange_constructor0' },
  10186. { oid => '4287', descr => 'tsmultirange constructor',
  10187. proname => 'tsmultirange', prorettype => 'tsmultirange',
  10188. proargtypes => 'tsrange', prosrc => 'multirange_constructor1' },
  10189. { oid => '4288', descr => 'tsmultirange constructor',
  10190. proname => 'tsmultirange', provariadic => 'tsrange',
  10191. prorettype => 'tsmultirange', proargtypes => '_tsrange',
  10192. proallargtypes => '{_tsrange}', proargmodes => '{v}',
  10193. prosrc => 'multirange_constructor2' },
  10194. { oid => '4289', descr => 'tstzmultirange constructor',
  10195. proname => 'tstzmultirange', prorettype => 'tstzmultirange',
  10196. proargtypes => '', prosrc => 'multirange_constructor0' },
  10197. { oid => '4290', descr => 'tstzmultirange constructor',
  10198. proname => 'tstzmultirange', prorettype => 'tstzmultirange',
  10199. proargtypes => 'tstzrange', prosrc => 'multirange_constructor1' },
  10200. { oid => '4291', descr => 'tstzmultirange constructor',
  10201. proname => 'tstzmultirange', provariadic => 'tstzrange',
  10202. prorettype => 'tstzmultirange', proargtypes => '_tstzrange',
  10203. proallargtypes => '{_tstzrange}', proargmodes => '{v}',
  10204. prosrc => 'multirange_constructor2' },
  10205. { oid => '4292', descr => 'datemultirange constructor',
  10206. proname => 'datemultirange', prorettype => 'datemultirange',
  10207. proargtypes => '', prosrc => 'multirange_constructor0' },
  10208. { oid => '4293', descr => 'datemultirange constructor',
  10209. proname => 'datemultirange', prorettype => 'datemultirange',
  10210. proargtypes => 'daterange', prosrc => 'multirange_constructor1' },
  10211. { oid => '4294', descr => 'datemultirange constructor',
  10212. proname => 'datemultirange', provariadic => 'daterange',
  10213. prorettype => 'datemultirange', proargtypes => '_daterange',
  10214. proallargtypes => '{_daterange}', proargmodes => '{v}',
  10215. prosrc => 'multirange_constructor2' },
  10216. { oid => '4295', descr => 'int8multirange constructor',
  10217. proname => 'int8multirange', prorettype => 'int8multirange',
  10218. proargtypes => '', prosrc => 'multirange_constructor0' },
  10219. { oid => '4296', descr => 'int8multirange constructor',
  10220. proname => 'int8multirange', prorettype => 'int8multirange',
  10221. proargtypes => 'int8range', prosrc => 'multirange_constructor1' },
  10222. { oid => '4297', descr => 'int8multirange constructor',
  10223. proname => 'int8multirange', provariadic => 'int8range',
  10224. prorettype => 'int8multirange', proargtypes => '_int8range',
  10225. proallargtypes => '{_int8range}', proargmodes => '{v}',
  10226. prosrc => 'multirange_constructor2' },
  10227. { oid => '4298', descr => 'anymultirange cast',
  10228. proname => 'multirange', prorettype => 'anymultirange',
  10229. proargtypes => 'anyrange', prosrc => 'multirange_constructor1' },
  10230. { oid => '4299', descr => 'aggregate transition function',
  10231. proname => 'range_agg_transfn', proisstrict => 'f', prorettype => 'internal',
  10232. proargtypes => 'internal anyrange', prosrc => 'range_agg_transfn' },
  10233. { oid => '4300', descr => 'aggregate final function',
  10234. proname => 'range_agg_finalfn', proisstrict => 'f',
  10235. prorettype => 'anymultirange', proargtypes => 'internal anyrange',
  10236. prosrc => 'range_agg_finalfn' },
  10237. { oid => '4301', descr => 'combine aggregate input into a multirange',
  10238. proname => 'range_agg', prokind => 'a', proisstrict => 'f',
  10239. prorettype => 'anymultirange', proargtypes => 'anyrange',
  10240. prosrc => 'aggregate_dummy' },
  10241. { oid => '6225', descr => 'aggregate transition function',
  10242. proname => 'multirange_agg_transfn', proisstrict => 'f',
  10243. prorettype => 'internal', proargtypes => 'internal anymultirange',
  10244. prosrc => 'multirange_agg_transfn' },
  10245. { oid => '6226', descr => 'aggregate final function',
  10246. proname => 'multirange_agg_finalfn', proisstrict => 'f',
  10247. prorettype => 'anymultirange', proargtypes => 'internal anymultirange',
  10248. prosrc => 'range_agg_finalfn' },
  10249. { oid => '6227', descr => 'combine aggregate input into a multirange',
  10250. proname => 'range_agg', prokind => 'a', proisstrict => 'f',
  10251. prorettype => 'anymultirange', proargtypes => 'anymultirange',
  10252. prosrc => 'aggregate_dummy' },
  10253. { oid => '4388', descr => 'range aggregate by intersecting',
  10254. proname => 'multirange_intersect_agg_transfn', prorettype => 'anymultirange',
  10255. proargtypes => 'anymultirange anymultirange',
  10256. prosrc => 'multirange_intersect_agg_transfn' },
  10257. { oid => '4389', descr => 'range aggregate by intersecting',
  10258. proname => 'range_intersect_agg', prokind => 'a', proisstrict => 'f',
  10259. prorettype => 'anymultirange', proargtypes => 'anymultirange',
  10260. prosrc => 'aggregate_dummy' },
  10261. { oid => '1293', descr => 'expand multirange to set of ranges',
  10262. proname => 'unnest', prorows => '100', proretset => 't',
  10263. prorettype => 'anyrange', proargtypes => 'anymultirange',
  10264. prosrc => 'multirange_unnest' },
  10265. # date, time, timestamp constructors
  10266. { oid => '3846', descr => 'construct date',
  10267. proname => 'make_date', prorettype => 'date', proargtypes => 'int4 int4 int4',
  10268. proargnames => '{year,month,day}', prosrc => 'make_date' },
  10269. { oid => '3847', descr => 'construct time',
  10270. proname => 'make_time', prorettype => 'time',
  10271. proargtypes => 'int4 int4 float8', proargnames => '{hour,min,sec}',
  10272. prosrc => 'make_time' },
  10273. { oid => '3461', descr => 'construct timestamp',
  10274. proname => 'make_timestamp', prorettype => 'timestamp',
  10275. proargtypes => 'int4 int4 int4 int4 int4 float8',
  10276. proargnames => '{year,month,mday,hour,min,sec}', prosrc => 'make_timestamp' },
  10277. { oid => '3462', descr => 'construct timestamp with time zone',
  10278. proname => 'make_timestamptz', provolatile => 's',
  10279. prorettype => 'timestamptz', proargtypes => 'int4 int4 int4 int4 int4 float8',
  10280. proargnames => '{year,month,mday,hour,min,sec}',
  10281. prosrc => 'make_timestamptz' },
  10282. { oid => '3463', descr => 'construct timestamp with time zone',
  10283. proname => 'make_timestamptz', provolatile => 's',
  10284. prorettype => 'timestamptz',
  10285. proargtypes => 'int4 int4 int4 int4 int4 float8 text',
  10286. proargnames => '{year,month,mday,hour,min,sec,timezone}',
  10287. prosrc => 'make_timestamptz_at_timezone' },
  10288. { oid => '3464', descr => 'construct interval',
  10289. proname => 'make_interval', prorettype => 'interval',
  10290. proargtypes => 'int4 int4 int4 int4 int4 int4 float8',
  10291. proargnames => '{years,months,weeks,days,hours,mins,secs}',
  10292. prosrc => 'make_interval' },
  10293. # spgist opclasses
  10294. { oid => '4018', descr => 'SP-GiST support for quad tree over point',
  10295. proname => 'spg_quad_config', prorettype => 'void',
  10296. proargtypes => 'internal internal', prosrc => 'spg_quad_config' },
  10297. { oid => '4019', descr => 'SP-GiST support for quad tree over point',
  10298. proname => 'spg_quad_choose', prorettype => 'void',
  10299. proargtypes => 'internal internal', prosrc => 'spg_quad_choose' },
  10300. { oid => '4020', descr => 'SP-GiST support for quad tree over point',
  10301. proname => 'spg_quad_picksplit', prorettype => 'void',
  10302. proargtypes => 'internal internal', prosrc => 'spg_quad_picksplit' },
  10303. { oid => '4021', descr => 'SP-GiST support for quad tree over point',
  10304. proname => 'spg_quad_inner_consistent', prorettype => 'void',
  10305. proargtypes => 'internal internal', prosrc => 'spg_quad_inner_consistent' },
  10306. { oid => '4022',
  10307. descr => 'SP-GiST support for quad tree and k-d tree over point',
  10308. proname => 'spg_quad_leaf_consistent', prorettype => 'bool',
  10309. proargtypes => 'internal internal', prosrc => 'spg_quad_leaf_consistent' },
  10310. { oid => '4023', descr => 'SP-GiST support for k-d tree over point',
  10311. proname => 'spg_kd_config', prorettype => 'void',
  10312. proargtypes => 'internal internal', prosrc => 'spg_kd_config' },
  10313. { oid => '4024', descr => 'SP-GiST support for k-d tree over point',
  10314. proname => 'spg_kd_choose', prorettype => 'void',
  10315. proargtypes => 'internal internal', prosrc => 'spg_kd_choose' },
  10316. { oid => '4025', descr => 'SP-GiST support for k-d tree over point',
  10317. proname => 'spg_kd_picksplit', prorettype => 'void',
  10318. proargtypes => 'internal internal', prosrc => 'spg_kd_picksplit' },
  10319. { oid => '4026', descr => 'SP-GiST support for k-d tree over point',
  10320. proname => 'spg_kd_inner_consistent', prorettype => 'void',
  10321. proargtypes => 'internal internal', prosrc => 'spg_kd_inner_consistent' },
  10322. { oid => '4027', descr => 'SP-GiST support for radix tree over text',
  10323. proname => 'spg_text_config', prorettype => 'void',
  10324. proargtypes => 'internal internal', prosrc => 'spg_text_config' },
  10325. { oid => '4028', descr => 'SP-GiST support for radix tree over text',
  10326. proname => 'spg_text_choose', prorettype => 'void',
  10327. proargtypes => 'internal internal', prosrc => 'spg_text_choose' },
  10328. { oid => '4029', descr => 'SP-GiST support for radix tree over text',
  10329. proname => 'spg_text_picksplit', prorettype => 'void',
  10330. proargtypes => 'internal internal', prosrc => 'spg_text_picksplit' },
  10331. { oid => '4030', descr => 'SP-GiST support for radix tree over text',
  10332. proname => 'spg_text_inner_consistent', prorettype => 'void',
  10333. proargtypes => 'internal internal', prosrc => 'spg_text_inner_consistent' },
  10334. { oid => '4031', descr => 'SP-GiST support for radix tree over text',
  10335. proname => 'spg_text_leaf_consistent', prorettype => 'bool',
  10336. proargtypes => 'internal internal', prosrc => 'spg_text_leaf_consistent' },
  10337. { oid => '3469', descr => 'SP-GiST support for quad tree over range',
  10338. proname => 'spg_range_quad_config', prorettype => 'void',
  10339. proargtypes => 'internal internal', prosrc => 'spg_range_quad_config' },
  10340. { oid => '3470', descr => 'SP-GiST support for quad tree over range',
  10341. proname => 'spg_range_quad_choose', prorettype => 'void',
  10342. proargtypes => 'internal internal', prosrc => 'spg_range_quad_choose' },
  10343. { oid => '3471', descr => 'SP-GiST support for quad tree over range',
  10344. proname => 'spg_range_quad_picksplit', prorettype => 'void',
  10345. proargtypes => 'internal internal', prosrc => 'spg_range_quad_picksplit' },
  10346. { oid => '3472', descr => 'SP-GiST support for quad tree over range',
  10347. proname => 'spg_range_quad_inner_consistent', prorettype => 'void',
  10348. proargtypes => 'internal internal',
  10349. prosrc => 'spg_range_quad_inner_consistent' },
  10350. { oid => '3473', descr => 'SP-GiST support for quad tree over range',
  10351. proname => 'spg_range_quad_leaf_consistent', prorettype => 'bool',
  10352. proargtypes => 'internal internal',
  10353. prosrc => 'spg_range_quad_leaf_consistent' },
  10354. { oid => '5012', descr => 'SP-GiST support for quad tree over box',
  10355. proname => 'spg_box_quad_config', prorettype => 'void',
  10356. proargtypes => 'internal internal', prosrc => 'spg_box_quad_config' },
  10357. { oid => '5013', descr => 'SP-GiST support for quad tree over box',
  10358. proname => 'spg_box_quad_choose', prorettype => 'void',
  10359. proargtypes => 'internal internal', prosrc => 'spg_box_quad_choose' },
  10360. { oid => '5014', descr => 'SP-GiST support for quad tree over box',
  10361. proname => 'spg_box_quad_picksplit', prorettype => 'void',
  10362. proargtypes => 'internal internal', prosrc => 'spg_box_quad_picksplit' },
  10363. { oid => '5015', descr => 'SP-GiST support for quad tree over box',
  10364. proname => 'spg_box_quad_inner_consistent', prorettype => 'void',
  10365. proargtypes => 'internal internal',
  10366. prosrc => 'spg_box_quad_inner_consistent' },
  10367. { oid => '5016', descr => 'SP-GiST support for quad tree over box',
  10368. proname => 'spg_box_quad_leaf_consistent', prorettype => 'bool',
  10369. proargtypes => 'internal internal',
  10370. prosrc => 'spg_box_quad_leaf_consistent' },
  10371. { oid => '5010',
  10372. descr => 'SP-GiST support for quad tree over 2-D types represented by their bounding boxes',
  10373. proname => 'spg_bbox_quad_config', prorettype => 'void',
  10374. proargtypes => 'internal internal', prosrc => 'spg_bbox_quad_config' },
  10375. { oid => '5011', descr => 'SP-GiST support for quad tree over polygons',
  10376. proname => 'spg_poly_quad_compress', prorettype => 'box',
  10377. proargtypes => 'polygon', prosrc => 'spg_poly_quad_compress' },
  10378. # replication slots
  10379. { oid => '3779', descr => 'create a physical replication slot',
  10380. proname => 'pg_create_physical_replication_slot', provolatile => 'v',
  10381. proparallel => 'u', prorettype => 'record', proargtypes => 'name bool bool',
  10382. proallargtypes => '{name,bool,bool,name,pg_lsn}',
  10383. proargmodes => '{i,i,i,o,o}',
  10384. proargnames => '{slot_name,immediately_reserve,temporary,slot_name,lsn}',
  10385. prosrc => 'pg_create_physical_replication_slot' },
  10386. { oid => '4220',
  10387. descr => 'copy a physical replication slot, changing temporality',
  10388. proname => 'pg_copy_physical_replication_slot', provolatile => 'v',
  10389. proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool',
  10390. proallargtypes => '{name,name,bool,name,pg_lsn}',
  10391. proargmodes => '{i,i,i,o,o}',
  10392. proargnames => '{src_slot_name,dst_slot_name,temporary,slot_name,lsn}',
  10393. prosrc => 'pg_copy_physical_replication_slot_a' },
  10394. { oid => '4221', descr => 'copy a physical replication slot',
  10395. proname => 'pg_copy_physical_replication_slot', provolatile => 'v',
  10396. proparallel => 'u', prorettype => 'record', proargtypes => 'name name',
  10397. proallargtypes => '{name,name,name,pg_lsn}', proargmodes => '{i,i,o,o}',
  10398. proargnames => '{src_slot_name,dst_slot_name,slot_name,lsn}',
  10399. prosrc => 'pg_copy_physical_replication_slot_b' },
  10400. { oid => '3780', descr => 'drop a replication slot',
  10401. proname => 'pg_drop_replication_slot', provolatile => 'v', proparallel => 'u',
  10402. prorettype => 'void', proargtypes => 'name',
  10403. prosrc => 'pg_drop_replication_slot' },
  10404. { oid => '3781',
  10405. descr => 'information about replication slots currently in use',
  10406. proname => 'pg_get_replication_slots', prorows => '10', proisstrict => 'f',
  10407. proretset => 't', provolatile => 's', prorettype => 'record',
  10408. proargtypes => '',
  10409. proallargtypes => '{name,name,text,oid,bool,bool,int4,xid,xid,pg_lsn,pg_lsn,text,int8,bool}',
  10410. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  10411. proargnames => '{slot_name,plugin,slot_type,datoid,temporary,active,active_pid,xmin,catalog_xmin,restart_lsn,confirmed_flush_lsn,wal_status,safe_wal_size,two_phase}',
  10412. prosrc => 'pg_get_replication_slots' },
  10413. { oid => '3786', descr => 'set up a logical replication slot',
  10414. proname => 'pg_create_logical_replication_slot', provolatile => 'v',
  10415. proparallel => 'u', prorettype => 'record',
  10416. proargtypes => 'name name bool bool',
  10417. proallargtypes => '{name,name,bool,bool,name,pg_lsn}',
  10418. proargmodes => '{i,i,i,i,o,o}',
  10419. proargnames => '{slot_name,plugin,temporary,twophase,slot_name,lsn}',
  10420. prosrc => 'pg_create_logical_replication_slot' },
  10421. { oid => '4222',
  10422. descr => 'copy a logical replication slot, changing temporality and plugin',
  10423. proname => 'pg_copy_logical_replication_slot', provolatile => 'v',
  10424. proparallel => 'u', prorettype => 'record',
  10425. proargtypes => 'name name bool name',
  10426. proallargtypes => '{name,name,bool,name,name,pg_lsn}',
  10427. proargmodes => '{i,i,i,i,o,o}',
  10428. proargnames => '{src_slot_name,dst_slot_name,temporary,plugin,slot_name,lsn}',
  10429. prosrc => 'pg_copy_logical_replication_slot_a' },
  10430. { oid => '4223',
  10431. descr => 'copy a logical replication slot, changing temporality',
  10432. proname => 'pg_copy_logical_replication_slot', provolatile => 'v',
  10433. proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool',
  10434. proallargtypes => '{name,name,bool,name,pg_lsn}',
  10435. proargmodes => '{i,i,i,o,o}',
  10436. proargnames => '{src_slot_name,dst_slot_name,temporary,slot_name,lsn}',
  10437. prosrc => 'pg_copy_logical_replication_slot_b' },
  10438. { oid => '4224', descr => 'copy a logical replication slot',
  10439. proname => 'pg_copy_logical_replication_slot', provolatile => 'v',
  10440. proparallel => 'u', prorettype => 'record', proargtypes => 'name name',
  10441. proallargtypes => '{name,name,name,pg_lsn}', proargmodes => '{i,i,o,o}',
  10442. proargnames => '{src_slot_name,dst_slot_name,slot_name,lsn}',
  10443. prosrc => 'pg_copy_logical_replication_slot_c' },
  10444. { oid => '3782', descr => 'get changes from replication slot',
  10445. proname => 'pg_logical_slot_get_changes', procost => '1000',
  10446. prorows => '1000', provariadic => 'text', proisstrict => 'f',
  10447. proretset => 't', provolatile => 'v', proparallel => 'u',
  10448. prorettype => 'record', proargtypes => 'name pg_lsn int4 _text',
  10449. proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,text}',
  10450. proargmodes => '{i,i,i,v,o,o,o}',
  10451. proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}',
  10452. prosrc => 'pg_logical_slot_get_changes' },
  10453. { oid => '3783', descr => 'get binary changes from replication slot',
  10454. proname => 'pg_logical_slot_get_binary_changes', procost => '1000',
  10455. prorows => '1000', provariadic => 'text', proisstrict => 'f',
  10456. proretset => 't', provolatile => 'v', proparallel => 'u',
  10457. prorettype => 'record', proargtypes => 'name pg_lsn int4 _text',
  10458. proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}',
  10459. proargmodes => '{i,i,i,v,o,o,o}',
  10460. proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}',
  10461. prosrc => 'pg_logical_slot_get_binary_changes' },
  10462. { oid => '3784', descr => 'peek at changes from replication slot',
  10463. proname => 'pg_logical_slot_peek_changes', procost => '1000',
  10464. prorows => '1000', provariadic => 'text', proisstrict => 'f',
  10465. proretset => 't', provolatile => 'v', proparallel => 'u',
  10466. prorettype => 'record', proargtypes => 'name pg_lsn int4 _text',
  10467. proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,text}',
  10468. proargmodes => '{i,i,i,v,o,o,o}',
  10469. proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}',
  10470. prosrc => 'pg_logical_slot_peek_changes' },
  10471. { oid => '3785', descr => 'peek at binary changes from replication slot',
  10472. proname => 'pg_logical_slot_peek_binary_changes', procost => '1000',
  10473. prorows => '1000', provariadic => 'text', proisstrict => 'f',
  10474. proretset => 't', provolatile => 'v', proparallel => 'u',
  10475. prorettype => 'record', proargtypes => 'name pg_lsn int4 _text',
  10476. proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}',
  10477. proargmodes => '{i,i,i,v,o,o,o}',
  10478. proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}',
  10479. prosrc => 'pg_logical_slot_peek_binary_changes' },
  10480. { oid => '3878', descr => 'advance logical replication slot',
  10481. proname => 'pg_replication_slot_advance', provolatile => 'v',
  10482. proparallel => 'u', prorettype => 'record', proargtypes => 'name pg_lsn',
  10483. proallargtypes => '{name,pg_lsn,name,pg_lsn}', proargmodes => '{i,i,o,o}',
  10484. proargnames => '{slot_name,upto_lsn,slot_name,end_lsn}',
  10485. prosrc => 'pg_replication_slot_advance' },
  10486. { oid => '3577', descr => 'emit a textual logical decoding message',
  10487. proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u',
  10488. prorettype => 'pg_lsn', proargtypes => 'bool text text',
  10489. prosrc => 'pg_logical_emit_message_text' },
  10490. { oid => '3578', descr => 'emit a binary logical decoding message',
  10491. proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u',
  10492. prorettype => 'pg_lsn', proargtypes => 'bool text bytea',
  10493. prosrc => 'pg_logical_emit_message_bytea' },
  10494. # event triggers
  10495. { oid => '3566', descr => 'list objects dropped by the current command',
  10496. proname => 'pg_event_trigger_dropped_objects', procost => '10',
  10497. prorows => '100', proretset => 't', provolatile => 's', proparallel => 'r',
  10498. prorettype => 'record', proargtypes => '',
  10499. proallargtypes => '{oid,oid,int4,bool,bool,bool,text,text,text,text,_text,_text}',
  10500. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}',
  10501. proargnames => '{classid, objid, objsubid, original, normal, is_temporary, object_type, schema_name, object_name, object_identity, address_names, address_args}',
  10502. prosrc => 'pg_event_trigger_dropped_objects' },
  10503. { oid => '4566', descr => 'return Oid of the table getting rewritten',
  10504. proname => 'pg_event_trigger_table_rewrite_oid', provolatile => 's',
  10505. proparallel => 'r', prorettype => 'oid', proargtypes => '',
  10506. proallargtypes => '{oid}', proargmodes => '{o}', proargnames => '{oid}',
  10507. prosrc => 'pg_event_trigger_table_rewrite_oid' },
  10508. { oid => '4567', descr => 'return reason code for table getting rewritten',
  10509. proname => 'pg_event_trigger_table_rewrite_reason', provolatile => 's',
  10510. proparallel => 'r', prorettype => 'int4', proargtypes => '',
  10511. prosrc => 'pg_event_trigger_table_rewrite_reason' },
  10512. { oid => '4568',
  10513. descr => 'list DDL actions being executed by the current command',
  10514. proname => 'pg_event_trigger_ddl_commands', procost => '10', prorows => '100',
  10515. proretset => 't', provolatile => 's', proparallel => 'r',
  10516. prorettype => 'record', proargtypes => '',
  10517. proallargtypes => '{oid,oid,int4,text,text,text,text,bool,pg_ddl_command}',
  10518. proargmodes => '{o,o,o,o,o,o,o,o,o}',
  10519. proargnames => '{classid, objid, objsubid, command_tag, object_type, schema_name, object_identity, in_extension, command}',
  10520. prosrc => 'pg_event_trigger_ddl_commands' },
  10521. # generic transition functions for ordered-set aggregates
  10522. { oid => '3970', descr => 'aggregate transition function',
  10523. proname => 'ordered_set_transition', proisstrict => 'f',
  10524. prorettype => 'internal', proargtypes => 'internal any',
  10525. prosrc => 'ordered_set_transition' },
  10526. { oid => '3971', descr => 'aggregate transition function',
  10527. proname => 'ordered_set_transition_multi', provariadic => 'any',
  10528. proisstrict => 'f', prorettype => 'internal', proargtypes => 'internal any',
  10529. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10530. prosrc => 'ordered_set_transition_multi' },
  10531. # inverse distribution aggregates (and their support functions)
  10532. { oid => '3972', descr => 'discrete percentile',
  10533. proname => 'percentile_disc', prokind => 'a', proisstrict => 'f',
  10534. prorettype => 'anyelement', proargtypes => 'float8 anyelement',
  10535. prosrc => 'aggregate_dummy' },
  10536. { oid => '3973', descr => 'aggregate final function',
  10537. proname => 'percentile_disc_final', proisstrict => 'f',
  10538. prorettype => 'anyelement', proargtypes => 'internal float8 anyelement',
  10539. prosrc => 'percentile_disc_final' },
  10540. { oid => '3974', descr => 'continuous distribution percentile',
  10541. proname => 'percentile_cont', prokind => 'a', proisstrict => 'f',
  10542. prorettype => 'float8', proargtypes => 'float8 float8',
  10543. prosrc => 'aggregate_dummy' },
  10544. { oid => '3975', descr => 'aggregate final function',
  10545. proname => 'percentile_cont_float8_final', proisstrict => 'f',
  10546. prorettype => 'float8', proargtypes => 'internal float8',
  10547. prosrc => 'percentile_cont_float8_final' },
  10548. { oid => '3976', descr => 'continuous distribution percentile',
  10549. proname => 'percentile_cont', prokind => 'a', proisstrict => 'f',
  10550. prorettype => 'interval', proargtypes => 'float8 interval',
  10551. prosrc => 'aggregate_dummy' },
  10552. { oid => '3977', descr => 'aggregate final function',
  10553. proname => 'percentile_cont_interval_final', proisstrict => 'f',
  10554. prorettype => 'interval', proargtypes => 'internal float8',
  10555. prosrc => 'percentile_cont_interval_final' },
  10556. { oid => '3978', descr => 'multiple discrete percentiles',
  10557. proname => 'percentile_disc', prokind => 'a', proisstrict => 'f',
  10558. prorettype => 'anyarray', proargtypes => '_float8 anyelement',
  10559. prosrc => 'aggregate_dummy' },
  10560. { oid => '3979', descr => 'aggregate final function',
  10561. proname => 'percentile_disc_multi_final', proisstrict => 'f',
  10562. prorettype => 'anyarray', proargtypes => 'internal _float8 anyelement',
  10563. prosrc => 'percentile_disc_multi_final' },
  10564. { oid => '3980', descr => 'multiple continuous percentiles',
  10565. proname => 'percentile_cont', prokind => 'a', proisstrict => 'f',
  10566. prorettype => '_float8', proargtypes => '_float8 float8',
  10567. prosrc => 'aggregate_dummy' },
  10568. { oid => '3981', descr => 'aggregate final function',
  10569. proname => 'percentile_cont_float8_multi_final', proisstrict => 'f',
  10570. prorettype => '_float8', proargtypes => 'internal _float8',
  10571. prosrc => 'percentile_cont_float8_multi_final' },
  10572. { oid => '3982', descr => 'multiple continuous percentiles',
  10573. proname => 'percentile_cont', prokind => 'a', proisstrict => 'f',
  10574. prorettype => '_interval', proargtypes => '_float8 interval',
  10575. prosrc => 'aggregate_dummy' },
  10576. { oid => '3983', descr => 'aggregate final function',
  10577. proname => 'percentile_cont_interval_multi_final', proisstrict => 'f',
  10578. prorettype => '_interval', proargtypes => 'internal _float8',
  10579. prosrc => 'percentile_cont_interval_multi_final' },
  10580. { oid => '3984', descr => 'most common value',
  10581. proname => 'mode', prokind => 'a', proisstrict => 'f',
  10582. prorettype => 'anyelement', proargtypes => 'anyelement',
  10583. prosrc => 'aggregate_dummy' },
  10584. { oid => '3985', descr => 'aggregate final function',
  10585. proname => 'mode_final', proisstrict => 'f', prorettype => 'anyelement',
  10586. proargtypes => 'internal anyelement', prosrc => 'mode_final' },
  10587. # hypothetical-set aggregates (and their support functions)
  10588. { oid => '3986', descr => 'rank of hypothetical row',
  10589. proname => 'rank', provariadic => 'any', prokind => 'a', proisstrict => 'f',
  10590. prorettype => 'int8', proargtypes => 'any', proallargtypes => '{any}',
  10591. proargmodes => '{v}', prosrc => 'aggregate_dummy' },
  10592. { oid => '3987', descr => 'aggregate final function',
  10593. proname => 'rank_final', provariadic => 'any', proisstrict => 'f',
  10594. prorettype => 'int8', proargtypes => 'internal any',
  10595. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10596. prosrc => 'hypothetical_rank_final' },
  10597. { oid => '3988', descr => 'fractional rank of hypothetical row',
  10598. proname => 'percent_rank', provariadic => 'any', prokind => 'a',
  10599. proisstrict => 'f', prorettype => 'float8', proargtypes => 'any',
  10600. proallargtypes => '{any}', proargmodes => '{v}',
  10601. prosrc => 'aggregate_dummy' },
  10602. { oid => '3989', descr => 'aggregate final function',
  10603. proname => 'percent_rank_final', provariadic => 'any', proisstrict => 'f',
  10604. prorettype => 'float8', proargtypes => 'internal any',
  10605. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10606. prosrc => 'hypothetical_percent_rank_final' },
  10607. { oid => '3990', descr => 'cumulative distribution of hypothetical row',
  10608. proname => 'cume_dist', provariadic => 'any', prokind => 'a',
  10609. proisstrict => 'f', prorettype => 'float8', proargtypes => 'any',
  10610. proallargtypes => '{any}', proargmodes => '{v}',
  10611. prosrc => 'aggregate_dummy' },
  10612. { oid => '3991', descr => 'aggregate final function',
  10613. proname => 'cume_dist_final', provariadic => 'any', proisstrict => 'f',
  10614. prorettype => 'float8', proargtypes => 'internal any',
  10615. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10616. prosrc => 'hypothetical_cume_dist_final' },
  10617. { oid => '3992', descr => 'rank of hypothetical row without gaps',
  10618. proname => 'dense_rank', provariadic => 'any', prokind => 'a',
  10619. proisstrict => 'f', prorettype => 'int8', proargtypes => 'any',
  10620. proallargtypes => '{any}', proargmodes => '{v}',
  10621. prosrc => 'aggregate_dummy' },
  10622. { oid => '3993', descr => 'aggregate final function',
  10623. proname => 'dense_rank_final', provariadic => 'any', proisstrict => 'f',
  10624. prorettype => 'int8', proargtypes => 'internal any',
  10625. proallargtypes => '{internal,any}', proargmodes => '{i,v}',
  10626. prosrc => 'hypothetical_dense_rank_final' },
  10627. # pg_upgrade support
  10628. { oid => '3582', descr => 'for use by pg_upgrade',
  10629. proname => 'binary_upgrade_set_next_pg_type_oid', provolatile => 'v',
  10630. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10631. prosrc => 'binary_upgrade_set_next_pg_type_oid' },
  10632. { oid => '3584', descr => 'for use by pg_upgrade',
  10633. proname => 'binary_upgrade_set_next_array_pg_type_oid', provolatile => 'v',
  10634. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10635. prosrc => 'binary_upgrade_set_next_array_pg_type_oid' },
  10636. { oid => '4390', descr => 'for use by pg_upgrade',
  10637. proname => 'binary_upgrade_set_next_multirange_pg_type_oid',
  10638. provolatile => 'v', proparallel => 'r', prorettype => 'void',
  10639. proargtypes => 'oid',
  10640. prosrc => 'binary_upgrade_set_next_multirange_pg_type_oid' },
  10641. { oid => '4391', descr => 'for use by pg_upgrade',
  10642. proname => 'binary_upgrade_set_next_multirange_array_pg_type_oid',
  10643. provolatile => 'v', proparallel => 'r', prorettype => 'void',
  10644. proargtypes => 'oid',
  10645. prosrc => 'binary_upgrade_set_next_multirange_array_pg_type_oid' },
  10646. { oid => '3586', descr => 'for use by pg_upgrade',
  10647. proname => 'binary_upgrade_set_next_heap_pg_class_oid', provolatile => 'v',
  10648. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10649. prosrc => 'binary_upgrade_set_next_heap_pg_class_oid' },
  10650. { oid => '3587', descr => 'for use by pg_upgrade',
  10651. proname => 'binary_upgrade_set_next_index_pg_class_oid', provolatile => 'v',
  10652. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10653. prosrc => 'binary_upgrade_set_next_index_pg_class_oid' },
  10654. { oid => '3588', descr => 'for use by pg_upgrade',
  10655. proname => 'binary_upgrade_set_next_toast_pg_class_oid', provolatile => 'v',
  10656. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10657. prosrc => 'binary_upgrade_set_next_toast_pg_class_oid' },
  10658. { oid => '3589', descr => 'for use by pg_upgrade',
  10659. proname => 'binary_upgrade_set_next_pg_enum_oid', provolatile => 'v',
  10660. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10661. prosrc => 'binary_upgrade_set_next_pg_enum_oid' },
  10662. { oid => '3590', descr => 'for use by pg_upgrade',
  10663. proname => 'binary_upgrade_set_next_pg_authid_oid', provolatile => 'v',
  10664. proparallel => 'r', prorettype => 'void', proargtypes => 'oid',
  10665. prosrc => 'binary_upgrade_set_next_pg_authid_oid' },
  10666. { oid => '3591', descr => 'for use by pg_upgrade',
  10667. proname => 'binary_upgrade_create_empty_extension', proisstrict => 'f',
  10668. provolatile => 'v', proparallel => 'u', prorettype => 'void',
  10669. proargtypes => 'text text bool text _oid _text _text',
  10670. prosrc => 'binary_upgrade_create_empty_extension' },
  10671. { oid => '4083', descr => 'for use by pg_upgrade',
  10672. proname => 'binary_upgrade_set_record_init_privs', provolatile => 'v',
  10673. proparallel => 'r', prorettype => 'void', proargtypes => 'bool',
  10674. prosrc => 'binary_upgrade_set_record_init_privs' },
  10675. { oid => '4101', descr => 'for use by pg_upgrade',
  10676. proname => 'binary_upgrade_set_missing_value', provolatile => 'v',
  10677. proparallel => 'u', prorettype => 'void', proargtypes => 'oid text text',
  10678. prosrc => 'binary_upgrade_set_missing_value' },
  10679. { oid => '4545', descr => 'for use by pg_upgrade',
  10680. proname => 'binary_upgrade_set_next_heap_relfilenode', provolatile => 'v',
  10681. proparallel => 'u', prorettype => 'void', proargtypes => 'oid',
  10682. prosrc => 'binary_upgrade_set_next_heap_relfilenode' },
  10683. { oid => '4546', descr => 'for use by pg_upgrade',
  10684. proname => 'binary_upgrade_set_next_index_relfilenode', provolatile => 'v',
  10685. proparallel => 'u', prorettype => 'void', proargtypes => 'oid',
  10686. prosrc => 'binary_upgrade_set_next_index_relfilenode' },
  10687. { oid => '4547', descr => 'for use by pg_upgrade',
  10688. proname => 'binary_upgrade_set_next_toast_relfilenode', provolatile => 'v',
  10689. proparallel => 'u', prorettype => 'void', proargtypes => 'oid',
  10690. prosrc => 'binary_upgrade_set_next_toast_relfilenode' },
  10691. { oid => '4548', descr => 'for use by pg_upgrade',
  10692. proname => 'binary_upgrade_set_next_pg_tablespace_oid', provolatile => 'v',
  10693. proparallel => 'u', prorettype => 'void', proargtypes => 'oid',
  10694. prosrc => 'binary_upgrade_set_next_pg_tablespace_oid' },
  10695. # conversion functions
  10696. { oid => '4302',
  10697. descr => 'internal conversion function for KOI8R to MULE_INTERNAL',
  10698. proname => 'koi8r_to_mic', prolang => 'c', prorettype => 'int4',
  10699. proargtypes => 'int4 int4 cstring internal int4 bool',
  10700. prosrc => 'koi8r_to_mic', probin => '$libdir/cyrillic_and_mic' },
  10701. { oid => '4303',
  10702. descr => 'internal conversion function for MULE_INTERNAL to KOI8R',
  10703. proname => 'mic_to_koi8r', prolang => 'c', prorettype => 'int4',
  10704. proargtypes => 'int4 int4 cstring internal int4 bool',
  10705. prosrc => 'mic_to_koi8r', probin => '$libdir/cyrillic_and_mic' },
  10706. { oid => '4304',
  10707. descr => 'internal conversion function for ISO-8859-5 to MULE_INTERNAL',
  10708. proname => 'iso_to_mic', prolang => 'c', prorettype => 'int4',
  10709. proargtypes => 'int4 int4 cstring internal int4 bool', prosrc => 'iso_to_mic',
  10710. probin => '$libdir/cyrillic_and_mic' },
  10711. { oid => '4305',
  10712. descr => 'internal conversion function for MULE_INTERNAL to ISO-8859-5',
  10713. proname => 'mic_to_iso', prolang => 'c', prorettype => 'int4',
  10714. proargtypes => 'int4 int4 cstring internal int4 bool', prosrc => 'mic_to_iso',
  10715. probin => '$libdir/cyrillic_and_mic' },
  10716. { oid => '4306',
  10717. descr => 'internal conversion function for WIN1251 to MULE_INTERNAL',
  10718. proname => 'win1251_to_mic', prolang => 'c', prorettype => 'int4',
  10719. proargtypes => 'int4 int4 cstring internal int4 bool',
  10720. prosrc => 'win1251_to_mic', probin => '$libdir/cyrillic_and_mic' },
  10721. { oid => '4307',
  10722. descr => 'internal conversion function for MULE_INTERNAL to WIN1251',
  10723. proname => 'mic_to_win1251', prolang => 'c', prorettype => 'int4',
  10724. proargtypes => 'int4 int4 cstring internal int4 bool',
  10725. prosrc => 'mic_to_win1251', probin => '$libdir/cyrillic_and_mic' },
  10726. { oid => '4308',
  10727. descr => 'internal conversion function for WIN866 to MULE_INTERNAL',
  10728. proname => 'win866_to_mic', prolang => 'c', prorettype => 'int4',
  10729. proargtypes => 'int4 int4 cstring internal int4 bool',
  10730. prosrc => 'win866_to_mic', probin => '$libdir/cyrillic_and_mic' },
  10731. { oid => '4309',
  10732. descr => 'internal conversion function for MULE_INTERNAL to WIN866',
  10733. proname => 'mic_to_win866', prolang => 'c', prorettype => 'int4',
  10734. proargtypes => 'int4 int4 cstring internal int4 bool',
  10735. prosrc => 'mic_to_win866', probin => '$libdir/cyrillic_and_mic' },
  10736. { oid => '4310', descr => 'internal conversion function for KOI8R to WIN1251',
  10737. proname => 'koi8r_to_win1251', prolang => 'c', prorettype => 'int4',
  10738. proargtypes => 'int4 int4 cstring internal int4 bool',
  10739. prosrc => 'koi8r_to_win1251', probin => '$libdir/cyrillic_and_mic' },
  10740. { oid => '4311', descr => 'internal conversion function for WIN1251 to KOI8R',
  10741. proname => 'win1251_to_koi8r', prolang => 'c', prorettype => 'int4',
  10742. proargtypes => 'int4 int4 cstring internal int4 bool',
  10743. prosrc => 'win1251_to_koi8r', probin => '$libdir/cyrillic_and_mic' },
  10744. { oid => '4312', descr => 'internal conversion function for KOI8R to WIN866',
  10745. proname => 'koi8r_to_win866', prolang => 'c', prorettype => 'int4',
  10746. proargtypes => 'int4 int4 cstring internal int4 bool',
  10747. prosrc => 'koi8r_to_win866', probin => '$libdir/cyrillic_and_mic' },
  10748. { oid => '4313', descr => 'internal conversion function for WIN866 to KOI8R',
  10749. proname => 'win866_to_koi8r', prolang => 'c', prorettype => 'int4',
  10750. proargtypes => 'int4 int4 cstring internal int4 bool',
  10751. prosrc => 'win866_to_koi8r', probin => '$libdir/cyrillic_and_mic' },
  10752. { oid => '4314',
  10753. descr => 'internal conversion function for WIN866 to WIN1251',
  10754. proname => 'win866_to_win1251', prolang => 'c', prorettype => 'int4',
  10755. proargtypes => 'int4 int4 cstring internal int4 bool',
  10756. prosrc => 'win866_to_win1251', probin => '$libdir/cyrillic_and_mic' },
  10757. { oid => '4315',
  10758. descr => 'internal conversion function for WIN1251 to WIN866',
  10759. proname => 'win1251_to_win866', prolang => 'c', prorettype => 'int4',
  10760. proargtypes => 'int4 int4 cstring internal int4 bool',
  10761. prosrc => 'win1251_to_win866', probin => '$libdir/cyrillic_and_mic' },
  10762. { oid => '4316',
  10763. descr => 'internal conversion function for ISO-8859-5 to KOI8R',
  10764. proname => 'iso_to_koi8r', prolang => 'c', prorettype => 'int4',
  10765. proargtypes => 'int4 int4 cstring internal int4 bool',
  10766. prosrc => 'iso_to_koi8r', probin => '$libdir/cyrillic_and_mic' },
  10767. { oid => '4317',
  10768. descr => 'internal conversion function for KOI8R to ISO-8859-5',
  10769. proname => 'koi8r_to_iso', prolang => 'c', prorettype => 'int4',
  10770. proargtypes => 'int4 int4 cstring internal int4 bool',
  10771. prosrc => 'koi8r_to_iso', probin => '$libdir/cyrillic_and_mic' },
  10772. { oid => '4318',
  10773. descr => 'internal conversion function for ISO-8859-5 to WIN1251',
  10774. proname => 'iso_to_win1251', prolang => 'c', prorettype => 'int4',
  10775. proargtypes => 'int4 int4 cstring internal int4 bool',
  10776. prosrc => 'iso_to_win1251', probin => '$libdir/cyrillic_and_mic' },
  10777. { oid => '4319',
  10778. descr => 'internal conversion function for WIN1251 to ISO-8859-5',
  10779. proname => 'win1251_to_iso', prolang => 'c', prorettype => 'int4',
  10780. proargtypes => 'int4 int4 cstring internal int4 bool',
  10781. prosrc => 'win1251_to_iso', probin => '$libdir/cyrillic_and_mic' },
  10782. { oid => '4320',
  10783. descr => 'internal conversion function for ISO-8859-5 to WIN866',
  10784. proname => 'iso_to_win866', prolang => 'c', prorettype => 'int4',
  10785. proargtypes => 'int4 int4 cstring internal int4 bool',
  10786. prosrc => 'iso_to_win866', probin => '$libdir/cyrillic_and_mic' },
  10787. { oid => '4321',
  10788. descr => 'internal conversion function for WIN866 to ISO-8859-5',
  10789. proname => 'win866_to_iso', prolang => 'c', prorettype => 'int4',
  10790. proargtypes => 'int4 int4 cstring internal int4 bool',
  10791. prosrc => 'win866_to_iso', probin => '$libdir/cyrillic_and_mic' },
  10792. { oid => '4322',
  10793. descr => 'internal conversion function for EUC_CN to MULE_INTERNAL',
  10794. proname => 'euc_cn_to_mic', prolang => 'c', prorettype => 'int4',
  10795. proargtypes => 'int4 int4 cstring internal int4 bool',
  10796. prosrc => 'euc_cn_to_mic', probin => '$libdir/euc_cn_and_mic' },
  10797. { oid => '4323',
  10798. descr => 'internal conversion function for MULE_INTERNAL to EUC_CN',
  10799. proname => 'mic_to_euc_cn', prolang => 'c', prorettype => 'int4',
  10800. proargtypes => 'int4 int4 cstring internal int4 bool',
  10801. prosrc => 'mic_to_euc_cn', probin => '$libdir/euc_cn_and_mic' },
  10802. { oid => '4324', descr => 'internal conversion function for EUC_JP to SJIS',
  10803. proname => 'euc_jp_to_sjis', prolang => 'c', prorettype => 'int4',
  10804. proargtypes => 'int4 int4 cstring internal int4 bool',
  10805. prosrc => 'euc_jp_to_sjis', probin => '$libdir/euc_jp_and_sjis' },
  10806. { oid => '4325', descr => 'internal conversion function for SJIS to EUC_JP',
  10807. proname => 'sjis_to_euc_jp', prolang => 'c', prorettype => 'int4',
  10808. proargtypes => 'int4 int4 cstring internal int4 bool',
  10809. prosrc => 'sjis_to_euc_jp', probin => '$libdir/euc_jp_and_sjis' },
  10810. { oid => '4326',
  10811. descr => 'internal conversion function for EUC_JP to MULE_INTERNAL',
  10812. proname => 'euc_jp_to_mic', prolang => 'c', prorettype => 'int4',
  10813. proargtypes => 'int4 int4 cstring internal int4 bool',
  10814. prosrc => 'euc_jp_to_mic', probin => '$libdir/euc_jp_and_sjis' },
  10815. { oid => '4327',
  10816. descr => 'internal conversion function for SJIS to MULE_INTERNAL',
  10817. proname => 'sjis_to_mic', prolang => 'c', prorettype => 'int4',
  10818. proargtypes => 'int4 int4 cstring internal int4 bool',
  10819. prosrc => 'sjis_to_mic', probin => '$libdir/euc_jp_and_sjis' },
  10820. { oid => '4328',
  10821. descr => 'internal conversion function for MULE_INTERNAL to EUC_JP',
  10822. proname => 'mic_to_euc_jp', prolang => 'c', prorettype => 'int4',
  10823. proargtypes => 'int4 int4 cstring internal int4 bool',
  10824. prosrc => 'mic_to_euc_jp', probin => '$libdir/euc_jp_and_sjis' },
  10825. { oid => '4329',
  10826. descr => 'internal conversion function for MULE_INTERNAL to SJIS',
  10827. proname => 'mic_to_sjis', prolang => 'c', prorettype => 'int4',
  10828. proargtypes => 'int4 int4 cstring internal int4 bool',
  10829. prosrc => 'mic_to_sjis', probin => '$libdir/euc_jp_and_sjis' },
  10830. { oid => '4330',
  10831. descr => 'internal conversion function for EUC_KR to MULE_INTERNAL',
  10832. proname => 'euc_kr_to_mic', prolang => 'c', prorettype => 'int4',
  10833. proargtypes => 'int4 int4 cstring internal int4 bool',
  10834. prosrc => 'euc_kr_to_mic', probin => '$libdir/euc_kr_and_mic' },
  10835. { oid => '4331',
  10836. descr => 'internal conversion function for MULE_INTERNAL to EUC_KR',
  10837. proname => 'mic_to_euc_kr', prolang => 'c', prorettype => 'int4',
  10838. proargtypes => 'int4 int4 cstring internal int4 bool',
  10839. prosrc => 'mic_to_euc_kr', probin => '$libdir/euc_kr_and_mic' },
  10840. { oid => '4332', descr => 'internal conversion function for EUC_TW to BIG5',
  10841. proname => 'euc_tw_to_big5', prolang => 'c', prorettype => 'int4',
  10842. proargtypes => 'int4 int4 cstring internal int4 bool',
  10843. prosrc => 'euc_tw_to_big5', probin => '$libdir/euc_tw_and_big5' },
  10844. { oid => '4333', descr => 'internal conversion function for BIG5 to EUC_TW',
  10845. proname => 'big5_to_euc_tw', prolang => 'c', prorettype => 'int4',
  10846. proargtypes => 'int4 int4 cstring internal int4 bool',
  10847. prosrc => 'big5_to_euc_tw', probin => '$libdir/euc_tw_and_big5' },
  10848. { oid => '4334',
  10849. descr => 'internal conversion function for EUC_TW to MULE_INTERNAL',
  10850. proname => 'euc_tw_to_mic', prolang => 'c', prorettype => 'int4',
  10851. proargtypes => 'int4 int4 cstring internal int4 bool',
  10852. prosrc => 'euc_tw_to_mic', probin => '$libdir/euc_tw_and_big5' },
  10853. { oid => '4335',
  10854. descr => 'internal conversion function for BIG5 to MULE_INTERNAL',
  10855. proname => 'big5_to_mic', prolang => 'c', prorettype => 'int4',
  10856. proargtypes => 'int4 int4 cstring internal int4 bool',
  10857. prosrc => 'big5_to_mic', probin => '$libdir/euc_tw_and_big5' },
  10858. { oid => '4336',
  10859. descr => 'internal conversion function for MULE_INTERNAL to EUC_TW',
  10860. proname => 'mic_to_euc_tw', prolang => 'c', prorettype => 'int4',
  10861. proargtypes => 'int4 int4 cstring internal int4 bool',
  10862. prosrc => 'mic_to_euc_tw', probin => '$libdir/euc_tw_and_big5' },
  10863. { oid => '4337',
  10864. descr => 'internal conversion function for MULE_INTERNAL to BIG5',
  10865. proname => 'mic_to_big5', prolang => 'c', prorettype => 'int4',
  10866. proargtypes => 'int4 int4 cstring internal int4 bool',
  10867. prosrc => 'mic_to_big5', probin => '$libdir/euc_tw_and_big5' },
  10868. { oid => '4338',
  10869. descr => 'internal conversion function for LATIN2 to MULE_INTERNAL',
  10870. proname => 'latin2_to_mic', prolang => 'c', prorettype => 'int4',
  10871. proargtypes => 'int4 int4 cstring internal int4 bool',
  10872. prosrc => 'latin2_to_mic', probin => '$libdir/latin2_and_win1250' },
  10873. { oid => '4339',
  10874. descr => 'internal conversion function for MULE_INTERNAL to LATIN2',
  10875. proname => 'mic_to_latin2', prolang => 'c', prorettype => 'int4',
  10876. proargtypes => 'int4 int4 cstring internal int4 bool',
  10877. prosrc => 'mic_to_latin2', probin => '$libdir/latin2_and_win1250' },
  10878. { oid => '4340',
  10879. descr => 'internal conversion function for WIN1250 to MULE_INTERNAL',
  10880. proname => 'win1250_to_mic', prolang => 'c', prorettype => 'int4',
  10881. proargtypes => 'int4 int4 cstring internal int4 bool',
  10882. prosrc => 'win1250_to_mic', probin => '$libdir/latin2_and_win1250' },
  10883. { oid => '4341',
  10884. descr => 'internal conversion function for MULE_INTERNAL to WIN1250',
  10885. proname => 'mic_to_win1250', prolang => 'c', prorettype => 'int4',
  10886. proargtypes => 'int4 int4 cstring internal int4 bool',
  10887. prosrc => 'mic_to_win1250', probin => '$libdir/latin2_and_win1250' },
  10888. { oid => '4342',
  10889. descr => 'internal conversion function for LATIN2 to WIN1250',
  10890. proname => 'latin2_to_win1250', prolang => 'c', prorettype => 'int4',
  10891. proargtypes => 'int4 int4 cstring internal int4 bool',
  10892. prosrc => 'latin2_to_win1250', probin => '$libdir/latin2_and_win1250' },
  10893. { oid => '4343',
  10894. descr => 'internal conversion function for WIN1250 to LATIN2',
  10895. proname => 'win1250_to_latin2', prolang => 'c', prorettype => 'int4',
  10896. proargtypes => 'int4 int4 cstring internal int4 bool',
  10897. prosrc => 'win1250_to_latin2', probin => '$libdir/latin2_and_win1250' },
  10898. { oid => '4344',
  10899. descr => 'internal conversion function for LATIN1 to MULE_INTERNAL',
  10900. proname => 'latin1_to_mic', prolang => 'c', prorettype => 'int4',
  10901. proargtypes => 'int4 int4 cstring internal int4 bool',
  10902. prosrc => 'latin1_to_mic', probin => '$libdir/latin_and_mic' },
  10903. { oid => '4345',
  10904. descr => 'internal conversion function for MULE_INTERNAL to LATIN1',
  10905. proname => 'mic_to_latin1', prolang => 'c', prorettype => 'int4',
  10906. proargtypes => 'int4 int4 cstring internal int4 bool',
  10907. prosrc => 'mic_to_latin1', probin => '$libdir/latin_and_mic' },
  10908. { oid => '4346',
  10909. descr => 'internal conversion function for LATIN3 to MULE_INTERNAL',
  10910. proname => 'latin3_to_mic', prolang => 'c', prorettype => 'int4',
  10911. proargtypes => 'int4 int4 cstring internal int4 bool',
  10912. prosrc => 'latin3_to_mic', probin => '$libdir/latin_and_mic' },
  10913. { oid => '4347',
  10914. descr => 'internal conversion function for MULE_INTERNAL to LATIN3',
  10915. proname => 'mic_to_latin3', prolang => 'c', prorettype => 'int4',
  10916. proargtypes => 'int4 int4 cstring internal int4 bool',
  10917. prosrc => 'mic_to_latin3', probin => '$libdir/latin_and_mic' },
  10918. { oid => '4348',
  10919. descr => 'internal conversion function for LATIN4 to MULE_INTERNAL',
  10920. proname => 'latin4_to_mic', prolang => 'c', prorettype => 'int4',
  10921. proargtypes => 'int4 int4 cstring internal int4 bool',
  10922. prosrc => 'latin4_to_mic', probin => '$libdir/latin_and_mic' },
  10923. { oid => '4349',
  10924. descr => 'internal conversion function for MULE_INTERNAL to LATIN4',
  10925. proname => 'mic_to_latin4', prolang => 'c', prorettype => 'int4',
  10926. proargtypes => 'int4 int4 cstring internal int4 bool',
  10927. prosrc => 'mic_to_latin4', probin => '$libdir/latin_and_mic' },
  10928. { oid => '4352', descr => 'internal conversion function for BIG5 to UTF8',
  10929. proname => 'big5_to_utf8', prolang => 'c', prorettype => 'int4',
  10930. proargtypes => 'int4 int4 cstring internal int4 bool',
  10931. prosrc => 'big5_to_utf8', probin => '$libdir/utf8_and_big5' },
  10932. { oid => '4353', descr => 'internal conversion function for UTF8 to BIG5',
  10933. proname => 'utf8_to_big5', prolang => 'c', prorettype => 'int4',
  10934. proargtypes => 'int4 int4 cstring internal int4 bool',
  10935. prosrc => 'utf8_to_big5', probin => '$libdir/utf8_and_big5' },
  10936. { oid => '4354', descr => 'internal conversion function for UTF8 to KOI8R',
  10937. proname => 'utf8_to_koi8r', prolang => 'c', prorettype => 'int4',
  10938. proargtypes => 'int4 int4 cstring internal int4 bool',
  10939. prosrc => 'utf8_to_koi8r', probin => '$libdir/utf8_and_cyrillic' },
  10940. { oid => '4355', descr => 'internal conversion function for KOI8R to UTF8',
  10941. proname => 'koi8r_to_utf8', prolang => 'c', prorettype => 'int4',
  10942. proargtypes => 'int4 int4 cstring internal int4 bool',
  10943. prosrc => 'koi8r_to_utf8', probin => '$libdir/utf8_and_cyrillic' },
  10944. { oid => '4356', descr => 'internal conversion function for UTF8 to KOI8U',
  10945. proname => 'utf8_to_koi8u', prolang => 'c', prorettype => 'int4',
  10946. proargtypes => 'int4 int4 cstring internal int4 bool',
  10947. prosrc => 'utf8_to_koi8u', probin => '$libdir/utf8_and_cyrillic' },
  10948. { oid => '4357', descr => 'internal conversion function for KOI8U to UTF8',
  10949. proname => 'koi8u_to_utf8', prolang => 'c', prorettype => 'int4',
  10950. proargtypes => 'int4 int4 cstring internal int4 bool',
  10951. prosrc => 'koi8u_to_utf8', probin => '$libdir/utf8_and_cyrillic' },
  10952. { oid => '4358', descr => 'internal conversion function for UTF8 to WIN',
  10953. proname => 'utf8_to_win', prolang => 'c', prorettype => 'int4',
  10954. proargtypes => 'int4 int4 cstring internal int4 bool',
  10955. prosrc => 'utf8_to_win', probin => '$libdir/utf8_and_win' },
  10956. { oid => '4359', descr => 'internal conversion function for WIN to UTF8',
  10957. proname => 'win_to_utf8', prolang => 'c', prorettype => 'int4',
  10958. proargtypes => 'int4 int4 cstring internal int4 bool',
  10959. prosrc => 'win_to_utf8', probin => '$libdir/utf8_and_win' },
  10960. { oid => '4360', descr => 'internal conversion function for EUC_CN to UTF8',
  10961. proname => 'euc_cn_to_utf8', prolang => 'c', prorettype => 'int4',
  10962. proargtypes => 'int4 int4 cstring internal int4 bool',
  10963. prosrc => 'euc_cn_to_utf8', probin => '$libdir/utf8_and_euc_cn' },
  10964. { oid => '4361', descr => 'internal conversion function for UTF8 to EUC_CN',
  10965. proname => 'utf8_to_euc_cn', prolang => 'c', prorettype => 'int4',
  10966. proargtypes => 'int4 int4 cstring internal int4 bool',
  10967. prosrc => 'utf8_to_euc_cn', probin => '$libdir/utf8_and_euc_cn' },
  10968. { oid => '4362', descr => 'internal conversion function for EUC_JP to UTF8',
  10969. proname => 'euc_jp_to_utf8', prolang => 'c', prorettype => 'int4',
  10970. proargtypes => 'int4 int4 cstring internal int4 bool',
  10971. prosrc => 'euc_jp_to_utf8', probin => '$libdir/utf8_and_euc_jp' },
  10972. { oid => '4363', descr => 'internal conversion function for UTF8 to EUC_JP',
  10973. proname => 'utf8_to_euc_jp', prolang => 'c', prorettype => 'int4',
  10974. proargtypes => 'int4 int4 cstring internal int4 bool',
  10975. prosrc => 'utf8_to_euc_jp', probin => '$libdir/utf8_and_euc_jp' },
  10976. { oid => '4364', descr => 'internal conversion function for EUC_KR to UTF8',
  10977. proname => 'euc_kr_to_utf8', prolang => 'c', prorettype => 'int4',
  10978. proargtypes => 'int4 int4 cstring internal int4 bool',
  10979. prosrc => 'euc_kr_to_utf8', probin => '$libdir/utf8_and_euc_kr' },
  10980. { oid => '4365', descr => 'internal conversion function for UTF8 to EUC_KR',
  10981. proname => 'utf8_to_euc_kr', prolang => 'c', prorettype => 'int4',
  10982. proargtypes => 'int4 int4 cstring internal int4 bool',
  10983. prosrc => 'utf8_to_euc_kr', probin => '$libdir/utf8_and_euc_kr' },
  10984. { oid => '4366', descr => 'internal conversion function for EUC_TW to UTF8',
  10985. proname => 'euc_tw_to_utf8', prolang => 'c', prorettype => 'int4',
  10986. proargtypes => 'int4 int4 cstring internal int4 bool',
  10987. prosrc => 'euc_tw_to_utf8', probin => '$libdir/utf8_and_euc_tw' },
  10988. { oid => '4367', descr => 'internal conversion function for UTF8 to EUC_TW',
  10989. proname => 'utf8_to_euc_tw', prolang => 'c', prorettype => 'int4',
  10990. proargtypes => 'int4 int4 cstring internal int4 bool',
  10991. prosrc => 'utf8_to_euc_tw', probin => '$libdir/utf8_and_euc_tw' },
  10992. { oid => '4368', descr => 'internal conversion function for GB18030 to UTF8',
  10993. proname => 'gb18030_to_utf8', prolang => 'c', prorettype => 'int4',
  10994. proargtypes => 'int4 int4 cstring internal int4 bool',
  10995. prosrc => 'gb18030_to_utf8', probin => '$libdir/utf8_and_gb18030' },
  10996. { oid => '4369', descr => 'internal conversion function for UTF8 to GB18030',
  10997. proname => 'utf8_to_gb18030', prolang => 'c', prorettype => 'int4',
  10998. proargtypes => 'int4 int4 cstring internal int4 bool',
  10999. prosrc => 'utf8_to_gb18030', probin => '$libdir/utf8_and_gb18030' },
  11000. { oid => '4370', descr => 'internal conversion function for GBK to UTF8',
  11001. proname => 'gbk_to_utf8', prolang => 'c', prorettype => 'int4',
  11002. proargtypes => 'int4 int4 cstring internal int4 bool',
  11003. prosrc => 'gbk_to_utf8', probin => '$libdir/utf8_and_gbk' },
  11004. { oid => '4371', descr => 'internal conversion function for UTF8 to GBK',
  11005. proname => 'utf8_to_gbk', prolang => 'c', prorettype => 'int4',
  11006. proargtypes => 'int4 int4 cstring internal int4 bool',
  11007. prosrc => 'utf8_to_gbk', probin => '$libdir/utf8_and_gbk' },
  11008. { oid => '4372',
  11009. descr => 'internal conversion function for UTF8 to ISO-8859 2-16',
  11010. proname => 'utf8_to_iso8859', prolang => 'c', prorettype => 'int4',
  11011. proargtypes => 'int4 int4 cstring internal int4 bool',
  11012. prosrc => 'utf8_to_iso8859', probin => '$libdir/utf8_and_iso8859' },
  11013. { oid => '4373',
  11014. descr => 'internal conversion function for ISO-8859 2-16 to UTF8',
  11015. proname => 'iso8859_to_utf8', prolang => 'c', prorettype => 'int4',
  11016. proargtypes => 'int4 int4 cstring internal int4 bool',
  11017. prosrc => 'iso8859_to_utf8', probin => '$libdir/utf8_and_iso8859' },
  11018. { oid => '4374', descr => 'internal conversion function for LATIN1 to UTF8',
  11019. proname => 'iso8859_1_to_utf8', prolang => 'c', prorettype => 'int4',
  11020. proargtypes => 'int4 int4 cstring internal int4 bool',
  11021. prosrc => 'iso8859_1_to_utf8', probin => '$libdir/utf8_and_iso8859_1' },
  11022. { oid => '4375', descr => 'internal conversion function for UTF8 to LATIN1',
  11023. proname => 'utf8_to_iso8859_1', prolang => 'c', prorettype => 'int4',
  11024. proargtypes => 'int4 int4 cstring internal int4 bool',
  11025. prosrc => 'utf8_to_iso8859_1', probin => '$libdir/utf8_and_iso8859_1' },
  11026. { oid => '4376', descr => 'internal conversion function for JOHAB to UTF8',
  11027. proname => 'johab_to_utf8', prolang => 'c', prorettype => 'int4',
  11028. proargtypes => 'int4 int4 cstring internal int4 bool',
  11029. prosrc => 'johab_to_utf8', probin => '$libdir/utf8_and_johab' },
  11030. { oid => '4377', descr => 'internal conversion function for UTF8 to JOHAB',
  11031. proname => 'utf8_to_johab', prolang => 'c', prorettype => 'int4',
  11032. proargtypes => 'int4 int4 cstring internal int4 bool',
  11033. prosrc => 'utf8_to_johab', probin => '$libdir/utf8_and_johab' },
  11034. { oid => '4378', descr => 'internal conversion function for SJIS to UTF8',
  11035. proname => 'sjis_to_utf8', prolang => 'c', prorettype => 'int4',
  11036. proargtypes => 'int4 int4 cstring internal int4 bool',
  11037. prosrc => 'sjis_to_utf8', probin => '$libdir/utf8_and_sjis' },
  11038. { oid => '4379', descr => 'internal conversion function for UTF8 to SJIS',
  11039. proname => 'utf8_to_sjis', prolang => 'c', prorettype => 'int4',
  11040. proargtypes => 'int4 int4 cstring internal int4 bool',
  11041. prosrc => 'utf8_to_sjis', probin => '$libdir/utf8_and_sjis' },
  11042. { oid => '4380', descr => 'internal conversion function for UHC to UTF8',
  11043. proname => 'uhc_to_utf8', prolang => 'c', prorettype => 'int4',
  11044. proargtypes => 'int4 int4 cstring internal int4 bool',
  11045. prosrc => 'uhc_to_utf8', probin => '$libdir/utf8_and_uhc' },
  11046. { oid => '4381', descr => 'internal conversion function for UTF8 to UHC',
  11047. proname => 'utf8_to_uhc', prolang => 'c', prorettype => 'int4',
  11048. proargtypes => 'int4 int4 cstring internal int4 bool',
  11049. prosrc => 'utf8_to_uhc', probin => '$libdir/utf8_and_uhc' },
  11050. { oid => '4382',
  11051. descr => 'internal conversion function for EUC_JIS_2004 to UTF8',
  11052. proname => 'euc_jis_2004_to_utf8', prolang => 'c', prorettype => 'int4',
  11053. proargtypes => 'int4 int4 cstring internal int4 bool',
  11054. prosrc => 'euc_jis_2004_to_utf8', probin => '$libdir/utf8_and_euc2004' },
  11055. { oid => '4383',
  11056. descr => 'internal conversion function for UTF8 to EUC_JIS_2004',
  11057. proname => 'utf8_to_euc_jis_2004', prolang => 'c', prorettype => 'int4',
  11058. proargtypes => 'int4 int4 cstring internal int4 bool',
  11059. prosrc => 'utf8_to_euc_jis_2004', probin => '$libdir/utf8_and_euc2004' },
  11060. { oid => '4384',
  11061. descr => 'internal conversion function for SHIFT_JIS_2004 to UTF8',
  11062. proname => 'shift_jis_2004_to_utf8', prolang => 'c', prorettype => 'int4',
  11063. proargtypes => 'int4 int4 cstring internal int4 bool',
  11064. prosrc => 'shift_jis_2004_to_utf8', probin => '$libdir/utf8_and_sjis2004' },
  11065. { oid => '4385',
  11066. descr => 'internal conversion function for UTF8 to SHIFT_JIS_2004',
  11067. proname => 'utf8_to_shift_jis_2004', prolang => 'c', prorettype => 'int4',
  11068. proargtypes => 'int4 int4 cstring internal int4 bool',
  11069. prosrc => 'utf8_to_shift_jis_2004', probin => '$libdir/utf8_and_sjis2004' },
  11070. { oid => '4386',
  11071. descr => 'internal conversion function for EUC_JIS_2004 to SHIFT_JIS_2004',
  11072. proname => 'euc_jis_2004_to_shift_jis_2004', prolang => 'c',
  11073. prorettype => 'int4', proargtypes => 'int4 int4 cstring internal int4 bool',
  11074. prosrc => 'euc_jis_2004_to_shift_jis_2004',
  11075. probin => '$libdir/euc2004_sjis2004' },
  11076. { oid => '4387',
  11077. descr => 'internal conversion function for SHIFT_JIS_2004 to EUC_JIS_2004',
  11078. proname => 'shift_jis_2004_to_euc_jis_2004', prolang => 'c',
  11079. prorettype => 'int4', proargtypes => 'int4 int4 cstring internal int4 bool',
  11080. prosrc => 'shift_jis_2004_to_euc_jis_2004',
  11081. probin => '$libdir/euc2004_sjis2004' },
  11082. { oid => '5040',
  11083. descr => 'restriction selectivity for generic matching operators',
  11084. proname => 'matchingsel', provolatile => 's', prorettype => 'float8',
  11085. proargtypes => 'internal oid internal int4', prosrc => 'matchingsel' },
  11086. { oid => '5041', descr => 'join selectivity for generic matching operators',
  11087. proname => 'matchingjoinsel', provolatile => 's', prorettype => 'float8',
  11088. proargtypes => 'internal oid internal int2 internal',
  11089. prosrc => 'matchingjoinsel' },
  11090. # replication/origin.h
  11091. { oid => '6003', descr => 'create a replication origin',
  11092. proname => 'pg_replication_origin_create', provolatile => 'v',
  11093. proparallel => 'u', prorettype => 'oid', proargtypes => 'text',
  11094. prosrc => 'pg_replication_origin_create' },
  11095. { oid => '6004', descr => 'drop replication origin identified by its name',
  11096. proname => 'pg_replication_origin_drop', provolatile => 'v',
  11097. proparallel => 'u', prorettype => 'void', proargtypes => 'text',
  11098. prosrc => 'pg_replication_origin_drop' },
  11099. { oid => '6005',
  11100. descr => 'translate the replication origin\'s name to its id',
  11101. proname => 'pg_replication_origin_oid', provolatile => 's',
  11102. prorettype => 'oid', proargtypes => 'text',
  11103. prosrc => 'pg_replication_origin_oid' },
  11104. { oid => '6006',
  11105. descr => 'configure session to maintain replication progress tracking for the passed in origin',
  11106. proname => 'pg_replication_origin_session_setup', provolatile => 'v',
  11107. proparallel => 'u', prorettype => 'void', proargtypes => 'text',
  11108. prosrc => 'pg_replication_origin_session_setup' },
  11109. { oid => '6007', descr => 'teardown configured replication progress tracking',
  11110. proname => 'pg_replication_origin_session_reset', provolatile => 'v',
  11111. proparallel => 'u', prorettype => 'void', proargtypes => '',
  11112. prosrc => 'pg_replication_origin_session_reset' },
  11113. { oid => '6008',
  11114. descr => 'is a replication origin configured in this session',
  11115. proname => 'pg_replication_origin_session_is_setup', provolatile => 'v',
  11116. proparallel => 'r', prorettype => 'bool', proargtypes => '',
  11117. prosrc => 'pg_replication_origin_session_is_setup' },
  11118. { oid => '6009',
  11119. descr => 'get the replication progress of the current session',
  11120. proname => 'pg_replication_origin_session_progress', provolatile => 'v',
  11121. proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'bool',
  11122. prosrc => 'pg_replication_origin_session_progress' },
  11123. { oid => '6010', descr => 'setup the transaction\'s origin lsn and timestamp',
  11124. proname => 'pg_replication_origin_xact_setup', provolatile => 'v',
  11125. proparallel => 'r', prorettype => 'void', proargtypes => 'pg_lsn timestamptz',
  11126. prosrc => 'pg_replication_origin_xact_setup' },
  11127. { oid => '6011', descr => 'reset the transaction\'s origin lsn and timestamp',
  11128. proname => 'pg_replication_origin_xact_reset', provolatile => 'v',
  11129. proparallel => 'r', prorettype => 'void', proargtypes => '',
  11130. prosrc => 'pg_replication_origin_xact_reset' },
  11131. { oid => '6012', descr => 'advance replication origin to specific location',
  11132. proname => 'pg_replication_origin_advance', provolatile => 'v',
  11133. proparallel => 'u', prorettype => 'void', proargtypes => 'text pg_lsn',
  11134. prosrc => 'pg_replication_origin_advance' },
  11135. { oid => '6013',
  11136. descr => 'get an individual replication origin\'s replication progress',
  11137. proname => 'pg_replication_origin_progress', provolatile => 'v',
  11138. proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'text bool',
  11139. prosrc => 'pg_replication_origin_progress' },
  11140. { oid => '6014', descr => 'get progress for all replication origins',
  11141. proname => 'pg_show_replication_origin_status', prorows => '100',
  11142. proisstrict => 'f', proretset => 't', provolatile => 'v', proparallel => 'r',
  11143. prorettype => 'record', proargtypes => '',
  11144. proallargtypes => '{oid,text,pg_lsn,pg_lsn}', proargmodes => '{o,o,o,o}',
  11145. proargnames => '{local_id, external_id, remote_lsn, local_lsn}',
  11146. prosrc => 'pg_show_replication_origin_status' },
  11147. # publications
  11148. { oid => '6119', descr => 'get information of tables in a publication',
  11149. proname => 'pg_get_publication_tables', prorows => '1000', proretset => 't',
  11150. provolatile => 's', prorettype => 'record', proargtypes => 'text',
  11151. proallargtypes => '{text,oid,int2vector,pg_node_tree}',
  11152. proargmodes => '{i,o,o,o}', proargnames => '{pubname,relid,attrs,qual}',
  11153. prosrc => 'pg_get_publication_tables' },
  11154. { oid => '6121',
  11155. descr => 'returns whether a relation can be part of a publication',
  11156. proname => 'pg_relation_is_publishable', provolatile => 's',
  11157. prorettype => 'bool', proargtypes => 'regclass',
  11158. prosrc => 'pg_relation_is_publishable' },
  11159. # rls
  11160. { oid => '3298',
  11161. descr => 'row security for current context active on table by table oid',
  11162. proname => 'row_security_active', provolatile => 's', prorettype => 'bool',
  11163. proargtypes => 'oid', prosrc => 'row_security_active' },
  11164. { oid => '3299',
  11165. descr => 'row security for current context active on table by table name',
  11166. proname => 'row_security_active', provolatile => 's', prorettype => 'bool',
  11167. proargtypes => 'text', prosrc => 'row_security_active_name' },
  11168. # pg_config
  11169. { oid => '3400', descr => 'pg_config binary as a function',
  11170. proname => 'pg_config', prorows => '23', proretset => 't', provolatile => 's',
  11171. proparallel => 'r', prorettype => 'record', proargtypes => '',
  11172. proallargtypes => '{text,text}', proargmodes => '{o,o}',
  11173. proargnames => '{name,setting}', prosrc => 'pg_config' },
  11174. # pg_controldata related functions
  11175. { oid => '3441',
  11176. descr => 'pg_controldata general state information as a function',
  11177. proname => 'pg_control_system', provolatile => 'v', prorettype => 'record',
  11178. proargtypes => '', proallargtypes => '{int4,int4,int8,timestamptz}',
  11179. proargmodes => '{o,o,o,o}',
  11180. proargnames => '{pg_control_version,catalog_version_no,system_identifier,pg_control_last_modified}',
  11181. prosrc => 'pg_control_system' },
  11182. { oid => '3442',
  11183. descr => 'pg_controldata checkpoint state information as a function',
  11184. proname => 'pg_control_checkpoint', provolatile => 'v',
  11185. prorettype => 'record', proargtypes => '',
  11186. proallargtypes => '{pg_lsn,pg_lsn,text,int4,int4,bool,text,oid,xid,xid,xid,oid,xid,xid,oid,xid,xid,timestamptz}',
  11187. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
  11188. proargnames => '{checkpoint_lsn,redo_lsn,redo_wal_file,timeline_id,prev_timeline_id,full_page_writes,next_xid,next_oid,next_multixact_id,next_multi_offset,oldest_xid,oldest_xid_dbid,oldest_active_xid,oldest_multi_xid,oldest_multi_dbid,oldest_commit_ts_xid,newest_commit_ts_xid,checkpoint_time}',
  11189. prosrc => 'pg_control_checkpoint' },
  11190. { oid => '3443',
  11191. descr => 'pg_controldata recovery state information as a function',
  11192. proname => 'pg_control_recovery', provolatile => 'v', prorettype => 'record',
  11193. proargtypes => '', proallargtypes => '{pg_lsn,int4,pg_lsn,pg_lsn,bool}',
  11194. proargmodes => '{o,o,o,o,o}',
  11195. proargnames => '{min_recovery_end_lsn,min_recovery_end_timeline,backup_start_lsn,backup_end_lsn,end_of_backup_record_required}',
  11196. prosrc => 'pg_control_recovery' },
  11197. { oid => '3444',
  11198. descr => 'pg_controldata init state information as a function',
  11199. proname => 'pg_control_init', provolatile => 'v', prorettype => 'record',
  11200. proargtypes => '',
  11201. proallargtypes => '{int4,int4,int4,int4,int4,int4,int4,int4,int4,bool,int4}',
  11202. proargmodes => '{o,o,o,o,o,o,o,o,o,o,o}',
  11203. proargnames => '{max_data_alignment,database_block_size,blocks_per_segment,wal_block_size,bytes_per_wal_segment,max_identifier_length,max_index_columns,max_toast_chunk_size,large_object_chunk_size,float8_pass_by_value,data_page_checksum_version}',
  11204. prosrc => 'pg_control_init' },
  11205. # subscripting support for built-in types
  11206. { oid => '6179', descr => 'standard array subscripting support',
  11207. proname => 'array_subscript_handler', prorettype => 'internal',
  11208. proargtypes => 'internal', prosrc => 'array_subscript_handler' },
  11209. { oid => '6180', descr => 'raw array subscripting support',
  11210. proname => 'raw_array_subscript_handler', prorettype => 'internal',
  11211. proargtypes => 'internal', prosrc => 'raw_array_subscript_handler' },
  11212. # type subscripting support
  11213. { oid => '6098', descr => 'jsonb subscripting logic',
  11214. proname => 'jsonb_subscript_handler', prorettype => 'internal',
  11215. proargtypes => 'internal', prosrc => 'jsonb_subscript_handler' },
  11216. # collation management functions
  11217. { oid => '3445', descr => 'import collations from operating system',
  11218. proname => 'pg_import_system_collations', procost => '100',
  11219. provolatile => 'v', proparallel => 'u', prorettype => 'int4',
  11220. proargtypes => 'regnamespace', prosrc => 'pg_import_system_collations' },
  11221. { oid => '3448',
  11222. descr => 'get actual version of collation from operating system',
  11223. proname => 'pg_collation_actual_version', procost => '100',
  11224. provolatile => 'v', prorettype => 'text', proargtypes => 'oid',
  11225. prosrc => 'pg_collation_actual_version' },
  11226. { oid => '6249',
  11227. descr => 'get actual version of database collation from operating system',
  11228. proname => 'pg_database_collation_actual_version', procost => '100',
  11229. provolatile => 'v', prorettype => 'text', proargtypes => 'oid',
  11230. prosrc => 'pg_database_collation_actual_version' },
  11231. # system management/monitoring related functions
  11232. { oid => '3353', descr => 'list files in the log directory',
  11233. proname => 'pg_ls_logdir', procost => '10', prorows => '20', proretset => 't',
  11234. provolatile => 'v', prorettype => 'record', proargtypes => '',
  11235. proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}',
  11236. proargnames => '{name,size,modification}', prosrc => 'pg_ls_logdir' },
  11237. { oid => '3354', descr => 'list of files in the WAL directory',
  11238. proname => 'pg_ls_waldir', procost => '10', prorows => '20', proretset => 't',
  11239. provolatile => 'v', prorettype => 'record', proargtypes => '',
  11240. proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}',
  11241. proargnames => '{name,size,modification}', prosrc => 'pg_ls_waldir' },
  11242. { oid => '5031', descr => 'list of files in the archive_status directory',
  11243. proname => 'pg_ls_archive_statusdir', procost => '10', prorows => '20',
  11244. proretset => 't', provolatile => 'v', prorettype => 'record',
  11245. proargtypes => '', proallargtypes => '{text,int8,timestamptz}',
  11246. proargmodes => '{o,o,o}', proargnames => '{name,size,modification}',
  11247. prosrc => 'pg_ls_archive_statusdir' },
  11248. { oid => '5029', descr => 'list files in the pgsql_tmp directory',
  11249. proname => 'pg_ls_tmpdir', procost => '10', prorows => '20', proretset => 't',
  11250. provolatile => 'v', prorettype => 'record', proargtypes => '',
  11251. proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}',
  11252. proargnames => '{name,size,modification}', prosrc => 'pg_ls_tmpdir_noargs' },
  11253. { oid => '5030', descr => 'list files in the pgsql_tmp directory',
  11254. proname => 'pg_ls_tmpdir', procost => '10', prorows => '20', proretset => 't',
  11255. provolatile => 'v', prorettype => 'record', proargtypes => 'oid',
  11256. proallargtypes => '{oid,text,int8,timestamptz}', proargmodes => '{i,o,o,o}',
  11257. proargnames => '{tablespace,name,size,modification}',
  11258. prosrc => 'pg_ls_tmpdir_1arg' },
  11259. { oid => '6270',
  11260. descr => 'list of files in the pg_logical/snapshots directory',
  11261. proname => 'pg_ls_logicalsnapdir', procost => '10', prorows => '20',
  11262. proretset => 't', provolatile => 'v', prorettype => 'record',
  11263. proargtypes => '', proallargtypes => '{text,int8,timestamptz}',
  11264. proargmodes => '{o,o,o}', proargnames => '{name,size,modification}',
  11265. prosrc => 'pg_ls_logicalsnapdir' },
  11266. { oid => '6271',
  11267. descr => 'list of files in the pg_logical/mappings directory',
  11268. proname => 'pg_ls_logicalmapdir', procost => '10', prorows => '20',
  11269. proretset => 't', provolatile => 'v', prorettype => 'record',
  11270. proargtypes => '', proallargtypes => '{text,int8,timestamptz}',
  11271. proargmodes => '{o,o,o}', proargnames => '{name,size,modification}',
  11272. prosrc => 'pg_ls_logicalmapdir' },
  11273. { oid => '6272',
  11274. descr => 'list of files in the pg_replslot/slot_name directory',
  11275. proname => 'pg_ls_replslotdir', procost => '10', prorows => '20',
  11276. proretset => 't', provolatile => 'v', prorettype => 'record',
  11277. proargtypes => 'text', proallargtypes => '{text,text,int8,timestamptz}',
  11278. proargmodes => '{i,o,o,o}',
  11279. proargnames => '{slot_name,name,size,modification}',
  11280. prosrc => 'pg_ls_replslotdir' },
  11281. # hash partitioning constraint function
  11282. { oid => '5028', descr => 'hash partition CHECK constraint',
  11283. proname => 'satisfies_hash_partition', provariadic => 'any',
  11284. proisstrict => 'f', prorettype => 'bool', proargtypes => 'oid int4 int4 any',
  11285. proargmodes => '{i,i,i,v}', prosrc => 'satisfies_hash_partition' },
  11286. # information about a partition tree
  11287. { oid => '3423', descr => 'view partition tree tables',
  11288. proname => 'pg_partition_tree', prorows => '1000', proretset => 't',
  11289. provolatile => 'v', prorettype => 'record', proargtypes => 'regclass',
  11290. proallargtypes => '{regclass,regclass,regclass,bool,int4}',
  11291. proargmodes => '{i,o,o,o,o}',
  11292. proargnames => '{rootrelid,relid,parentrelid,isleaf,level}',
  11293. prosrc => 'pg_partition_tree' },
  11294. { oid => '3425', descr => 'view ancestors of the partition',
  11295. proname => 'pg_partition_ancestors', prorows => '10', proretset => 't',
  11296. provolatile => 'v', prorettype => 'regclass', proargtypes => 'regclass',
  11297. proallargtypes => '{regclass,regclass}', proargmodes => '{i,o}',
  11298. proargnames => '{partitionid,relid}', prosrc => 'pg_partition_ancestors' },
  11299. # function to get the top-most partition root parent
  11300. { oid => '3424', descr => 'get top-most partition root parent',
  11301. proname => 'pg_partition_root', prorettype => 'regclass',
  11302. proargtypes => 'regclass', prosrc => 'pg_partition_root' },
  11303. { oid => '4350', descr => 'Unicode normalization',
  11304. proname => 'normalize', prorettype => 'text', proargtypes => 'text text',
  11305. prosrc => 'unicode_normalize_func' },
  11306. { oid => '4351', descr => 'check Unicode normalization',
  11307. proname => 'is_normalized', prorettype => 'bool', proargtypes => 'text text',
  11308. prosrc => 'unicode_is_normalized' },
  11309. { oid => '6198', descr => 'unescape Unicode characters',
  11310. proname => 'unistr', prorettype => 'text', proargtypes => 'text',
  11311. prosrc => 'unistr' },
  11312. { oid => '4596', descr => 'I/O',
  11313. proname => 'brin_bloom_summary_in', prorettype => 'pg_brin_bloom_summary',
  11314. proargtypes => 'cstring', prosrc => 'brin_bloom_summary_in' },
  11315. { oid => '4597', descr => 'I/O',
  11316. proname => 'brin_bloom_summary_out', prorettype => 'cstring',
  11317. proargtypes => 'pg_brin_bloom_summary', prosrc => 'brin_bloom_summary_out' },
  11318. { oid => '4598', descr => 'I/O',
  11319. proname => 'brin_bloom_summary_recv', provolatile => 's',
  11320. prorettype => 'pg_brin_bloom_summary', proargtypes => 'internal',
  11321. prosrc => 'brin_bloom_summary_recv' },
  11322. { oid => '4599', descr => 'I/O',
  11323. proname => 'brin_bloom_summary_send', provolatile => 's',
  11324. prorettype => 'bytea', proargtypes => 'pg_brin_bloom_summary',
  11325. prosrc => 'brin_bloom_summary_send' },
  11326. { oid => '4638', descr => 'I/O',
  11327. proname => 'brin_minmax_multi_summary_in',
  11328. prorettype => 'pg_brin_minmax_multi_summary', proargtypes => 'cstring',
  11329. prosrc => 'brin_minmax_multi_summary_in' },
  11330. { oid => '4639', descr => 'I/O',
  11331. proname => 'brin_minmax_multi_summary_out', prorettype => 'cstring',
  11332. proargtypes => 'pg_brin_minmax_multi_summary',
  11333. prosrc => 'brin_minmax_multi_summary_out' },
  11334. { oid => '4640', descr => 'I/O',
  11335. proname => 'brin_minmax_multi_summary_recv', provolatile => 's',
  11336. prorettype => 'pg_brin_minmax_multi_summary', proargtypes => 'internal',
  11337. prosrc => 'brin_minmax_multi_summary_recv' },
  11338. { oid => '4641', descr => 'I/O',
  11339. proname => 'brin_minmax_multi_summary_send', provolatile => 's',
  11340. prorettype => 'bytea', proargtypes => 'pg_brin_minmax_multi_summary',
  11341. prosrc => 'brin_minmax_multi_summary_send' },
  11342. ]