12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902 |
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
- <book lang="en_US" xml:base="../">
- <bookinfo>
- <title>Guia do Web Service WsSQL ESP</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/redswooshWithLogo3.jpg"/>
- </imageobject>
- </mediaobject>
- <author>
- <surname>Equipe de documentação de Boca Raton</surname>
- </author>
- <legalnotice>
- <para>Sua opinião e comentários sobre este documento são muito
- bem-vindos e podem ser enviados por e-mail para
- <email>docfeedback@hpccsystems.com</email> Inclua a frase <emphasis
- role="bold">Feedback sobre documentação</emphasis> na linha de assunto e
- indique o nome do documento, o número das páginas e número da Versão
- atual no corpo da mensagem.</para>
- <para>LexisNexis e o logotipo Knowledge Burst são marcas comerciais
- registradas da Reed Elsevier Properties Inc., usadas sob licença. Os
- demais produtos, logotipos e serviços podem ser marcas comerciais ou
- registradas de suas respectivas empresas. Todos os nomes e dados de
- exemplo usados neste manual são fictícios. Qualquer semelhança com
- pessoas reais, vivas ou mortas, é mera coincidência.</para>
- <para/>
- </legalnotice>
- <xi:include href="common/Version.xml"
- xpointer="xpointer(//*[@id='FooterInfo'])"
- xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <xi:include href="common/Version.xml"
- xpointer="xpointer(//*[@id='DateVer'])"
- xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <corpname>HPCC Systems</corpname>
- <xi:include href="common/Version.xml"
- xpointer="xpointer(//*[@id='Copyright'])"
- xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <mediaobject role="logo">
- <imageobject>
- <imagedata fileref="images/LN_Rightjustified.jpg"/>
- </imageobject>
- </mediaobject>
- </bookinfo>
- <chapter>
- <title>Introdução</title>
- <para>O WsSQL é um serviço que fornece uma interface SQL para o HPCC
- System. Esse serviço da web aceita um subconjunto preparado e padrão de
- consultas SQL. Isso fornece acesso à maioria dos dados do HPCC e consultas
- publicadas por HTTP ou HTTPS usando interfaces SOAP ou REST.</para>
- <para>O serviço WsSQL mapeia arquivos lógicos HPCC para tabelas RDBMS.
- Consultas publicadas do HPCC são expostas como Stored Procedures
- RDBMS.</para>
- <para>O serviço WsSQL também fornece métodos convenientes para obter
- informações do sistema, metadados e resultados de consultas executadas
- anteriormente.</para>
- <para>Esse serviço destina-se a ser usado de maneira programática (por
- exemplo, por meio de drivers de banco de dados), mas também pode ser usado
- de maneira interativa por usuários mais confortáveis usando o SQL do que o
- ECL. Isso possibilita enviar consultas ad-hoc sem aprender ECL.</para>
- <para>O serviço expõe os arquivos lógicos do HPCC como tabelas do
- RDB.</para>
- <para><itemizedlist mark="bullet">
- <listitem>
- <para>Arquivo Lógico HPCC <-> Tabela RDB</para>
- </listitem>
- <listitem>
- <para>Campos de registro de HPCC <-> Colunas da Tabela
- RDB</para>
- </listitem>
- <listitem>
- <para>Consulta publicada do HPCC <-> Store Procedure
- RDB</para>
- </listitem>
- <listitem>
- <para>Fornece metadados do sistema HPCC e metadados do RDB de
- dados</para>
- </listitem>
- <listitem>
- <para>Suporta subconjunto da sintaxe SQL</para>
- </listitem>
- <listitem>
- <para>Não-transacional</para>
- </listitem>
- <listitem>
- <para>Fornece meios para utilizar arquivos de índice HPCC para
- leituras mais rápidas.</para>
- <para/>
- </listitem>
- </itemizedlist></para>
- <sect1>
- <title>Tipos de Arquivos Suportados</title>
- <para>O serviço WsSQL suporta todos os tipos de arquivos HPCC,
- exceto:</para>
- <para><itemizedlist>
- <listitem>
- <para>XML</para>
- </listitem>
- <listitem>
- <para>Arquivos com Dataset filho aninhados</para>
- </listitem>
- <listitem>
- <para>Arquivos sem layout de registro em seus metadados.</para>
- <para>O serviço WsSQL <emphasis role="bold">suporta apenas
- arquivos que contêm a definição de registro nos metadados do
- arquivo lógico.</emphasis> Arquivos sprayed não contêm esses
- metadados. Esses metadados existem em qualquer arquivo ou índice
- que é gravado no HPCC Distributed File System (DFS). Arquivos de
- dados sprayed normalmente passam por algum processamento e um
- OUTPUT dos dados transformados para o disco antes do uso,
- portanto, isso não deve interferir na utilidade do serviço. Você
- pode usar o método <emphasis>CreateTableAndLoad</emphasis> para
- produzir um arquivo utilizável a partir de um arquivo sprayed ou
- em uma zona de entrada de arquivo. Consulte <link
- linkend="CreateTableAndLoad">CreateTableAndLoad</link> para
- detalhes.</para>
- </listitem>
- </itemizedlist></para>
- </sect1>
- </chapter>
- <chapter>
- <title>Preparação</title>
- <para>O serviço WsSQL está incluído na Plataforma HPCC.</para>
- <sidebar>
- <para>Antes da versão 7.0, o WsSQL era um produto complementar e era
- instalado separadamente. Se você tiver um sistema configurado com o
- WsSQL anterior à versão 7.0, deverá desinstalar o WsSQL antes de
- atualizar a plataforma.</para>
- </sidebar>
- <sect1 id="Quick_Start" role="nobrk">
- <title>Configuração</title>
- <para>Recomendamos dedicar tempo para a leitura completa deste manual;
- porém, segue abaixo um guia rápido com o resumo das etapas.</para>
- <para/>
- <sect2>
- <title>Configure Utilizando o Assistente</title>
- <para><orderedlist>
- <listitem>
- <para>Uma vez que o Gerenciador de Configurações estiver em
- execução:</para>
- </listitem>
- <listitem>
- <para>Crie um novo ambiente usando o assistente.</para>
- <para>O serviço WsSQL é adicionado automaticamente e sua conexão
- é criada na configuração do servidor ESP.</para>
- </listitem>
- <listitem>
- <para>Salve o arquivo do ambiente.</para>
- </listitem>
- <listitem>
- <para>Copie seu arquivo environment.xml para todos os
- servidores.</para>
- <para><programlisting># for example
- sudo -u hpcc cp /etc/HPCCSystems/source/NewEnvironment.xml
- /etc/HPCCSystems/environment.xml</programlisting></para>
- </listitem>
- <listitem>
- <para>Saia do Gerenciador de Configurações.</para>
- </listitem>
- <listitem>
- <para>Reinicie o sistema</para>
- </listitem>
- <listitem>
- <para>Acesse a interface do WsSQL no seu navegador (porta
- 8510).</para>
- </listitem>
- <listitem>
- <para>Execute o método Echo para confirmar a conectividade.
- Consulte <citebiblioid><link
- linkend="echotest">Echo</link></citebiblioid>.</para>
- </listitem>
- </orderedlist></para>
- </sect2>
- <sect2>
- <title>Configurar manualmente</title>
- <para>Esse método é útil ao incluir o serviço WsSQL em um sistema
- existente que não tenha um serviço configurado ou para incluir um
- serviço WsSql adicional.</para>
- <para><orderedlist>
- <listitem>
- <para>Uma vez que o Gerenciador de Configurações estiver em
- execução:</para>
- </listitem>
- <listitem>
- <para>Abra um arquivo de ambiente (*.xml) no Modo
- Avançado.</para>
- <para>Se você estiver adicionando o WsSQL a um sistema
- existente, abra um arquivo de ambiente que corresponda ao
- environment.xml atual. Está em destaque.</para>
- </listitem>
- <listitem>
- <para>Marque a caixa de seleção Acesso à gravação.</para>
- </listitem>
- <listitem>
- <para>Clique com o botão direito na área <emphasis
- role="bold">Software</emphasis> da árvore no painel esquerdo e
- selecione <emphasis role="bold">Novo Serviço ESP</emphasis> >
- <emphasis role="bold">ws_sql</emphasis> .</para>
- <para><graphic fileref="images/AddWsSQLService.jpg"/></para>
- <para>Isso adiciona uma definição para o serviço.</para>
- </listitem>
- <listitem>
- <para>Selecione o componente <emphasis
- role="bold">ESP</emphasis> , em seguida, selecione a aba ESP
- Service Bindings.</para>
- <para><graphic
- fileref="images/WsSQLServiceBinding2.jpg"/></para>
- </listitem>
- <listitem>
- <para>Forneça o nome do serviço para conectar e a porta. (A
- porta padrão é 8510)</para>
- </listitem>
- <listitem>
- <para>Salve o arquivo do ambiente.</para>
- </listitem>
- <listitem>
- <para>Copie seu arquivo environment.xml para todos os
- servidores</para>
- <programlisting># for example
- sudo -u hpcc cp /etc/HPCCSystems/source/NewEnvironment.xml
- /etc/HPCCSystems/environment.xml</programlisting>
- </listitem>
- <listitem>
- <para>Saia do Gerenciador de Configurações.</para>
- </listitem>
- <listitem>
- <para>Reinicie o sistema.</para>
- </listitem>
- <listitem>
- <para>Acesse a interface do WsSQL no seu navegador:</para>
- <para>Utilizando
- <emphasis>http://nnn.nnn.nnn.nnn:pppp</emphasis> Usando
- http://nnn.nnn.nnn.nnn:pppp (onde nnn.nnn.nnn.nnn é o endereço
- IP do seu servidor ESP e pppp é a porta de serviço WsSQL. A
- porta padrão é 8510)</para>
- </listitem>
- <listitem>
- <para>Execute o método Echo para confirmar a conectividade.
- Consulte <citebiblioid><link
- linkend="echotest">Echo</link></citebiblioid>.</para>
- </listitem>
- </orderedlist></para>
- </sect2>
- </sect1>
- </chapter>
- <chapter>
- <title>Usando arquivos HPCC como fonte de dados</title>
- <para>Uma vez instalado e configurado, o serviço WsSQL processará as
- instruções SQL enviadas e gerará o código ECL. O código é submetido e
- executado pela sua Plataforma HPCC. O conjunto de resultados é retornado
- para sua aplicação.</para>
- <para><variablelist>
- <varlistentry>
- <term>Observação:</term>
- <listitem>
- <para>O serviço WsSQL <emphasis role="bold">suporta apenas
- arquivos que contêm a definição de registro nos metadados do
- arquivo lógico.</emphasis> Arquivos com spray não contêm esses
- metadados. Esses metadados existem em qualquer arquivo ou índice
- que é gravado no HPCC Distributed File System (DFS). Arquivos de
- dados sprayed normalmente passam por algum processamento e um
- OUTPUT dos dados transformados para o disco antes do uso,
- portanto, isso não deve interferir na utilidade do serviço. Você
- pode usar o método <emphasis>CreateTableAndLoad</emphasis> para
- produzir um arquivo utilizável a partir de um arquivo pulverizado
- ou em uma zona de entrada de arquivo. Consulte <link
- linkend="CreateTableAndLoad">CreateTableAndLoad</link> para
- detalhes.</para>
- </listitem>
- </varlistentry>
- </variablelist></para>
- <para>Além disso, você pode utilizar índices no HPCC de duas
- maneiras:</para>
- <orderedlist numeration="arabic">
- <listitem>
- <para>Forneça instruções SQL para que o serviço use um índice
- específico para sua consulta.</para>
- <para>Por exemplo:</para>
- <programlisting>USEINDEX(TutorialPersonByZipIndex)</programlisting>
- </listitem>
- <listitem>
- <para>Especifique os índices relacionados na descrição do arquivo
- lógico do HPCC.</para>
- </listitem>
- </orderedlist>
- <sect1 role="nobrk">
- <title>Anotações de Índice</title>
- <para>O serviço WsSQL tenta executar leituras baseadas em índice sempre
- que possível. No entanto, para aproveitar as leituras de índice, os
- arquivos de HPCC de destino precisam ser anotados com os nomes de
- arquivo de índice pertinentes. Isso é feito adicionando a seguinte
- entrada de chave/valor na descrição do arquivo usando o ECL
- Watch.</para>
- <para>Na página de detalhes de um arquivo lógico, insira as informações
- na caixa de entrada Description e pressione o botão <emphasis
- role="bold">Save </emphasis> .</para>
- <para>Essas informações são usadas pelo serviço para decidir se uma
- busca de índice é possível para uma consulta no arquivo base.</para>
- <sect2>
- <title><emphasis role="bold">No arquivo de origem:</emphasis></title>
- <para><emphasis role="bold">XDBC:RelIndexes=
- [</emphasis><emphasis><emphasis
- role="bold"><emphasis>fullLogicalFilename1</emphasis></emphasis></emphasis><emphasis
- role="bold">;<emphasis>
- fullLogicalFilename2</emphasis></emphasis><emphasis
- role="bold">]</emphasis></para>
- <para/>
- <para>Exemplo:</para>
- <programlisting>XDBC:RelIndexes=[tutorial::yn::peoplebyzipindex;
- tutorial::yn::peoplebyzipindex2;
- tutorial::yn::peoplebyzipindex3]</programlisting>
- <para>Neste exemplo, o arquivo de origem possui três índices
- disponíveis.</para>
- <para>Você pode adicionar anotações usando o método <link
- linkend="SetRelatedIndexes">SetRelatedIndexes</link> .</para>
- </sect2>
- <sect2 role="brk">
- <title><emphasis role="bold">No arquivo de índice:</emphasis></title>
- <para><emphasis
- role="bold">XDBC:PosField=[</emphasis><emphasis>indexPositionFieldName</emphasis><emphasis
- role="bold">]</emphasis></para>
- <para/>
- <para>Exemplo:</para>
- <programlisting>XDBC:PosField=[fpos]</programlisting>
- <para>O campo FilePosition (fpos) pode ter qualquer nome, portanto,
- ele deve ser sespecificado nos metadados para que o serviço saiba qual
- campo é o sfileposition.</para>
- <para>Basta digitar as informações na caixa de entrada da descrição e
- pressionar o botão <emphasis role="bold">Save Description</emphasis>
- .</para>
- <variablelist>
- <varlistentry>
- <term>Observação:</term>
- <listitem>
- <para>Você deve inserir essas informações ANTES de publicar
- qualquer consulta usando o arquivo de dados ou índices.
- Consultas publicadas bloqueiam o arquivo e impedem a edição dos
- metadados.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para/>
- </sect2>
- </sect1>
- </chapter>
- <chapter>
- <title>Métodos</title>
- <para>Esses métodos estão incluídos na interface de serviço do
- WsSQL:</para>
- <para/>
- <itemizedlist>
- <listitem>
- <para><emphasis role="bold">Echo</emphasis></para>
- <para>Este método é fornecido para testar a comunicação de ponta a
- ponta. A sequência de entrada é ecoada na resposta.</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">GetDBSystemInfo</emphasis></para>
- <para>Você pode usar esse método para coletar informações de versão da
- Plataforma HPCC.</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">GetMetadata</emphasis></para>
- <para>Esse método fornece metadados que você pode usar para criar uma
- exibição ou um modelo do sistema de HPCC de destino como um banco de
- dados acessível SQL. Você pode solicitar tabelas, Stored Procedures,
- e/ou Targetclusters.</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">ExecuteSQL</emphasis></para>
- <para>Use este método para enviar consultas SQL padrão (não
- preparadas). Este método aceita texto-livre SQL (veja a sintaxe
- suportada abaixo).</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">GetRelatedIndexes</emphasis></para>
- <para>Este método recupera informações da descrição de um arquivo
- lógico sobre índices relacionados.</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">GetResults</emphasis></para>
- <para>Esse método fornece resultados de consultas executadas
- anteriormente.</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">PrepareSQL</emphasis></para>
- <para>Esse método fornece a capacidade de enviar uma solicitação SQL
- free-hand para uso posterior como uma consulta parametrizada. Ele
- compila a consulta e retorna a ID da Workunit (WUID). Este WUID é
- usado posteriormente para executar a consulta com os parâmetros de
- entrada fornecidos usando o método ExecutePreparedSQL. Isso é ideal
- para consultas que são executadas muitas vezes com valores
- diferentes.</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">ExecutePreparedSQL</emphasis></para>
- <para>Este método executa uma consulta SQL parametrizada previamente
- criada. A consulta é referenciada usando um ID de Workunit (WUID), que
- é retornado do método PrepareSQL. O chamador pode especificar a
- sequência de parâmetros de entrada como pares de valor-chave, que
- estão vinculados à consulta pré-compilada.</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">CreateTableAndLoad</emphasis></para>
- <para>Esse método lê um arquivo lógico ou um arquivo em uma zona de
- entrada e cria uma nova tabela e carrega os dados do arquivo de origem
- criando uma tabela (arquivo lógico) que o WsSQL pode usar. Esta função
- destina-se ao uso quando você tem um arquivo lógico sem metadados ou
- para importar um novo arquivo para uma plataforma HPCC.</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">SetRelatedIndexes</emphasis></para>
- <para>Esse método adiciona informações a uma descrição de arquivo
- lógico que o WsSQL usa como uma anotação de um índice
- relacionado.</para>
- </listitem>
- </itemizedlist>
- <sect1 id="echotest">
- <title>Echo</title>
- <para>Essa função recebe uma string de entrada e "echoes" o valor em seu
- resultado.</para>
- <para>Esta função destina-se ao teste de conectividade de ponta a ponta.
- Uma resposta bem-sucedida indica uma boa conexão com o servidor que
- hospeda o serviço da Web do Ws-SQL. Esta função foi construída para o
- teste de conectividade.</para>
- <para>Recomendamos usar essa função como uma primeira etapa do processo
- de desenvolvimento de aplicativos.</para>
- <sect2>
- <title>Exemplo de entrada XML</title>
- <para><programlisting><soap:Envelope>
- <soap:Body>
- <EchoRequest>
- <Request><emphasis role="bluebold">StringToEcho</emphasis></Request>
- </EchoRequest>
- </soap:Body>
- </soap:Envelope>
- </programlisting></para>
- </sect2>
- <sect2>
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">EchoRequest</programlisting></entry>
- <entry>N</entry>
- <entry>Estrutura contendo a solicitação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Request</programlisting></entry>
- <entry>N</entry>
- <entry>String para ecoar no resultado</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- <sect2>
- <title>Descrições da Tag de Resposta</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">EchoResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Response</programlisting></entry>
- <entry>Response</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1>
- <title>GetDBSystemInfo</title>
- <para>Este método permite obter informações sobre a versão do HPCC
- System.</para>
- <sect2>
- <title>Exemplo de entrada XML</title>
- <para><programlisting><soap:Envelope>
- <soap:Body>
- <GetDBSystemInfoRequest>
- <IncludeAll><emphasis role="bluebold">1</emphasis></IncludeAll>
- </GetDBSystemInfoRequest>
- </soap:Body>
- </soap:Envelope>
- </programlisting></para>
- </sect2>
- <sect2>
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">GetDBSystemInfoRequest</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo a solicitação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> IncludeAll</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido como 1 ou verdadeiro, todas as
- informações disponíveis serão retornadas</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- <sect2>
- <title>Descrições da Tag de Resposta</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">GetDBSystemInfoResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
- <entry>Estrutura contendo o pedido. Consulte <link
- linkend="ExceptionStructure">Estrutura de Exceções</link> em
- Estruturas Comuns</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>Nome</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> FullVersion</programlisting></entry>
- <entry>Versão Completa da Plataforma HPCC</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Major</programlisting></entry>
- <entry>Major da Plataforma HPCC</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Minor</programlisting></entry>
- <entry>Minor da Plataforma HPCC</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Point</programlisting></entry>
- <entry>Ponto da Plataforma HPCC</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Project</programlisting></entry>
- <entry>Project da Plataforma HPCC</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Maturity</programlisting></entry>
- <entry>Maturidade da Plataforma HPCC</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> WsSQLFullVersion</programlisting></entry>
- <entry>Versão Completa do WsSQL</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> WsSQLMajor </programlisting></entry>
- <entry>Major do WsSQL</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> WsSQLMinor </programlisting></entry>
- <entry>Minor do WsSQL</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> WsSQLPoint </programlisting></entry>
- <entry>Ponto do WsSQL</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> WsSQLProject </programlisting></entry>
- <entry>Projeto do WsSQL</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> WsSQLMaturity</programlisting></entry>
- <entry>Maturidade do WsSQL</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1>
- <title>GetDBMetaData</title>
- <para>Esse método permite que você consulte a Plataforma HPCC e obtenha
- metadados para criar uma exibição ou modelo do sistema de HPCC de
- destino como um banco de dados acessível por SQL.</para>
- <para>Você pode solicitar um ou mais dos seguintes itens:</para>
- <itemizedlist>
- <listitem>
- <para>Tabelas (arquivos lógicos no cluster HPCC)</para>
- </listitem>
- <listitem>
- <para>Stored Procedures (Consultas Publicadas)</para>
- </listitem>
- <listitem>
- <para>TargetClusters</para>
- </listitem>
- </itemizedlist>
- <sect2>
- <title>Exemplo de entrada XML</title>
- <para><programlisting><soap:Envelope>
- <soap:Body>
- <GetDBMetaDataRequest>
- <IncludeTables><emphasis role="bluebold">1</emphasis></IncludeTables>
- <TableFilter/>
- <IncludeStoredProcedures><emphasis role="bluebold">1</emphasis></IncludeStoredProcedures>
- <QuerySet/>
- <IncludeTargetClusters><emphasis role="bluebold">1</emphasis></IncludeTargetClusters>
- <ClusterType/>
- </GetDBMetaDataRequest>
- </soap:Body>
- </soap:Envelope></programlisting></para>
- </sect2>
- <sect2>
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">GetDBMetaDataRequest</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo a solicitação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> IncludeTables</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido como 1 ou verdadeiro, as tabelas
- disponíveis serão incluídas na resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TableFilter</programlisting></entry>
- <entry>N</entry>
- <entry>Filtrar por resultados da tabela</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> IncludeStoredProcedures</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido como 1 ou verdadeiro, as Stored
- Procedures serão incluídas na resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> QuerySet</programlisting></entry>
- <entry>N</entry>
- <entry>QuerySet para usar como filtro para procedimentos
- armazenados para retornar</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> IncludeTargetClusters</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido como 1 ou verdadeiro, os Clusters de
- Destino disponíveis serão incluídos na resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ClusterType</programlisting></entry>
- <entry>N</entry>
- <entry>Tipo de cluster a ser usado como filtro</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- <sect2 role="brk">
- <title>Descrições da Tag de Resposta</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">GetDBMetaDataResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
- <entry>Estrutura contendo o pedido. Consulte <link
- linkend="ExceptionStructure">Estrutura de Exceções</link> em
- Estruturas Comuns</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TableCount</programlisting></entry>
- <entry>Contagem de tabelas disponíveis</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Tables</programlisting></entry>
- <entry>Estrutura contendo uma ou mais tabelas</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Table</programlisting></entry>
- <entry>Estrutura contendo uma tabela</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>Nome da tabela</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Columns</programlisting></entry>
- <entry>Estrutura contendo uma ou mais colunas</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Columns</programlisting></entry>
- <entry>Colunas</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>Nome da Coluna</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Type</programlisting></entry>
- <entry>Tipo de dados da coluna (por exemplo, unsigned8,
- string3)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ECL</programlisting></entry>
- <entry>Definição ECL para a tabela</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Format</programlisting></entry>
- <entry>Formato da tabela (por exemplo, FLAT, KEYED,
- etc)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ContentType</programlisting></entry>
- <entry>Tipo de Conteúdo</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Description</programlisting></entry>
- <entry>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> IsKeyed</programlisting></entry>
- <entry>Indicador booleano: É um índice?</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> IsSuper</programlisting></entry>
- <entry>Indicador booleano: É um superfile?</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> CsvQuote</programlisting></entry>
- <entry>Caractere de cotação (válido apenas para arquivos
- CSV)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> CsvSeparate</programlisting></entry>
- <entry>Caractere de separação (válido apenas para arquivos
- CSV)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> CsvTerminate</programlisting></entry>
- <entry>Gravar caractere terminador (válido apenas para
- arquivos CSV)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Group</programlisting></entry>
- <entry>Grupo</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> MaxRecordSize</programlisting></entry>
- <entry>Tamanho máximo do registro</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Modified</programlisting></entry>
- <entry>Data de modificação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> NumParts</programlisting></entry>
- <entry>Número da partes dos arquivos</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Owner</programlisting></entry>
- <entry>Nome do Owner</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> QuerySets</programlisting></entry>
- <entry>Estrutura contendo um ou mais conjuntos de
- consultas</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> QuerySet</programlisting></entry>
- <entry>Estrutura contendo um Grupo de Consultas</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>Nome da Consulta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> QuerySetQueries</programlisting></entry>
- <entry>Estrutura contendo uma ou mais
- QuerySetQueries</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> QuerySetQuery</programlisting></entry>
- <entry>Estrutura contendo um QuerySetQuery</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>Nome da Consulta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Id</programlisting></entry>
- <entry>ID da consulta (somente para uso interno e fins
- informativos)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Wuid</programlisting></entry>
- <entry>ID da workunit</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Suspended</programlisting></entry>
- <entry>Indicador booleano: A consulta está suspensa?</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Signature</programlisting></entry>
- <entry>Assinatura da Consulta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> InParams</programlisting></entry>
- <entry>Estrutura contendo uma ou mais parâmetros de
- entrada</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> InParam</programlisting></entry>
- <entry>Estrutura contendo um parâmetro de entrada</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>Nome do parâmetro</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Type</programlisting></entry>
- <entry>Tipo de dados de parâmetro (por exemplo,
- string)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultSets</programlisting></entry>
- <entry>Estrutura contendo um ou mais Conjuntos de Resultados
- (somente o primeiro conjunto de resultados é retornado de
- uma solicitação de serviço WsSQL)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultSet</programlisting></entry>
- <entry>Estrutura contendo um conjunto de resultados</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>Nome do conjunto de resultados</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> OutParams</programlisting></entry>
- <entry>Estrutura contendo uma ou mais parâmetros de
- saída</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> OutParam</programlisting></entry>
- <entry>Estrutura contendo um parâmetro de resultado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>Nome do parâmetro</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Type</programlisting></entry>
- <entry>Tipo de dados de parâmetro (por exemplo,
- string)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> QuerySetAliases</programlisting></entry>
- <entry>Estrutura contendo uma ou mais
- QuerySetAliases</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> QuerySetAlias</programlisting></entry>
- <entry>Estrutura contendo um QuerySetAlias</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>Nome da Consulta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Id</programlisting></entry>
- <entry>ID da Consulta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ClusterNames</programlisting></entry>
- <entry>Estrutura contendo uma ou mais TargetClusters</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ClusterName</programlisting></entry>
- <entry>Estrutura contendo um TargetCluster</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1>
- <title>ExecuteSQL</title>
- <para>Use este método para enviar consultas SQL padrão (não preparadas).
- A tag de entrada <emphasis role="bold">SqlText</emphasis> aceita texto
- em SQL livre (consulte a sintaxe SQL suportada abaixo).</para>
- <para>Se você está executando SQL usando SELECT ou SELECT JOIN, você
- deve especificar o <emphasis
- role="bold">TargetCluster</emphasis>.</para>
- <para>Se você estiver executando o SQL que usa um CALL em uma stored
- procedure, deverá qualificar totalmente o nome da procedure (por
- exemplo: Roxie.FindPeopleByZip) ou especifique o <emphasis
- role="bold">TargetQuerySet</emphasis> aqui. Os parâmetros devem ser
- passados em ordem, não por nome. Você pode recuperar o pedido usando
- GetDBMetaData.</para>
- <para>Para excluir o esquema de resultados no resultado, defina a opção
- <emphasis role="bold">SuppressXmlSchema</emphasis> opção para 1 ou
- verdadeiro.</para>
- <para>Para a paginação do conjunto de resultados, você pode limitar o
- total de resultados da consulta e a página inicial retornada (<emphasis
- role="bold">ResultWindowStart</emphasis>, <emphasis
- role="bold">ResultWindowCount</emphasis>).</para>
- <sect2>
- <title>Sample Input XML</title>
- <para><programlisting><soap:Envelope>
- <ExecuteSQLRequest>
- <SqlText><emphasis role="bluebold">SELECT * from tutorial::yn::tutorialperson where lastname='JONES'</emphasis></SqlText>
- <UserName><emphasis role="bluebold">Emily</emphasis></UserName>
- <emphasis role="greenbold"><!-- Use either TargetCluster or TargetQuerySet, not both --></emphasis>
- <emphasis role="greenbold"><!-- If stored procedure was fully qualified, you can omit TargetQuerySet --></emphasis>
- <TargetCluster><emphasis role="bluebold">thor</emphasis></TargetCluster>
- <TargetQuerySet><emphasis role="bluebold"/></TargetQuerySet>
- <SuppressResults><emphasis role="bluebold">1</emphasis></SuppressResults>
- <SuppressXmlSchema><emphasis role="bluebold">0</emphasis></SuppressXmlSchema>
- <resultLimit><emphasis role="bluebold">100</emphasis></resultLimit>
- <emphasis role="greenbold"><!-- For page loading --></emphasis>
- <ResultWindowStart><emphasis role="bluebold">0</emphasis></ResultWindowStart>
- <ResultWindowCount><emphasis role="bluebold">50</emphasis></ResultWindowCount>
- </ExecuteSQLRequest>
- </soap:Envelope>
- </programlisting></para>
- </sect2>
- <sect2 role="brk">
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">ExecuteSQLRequest</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo a solicitação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> SqlText</programlisting></entry>
- <entry>Y</entry>
- <entry>Este método aceita texto-livre SQL (veja a sintaxe
- suportada abaixo).</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> UserName</programlisting></entry>
- <entry>N</entry>
- <entry>Nome de usuário para transmitir para o HPCC. Isso é
- usado como job owner no HPCC</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TargetCluster</programlisting></entry>
- <entry>Y *</entry>
- <entry>Se você estiver executando o SQL usando um SELECT ou
- SELECT JOIN, deverá especificar o TargetCluster.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TargetQuerySet</programlisting></entry>
- <entry>Y *</entry>
- <entry>Se você estiver executando um SQL preparado que use
- um CALL em um procedimento armazenado, deverá qualificar
- totalmente o nome do procedimento no SQL preparado (por
- exemplo: Roxie.FindPeopleByZip) ou especifique o
- TargetCluster aqui.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> SuppressResults</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido como 1 ou verdadeiro, os resultados da
- consulta não serão incluídos na resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> SuppressXmlSchema</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido como 1 ou verdadeiro, o esquema do
- resultado da consulta não será incluído na resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Wait</programlisting></entry>
- <entry>N</entry>
- <entry>Tempo limite em milissegundos. Use -1 para tempo
- ilimitado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> resultLimit</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido, os resultados podem conter tantos
- registros quanto esse limite</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
- <entry>N</entry>
- <entry>Para uso com carregamento de página, o registro
- inicial a ser retornado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
- <entry>N</entry>
- <entry>Para uso com carregamento de página, o número de
- registros a serem incluídos no ResultWindowStart</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable><parameter>* Um ou outro é
- obrigatório</parameter></para>
- </sect2>
- <sect2>
- <title>Descrições da Tag de Resposta</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">ExecuteSQLResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
- <entry>Estrutura contendo o pedido. Consulte <link
- linkend="ExceptionStructure">Estrutura de Exceções</link> em
- Estruturas Comuns</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ParentWuId</programlisting></entry>
- <entry>O ID da Workunit para a workunit pai (aquela com o
- SQL preparado)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Result</programlisting></entry>
- <entry>O resultado da consulta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Workunit</programlisting></entry>
- <entry>Estrutura contendo detalhes da Workunit. Consulte
- <link linkend="WUStructure">Estrutura da Workunit</link> em
- Estruturas Comuns</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> resultLimit</programlisting></entry>
- <entry>O resultLimit enviado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
- <entry>O ReslutWindowStart enviado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
- <entry>O ResultWindowCount enviado</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1>
- <title>GetResults</title>
- <para>Esse método fornece resultados de consultas executadas
- anteriormente. Use a <emphasis role="bold">Wuid</emphasis> retornada de
- <emphasis role="bold">ExecuteSQL</emphasis> ou <emphasis
- role="bold">PrepareSQL</emphasis>. Este método é ideal para paginação de
- resultados.</para>
- <sect2>
- <title>Sample Input XML</title>
- <para><programlisting><soap:Envelope>
- <soap:Body>
- <GetResultsRequest>
- <WuId><emphasis role="bluebold">W20140529-161930</emphasis></WuId>
- <SuppressXmlSchema><emphasis role="bluebold">1</emphasis></SuppressXmlSchema>
- <ResultWindowStart><emphasis role="bluebold">0</emphasis></ResultWindowStart>
- <ResultWindowCount><emphasis role="bluebold">0</emphasis></ResultWindowCount>
- </GetResultsRequest>
- </soap:Body>
- </soap:Envelope></programlisting></para>
- </sect2>
- <sect2>
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">GetResultsRequest</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo a solicitação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> WuId</programlisting></entry>
- <entry>Y</entry>
- <entry>Workunit Id (WUID)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> SuppressXmlSchema</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido como 1 ou verdadeiro, o esquema do
- resultado da consulta não será incluído na resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
- <entry>N</entry>
- <entry>Para uso com carregamento de página, o registro
- inicial a ser retornado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
- <entry>N</entry>
- <entry>Para uso com carregamento de página, o número de
- registros a serem incluídos no ResultWindowStart</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- <sect2>
- <title>Descrições da Tag de Resposta</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">GetResultsResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
- <entry>Estrutura contendo o pedido. Consulte <link
- linkend="ExceptionStructure">Estrutura de Exceções</link> em
- Estruturas Comuns</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Result</programlisting></entry>
- <entry>O resultado da consulta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
- <entry>O registro inicial enviado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
- <entry>A contagem de registros enviados</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Workunit</programlisting></entry>
- <entry>Estrutura contendo detalhes da Workunit. Consulte
- <link linkend="WUStructure">Estrutura da Workunit</link> em
- Estruturas Comuns</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1>
- <title>PrepareSQL</title>
- <para>Use este método para enviar uma solicitação free-hand SQL para uso
- posterior como uma consulta parametrizada. Isso compila a consulta e
- retorna a <emphasis role="bold">Wuid</emphasis>. Esta <emphasis
- role="bold">Wuid</emphasis> é usada posteriormente para executar a
- consulta com os parâmetros de entrada fornecidos usando o método
- <emphasis role="bold">ExecutePreparedSQL</emphasis> .</para>
- <para>Isso é ideal para consultas que são executadas muitas vezes com
- valores diferentes.</para>
- <para>O SQL preparado pode conter qualquer sintaxe SQL suportada.</para>
- <para>Se você está executando SQL usando SELECT ou SELECT JOIN, você
- deve especificar o <emphasis
- role="bold">TargetCluster</emphasis>.</para>
- <para>Se você estiver usando uma CHAMADA para uma store procedure
- armazenada , deverá qualificar totalmente o nome do procedimento no SQL
- (por exemplo: Roxie.FindPeopleByZip) ou especifique o <emphasis
- role="bold">TargetQuerySet</emphasis> aqui. Os parâmetros devem ser
- passados em ordem, não por nome. Você pode recuperar o pedido usando
- GetDBMetaData.</para>
- <para>Crie parâmetros usando um ? como um placeholder.</para>
- <para><emphasis role="bold">Exemplo:</emphasis></para>
- <para><programlisting>select * from tutorial::yn::tutorialperson where lastname=?</programlisting>Mais
- tarde, você enviaria uma solicitação para <emphasis
- role="bold">ExecutePreparedSQL</emphasis> fornecer um valor para usar o
- <emphasis>lastname</emphasis> conforme mostrado no exemplo a
- seguir:</para>
- <para><programlisting><soap:Envelope >
- <soap:Body>
- <ExecutePreparedSQLRequest>
- <WuId><emphasis role="bluebold">W20140724-135811</emphasis></WuId>
- <TargetCluster><emphasis role="bluebold">thor</emphasis></TargetCluster>
- <SuppressResults><emphasis role="bluebold">0</emphasis></SuppressResults>
- <SuppressXmlSchema><emphasis role="bluebold">1</emphasis></SuppressXmlSchema>
- <resultLimit><emphasis role="bluebold">100</emphasis></resultLimit>
- <Variables>
- <NamedValue>
- <Name><emphasis role="bluebold">lastname</emphasis></Name>
- <Value><emphasis role="bluebold">JONES</emphasis></Value>
- </NamedValue>
- </Variables>
- </ExecutePreparedSQLRequest>
- </soap:Body>
- </soap:Envelope></programlisting></para>
- <sect2>
- <title>Sample Input XML</title>
- <para><programlisting><soap:Envelope >
- <soap:Body>
- <PrepareSQLRequest>
- <SqlText><emphasis role="bluebold">select * from tutorial::yn::tutorialperson where lastname=?</emphasis></SqlText>
- <emphasis role="greenbold"><!-- Use either TargetCluster or TargetQuerySet, not both --></emphasis>
- <emphasis role="greenbold"><!-- If stored procedure is fully qualified, you can omit TargetQuerySet --></emphasis>
- <TargetCluster><emphasis role="bluebold">thor</emphasis></TargetCluster>
- </PrepareSQLRequest>
- </soap:Body>
- </soap:Envelope></programlisting></para>
- </sect2>
- <sect2 role="brk">
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">PrepareSQLRequest</programlisting></entry>
- <entry>N</entry>
- <entry>Estrutura contendo a solicitação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> SqlText</programlisting></entry>
- <entry>Y</entry>
- <entry>Este método aceita texto-livre SQL (veja a sintaxe
- suportada abaixo).</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TargetCluster</programlisting></entry>
- <entry>Y *</entry>
- <entry>Se você estiver executando o SQL usando um SELECT ou
- SELECT JOIN, deverá especificar o TargetCluster.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TargetQuerySet</programlisting></entry>
- <entry>Y *</entry>
- <entry>Se você estiver executando um SQL preparado que use
- um CALL em um procedimento armazenado, deverá qualificar
- totalmente o nome do procedimento no SQL preparado (por
- exemplo: Roxie.FindPeopleByZip) ou especifique o
- TargetCluster aqui.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Wait</programlisting></entry>
- <entry>N</entry>
- <entry>Tempo limite em milissegundos. Use -1 para tempo
- ilimitado</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable><parameter>* Um ou outro é
- obrigatório</parameter></para>
- </sect2>
- <sect2>
- <title>Descrições da Tag de Resposta</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">PrepareSQLResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
- <entry>Estrutura contendo o pedido. Consulte <link
- linkend="ExceptionStructure">Estrutura de Exceções</link> em
- Estruturas Comuns</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Workunit</programlisting></entry>
- <entry>Estrutura contendo detalhes da Workunit. Consulte
- <link linkend="WUStructure">Estrutura da Workunit</link> em
- Estruturas Comuns</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Result</programlisting></entry>
- <entry>Estrutura contendo resultado (se houver)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1>
- <title>ExecutePreparedSQL</title>
- <para>Este método executa uma consulta SQL parametrizada previamente
- criada.</para>
- <para>A consulta compilada de destino é referenciada usando um ID da
- Workunit (<emphasis role="bold">Wuid</emphasis>), que é devolvido pelo
- <emphasis role="bold">PrepareSQL</emphasis> . O chamador pode
- especificar a sequência de parâmetros de entrada como pares de
- valor-chave, que estão vinculados à consulta pré-compilada.</para>
- <para>O SQL preparado pode conter qualquer sintaxe SQL suportada.</para>
- <para>Se você estiver executando o SQL usando um SELECT ou SELECT JOIN,
- pode fornecer um <emphasis role="bold">TargetCluster</emphasis> para
- substituir o especificado ao enviar a solicitação PrepareSQL; no
- entanto, deve ser um cluster do mesmo tipo.</para>
- <para>Se você quiser limitar o número de resultados, você deve usar uma
- cláusula LIMIT em sua consulta SQL.</para>
- <para>Para a paginação do conjunto de resultados, você pode limitar o
- total de resultados da consulta e a página inicial retornada (<emphasis
- role="bold">ResultWindowStart</emphasis>, <emphasis
- role="bold">ResultWindowCount</emphasis>).</para>
- <sect2>
- <title>Sample Input XML</title>
- <para><programlisting><soap:Envelope>
- <soap:Body>
- <ExecutePreparedSQLRequest>
- <WuId><emphasis role="bluebold">W20140529-161930</emphasis></WuId>
- <UserName><emphasis role="bluebold">EmilyKate</emphasis></UserName>
- <emphasis role="greenbold"><!-- You can override the TargetCluster used in original PrepareSQL query, <emphasis
- role="greenbold">--></emphasis>
- <!-- but it must be of the same type --></emphasis>
- <TargetCluster><emphasis role="bluebold">Thor</emphasis></TargetCluster>
- <SuppressResults><emphasis role="bluebold">0</emphasis></SuppressResults>
- <SuppressXmlSchema><emphasis role="bluebold">1</emphasis></SuppressXmlSchema>
- <Wait><emphasis role="bluebold">-1</emphasis></Wait>
- <emphasis role="greenbold"><!-- For page loading --></emphasis>
- <ResultWindowStart><emphasis role="bluebold">0</emphasis></ResultWindowStart>
- <ResultWindowCount><emphasis role="bluebold">50</emphasis></ResultWindowCount>
- <emphasis role="greenbold"><!-- Paramaters using name/value pairs --></emphasis>
- <Variables>
- <NamedValue>
- <Name><emphasis role="bluebold">firstname</emphasis></Name>
- <Value><emphasis role="bluebold">Jim</emphasis></Value>
- </NamedValue>
- <NamedValue>
- <Name><emphasis role="bluebold">lastname</emphasis></Name>
- <Value>JONES</Value>
- </NamedValue>
- </Variables>
- </ExecutePreparedSQLRequest>
- </soap:Body>
- </soap:Envelope>
- </programlisting></para>
- </sect2>
- <sect2 role="brk">
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200 pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">ExecutePreparedSQLRequest</programlisting></entry>
- <entry>N</entry>
- <entry>Estrutura contendo a solicitação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> WuId</programlisting></entry>
- <entry>Y</entry>
- <entry>A ID da Workunit (WUID)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> UserName</programlisting></entry>
- <entry>N</entry>
- <entry>O nome de usuário para usar como nome próprio do
- trabalho na plataforma HPCC</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TargetCluster</programlisting></entry>
- <entry>Y</entry>
- <entry>Se você estiver executando o SQL preparado usando um
- SELECT ou SELECT JOIN, poderá especificar o TargetCluster,
- mas ele deve ser do mesmo tipo daquele em que foi
- preparado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> SuppressResults</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido como 1 ou verdadeiro, os resultados da
- consulta não serão incluídos na resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> SuppressXmlSchema</programlisting></entry>
- <entry>N</entry>
- <entry>Se definido como 1 ou verdadeiro, o esquema do
- resultado da consulta não será incluído na resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Wait</programlisting></entry>
- <entry>N</entry>
- <entry>Tempo limite em milissegundos. Use -1 para tempo
- ilimitado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
- <entry>N</entry>
- <entry>Para uso com carregamento de página, o registro
- inicial a ser retornado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
- <entry>N</entry>
- <entry>Para uso com carregamento de página, o número de
- registros a serem incluídos no ResultWindowStart</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Variables</programlisting></entry>
- <entry>N</entry>
- <entry>Se seu SQL preparado tiver parâmetros, forneça-os
- como pares nome/valor dentro dessa estrutura</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> NamedValue</programlisting></entry>
- <entry>N</entry>
- <entry>Uma estrutura contendo um par Nome/Valor</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>N</entry>
- <entry>Name</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Value</programlisting></entry>
- <entry>N</entry>
- <entry>Valor</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- <sect2>
- <title>Descrições da Tag de Resposta</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">ExecutePreparedSQLResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
- <entry>Estrutura contendo o pedido. Consulte <link
- linkend="ExceptionStructure">Estrutura de Exceções</link> em
- Estruturas Comuns</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ParentWuId</programlisting></entry>
- <entry>O ID da Workunit para a workunit pai (aquela com o
- SQL preparado)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Result</programlisting></entry>
- <entry>O resultado da consulta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
- <entry>O registro inicial enviado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
- <entry>A contagem de registros enviados</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Workunit</programlisting></entry>
- <entry>Estrutura contendo detalhes da Workunit. Consulte
- <link linkend="WUStructure">Estrutura da Workunit</link> em
- Estruturas Comuns</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1 id="CreateTableAndLoad">
- <title>CreateTableAndLoad</title>
- <para>Esse método cria uma tabela (arquivo lógico do HPCC) que pode ser
- acessada subsequentemente usando o WsSQL. A tabela recebe o layout
- conforme especificado na seção ECLFields da solicitação. A tabela é
- então preenchida com dados de um arquivo existente. O arquivo de dados
- de origem pode residir na Zona de Entrada de Arquivo do HPCC após ser
- carregado, ou pode já ter sofrido o spray no sistema.</para>
- <sect2>
- <title>Sample Input XML</title>
- <para><programlisting><CreateTableAndLoadRequest>
- <TableName><emphasis role="bluebold">JIM::MyNewTable</emphasis></TableName>
- <TableDescription><emphasis role="bluebold">My Description of the new table</emphasis></TableDescription>
- <Overwrite>1</Overwrite>
- <EclFields>
- <EclField>
- <FieldName><emphasis role="bluebold">PersonName</emphasis></FieldName>
- <EclFieldType>
- <emphasis role="greenbold"><!-- Valid types are: BOOLEAN, INTEGER,</emphasis> <emphasis
- role="greenbold">UNSIGNED, REAL, DECIMAL, STRING, -->
- <!-- QSTRING, UNICODE, DATA, VARSTRING, or VARUNICODE -->
- </emphasis> <Type><emphasis role="bluebold">STRING</emphasis></Type>
- <Locale></Locale>
- <Length><emphasis role="bluebold">20</emphasis></Length>
- <Precision></Precision>
- </EclFieldType>
- </EclField>
- <EclField>
- <FieldName><emphasis role="bluebold">PersonID</emphasis></FieldName>
- <EclFieldType>
- <Type><emphasis role="bluebold">INTEGER</emphasis></Type>
- <Locale></Locale>
- <Length><emphasis role="bluebold">2</emphasis></Length>
- <Precision></Precision>
- </EclFieldType>
- </EclField>
- </EclFields>
- <TargetCluster><emphasis role="bluebold">thor</emphasis></TargetCluster>
- <Owner><emphasis role="bluebold">Jimmy</emphasis></Owner>
- <DataSource>
- <emphasis role="greenbold"><!-- Use either SprayedFileName --></emphasis>
- <SprayedFileName><emphasis role="bluebold">Tutorial::JD::OriginalPerson</emphasis></SprayedFileName>
- <emphasis role="greenbold"><!-- or full Landing Zone details, not both --></emphasis>
- <LandingZoneIP><emphasis role="bluebold">127.0.0.1</emphasis></LandingZoneIP>
- <LandingZonePath><emphasis role="bluebold">/var/lib/HPCCSystems/mydropzone</emphasis></LandingZonePath>
- <LandingZoneFileName><emphasis role="bluebold">OriginalPerson</emphasis></LandingZoneFileName>
- </DataSource>
- <DataSourceType>
- <emphasis role="greenbold"><!-- Valid types are: FLAT, CSV, JSON, or XML<emphasis
- role="greenbold"> --> </emphasis></emphasis>
- <Type><emphasis role="bluebold">FLAT</emphasis></Type>
- <Params>
- <Param>
- <Name></Name>
- <Values>
- <Value></Value>
- <Value></Value>
- </Values>
- </Param>
- </Params>
- </DataSourceType>
- <Wait>-1</Wait>
- </CreateTableAndLoadRequest>
- </programlisting></para>
- </sect2>
- <sect2>
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">TableName</programlisting></entry>
- <entry>Y</entry>
- <entry>O nome da tabela a ser criada no sistema de arquivos
- distribuídos da Plataforma HPCC.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TableDescription</programlisting></entry>
- <entry>N</entry>
- <entry>Sua descrição do arquivo.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Overwrite</programlisting></entry>
- <entry>N</entry>
- <entry>Indicador booleano para especificar se deve permitir
- que o novo arquivo sobrescreva um arquivo existente com o
- mesmo nome.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> EclFields</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo detalhes para o layout do registro
- do arquivo. Isso deve corresponder ao layout do arquivo de
- dados de origem</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> EclField</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo detalhes para um campo</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> FieldName </programlisting></entry>
- <entry>Y</entry>
- <entry>Nome do Campo</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> EclFieldType</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo detalhes do tipo de dados</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Type</programlisting></entry>
- <entry>Y</entry>
- <entry>Field type. Os tipos válidos são: BOOLEAN, INTEGER,
- UNSIGNED, REAL, DECIMAL, STRING, QSTRING, UNICODE, DATA,
- VARSTRING, ou VARUNICODE</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Locale </programlisting></entry>
- <entry>N</entry>
- <entry>Locale</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Length</programlisting></entry>
- <entry>Y*</entry>
- <entry>Comprimento do campo</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Precision</programlisting></entry>
- <entry>N</entry>
- <entry>Precisão de campo (casas decimais)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TargetCluster</programlisting></entry>
- <entry>Y</entry>
- <entry>O cluster de destino em que o job será
- executado.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Owner</programlisting></entry>
- <entry>N</entry>
- <entry>Nome do owner para o arquivo</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> DataSource</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo detalhes do Data Source Os
- detalhes de SprayedFileName ou LandingZone File devem ser
- fornecidos, não ambos.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> SprayedFileName</programlisting></entry>
- <entry>Y**</entry>
- <entry>Nome de arquivo lógico do arquivo de dados
- pulverizado</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> LandingZoneIP</programlisting></entry>
- <entry>Y**</entry>
- <entry>Endereço IP ou nome de host da Zona de Entrada de
- Arquivo do HPCC</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> LandingZonePath</programlisting></entry>
- <entry>Y**</entry>
- <entry>Caminho para o arquivo de dados na Zona de Entrada de
- Arquivo</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> LandingZoneFileName</programlisting></entry>
- <entry>Y**</entry>
- <entry>Nome do arquivo físico</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> DataSourceType</programlisting></entry>
- <entry>N</entry>
- <entry>Estrutura contendo detalhes do tipo
- DataSource.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Type</programlisting></entry>
- <entry>Y</entry>
- <entry>Os tipos válidos são: FLAT, CSV, JSON, or XML</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Params</programlisting></entry>
- <entry>N</entry>
- <entry>Estrutura contendo um ou mais parâmetros de tipo que
- descrevem o DataSource. Por exemplo, CSV Terminator =
- \n</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Param</programlisting></entry>
- <entry>N</entry>
- <entry>Estrutura contendo um tipo de parâmetro.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Name</programlisting></entry>
- <entry>N</entry>
- <entry>Nome</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Values</programlisting></entry>
- <entry>N</entry>
- <entry>Estrutura contendo um ou mais valores.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Value</programlisting></entry>
- <entry>N</entry>
- <entry>Valor</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Wait</programlisting></entry>
- <entry>N</entry>
- <entry>Tempo limite em milissegundos. Use -1 para tempo
- ilimitado</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- <para>* <emphasis role="bold">O comprimento do campo é necessário
- apenas para campos de largura fixa (arquivos FLAT)</emphasis></para>
- <para>** <emphasis role="bold">Os detalhes do SprayedFileName ou do
- LandingZone File devem ser fornecidos, não ambos</emphasis></para>
- </sect2>
- <sect2>
- <title>Descrições da Tag de Resposta</title>
- <para>A estrutura de resposta contém muitas tags que fornecem
- informações úteis para desenvolvimento e depuração do código ECL. A
- maioria deles está fora do escopo deste documento. Apenas aqueles que
- são úteis ao usar o serviço WsSQL estão listados abaixo.</para>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">CreateTableAndLoadResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TableName</programlisting></entry>
- <entry>Nome da tabela criada</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Success</programlisting></entry>
- <entry>Indicador booleano de sucesso [1 = sucesso]</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> EclRecordDefinition</programlisting></entry>
- <entry>Definição de registro fornecida no formato
- ECL</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Workunit</programlisting></entry>
- <entry>Estrutura contendo detalhes da Workunit. Consulte
- <link linkend="WUStructure">Estrutura da Workunit</link> em
- Estruturas Comuns</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1 id="SetRelatedIndexes">
- <title>SetRelatedIndexes</title>
- <para>Essa função adiciona uma descrição a um arquivo lógico a ser usado
- como uma anotação que indica um arquivo de índice relacionado a um
- arquivo de dados. Isso o torna disponível para o WsSQL para uso em uma
- busca indexada.</para>
- <para/>
- <sect2>
- <title>Sample Input XML</title>
- <para><programlisting><SetRelatedIndexesRequest>
- <RelatedIndexSets>
- <RelatedIndexSet>
- <FileName><emphasis role="bluebold">Tutorial::JD::TutorialPerson</emphasis></FileName>
- <Indexes>
- <Index><emphasis role="bluebold">Tutorial::JD::TutorialPersonByName</emphasis></Index>
- <Index><emphasis role="bluebold">Tutorial::JD::TutorialPersonByZIP</emphasis></Index>
- </Indexes>
- </RelatedIndexSet>
- <RelatedIndexSet>
- </SetRelatedIndexesRequest>
- </programlisting></para>
- </sect2>
- <sect2>
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">SetRelatedIndexesRequest</programlisting></entry>
- <entry/>
- <entry>Estrutura contendo a solicitação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> RelatedIndexSets</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo uma ou mais relacionadas índice
- estabelece</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> RelatedIndexSet</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo um conjunto de índice
- relacionados</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> FileName</programlisting></entry>
- <entry>Y</entry>
- <entry>Nome de arquivo lógico ao qual a anotação é
- adicionada</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Indexes</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo um ou mais índices para adicionar
- à anotação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Index</programlisting></entry>
- <entry>Y</entry>
- <entry>Índice para adicionar à anotação</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- <sect2>
- <title>Descrições da Tag de Resposta</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">SetRelatedIndexesResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> RelatedIndexSets</programlisting></entry>
- <entry>Estrutura contendo uma ou mais relacionadas índice
- estabelece</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> RelatedIndexSet</programlisting></entry>
- <entry>Estrutura contendo um conjunto de índice
- relacionados</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> FileName</programlisting></entry>
- <entry>Nome de arquivo lógico ao qual a anotação foi
- adicionada</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Indexes</programlisting></entry>
- <entry>Estrutura contendo um ou mais índices adicionados à
- anotação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Index</programlisting></entry>
- <entry>Índice adicionados à anotação</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1 id="GetRelatedIndexes">
- <title>GetRelatedIndexes</title>
- <para>Essa função recupera informações de descrições de arquivos lógicos
- sobre anotações que indicam um arquivo de índice relacionado a um
- arquivo de dados.</para>
- <para/>
- <sect2>
- <title>Sample Input XML</title>
- <para><programlisting><GetRelatedIndexesRequest>
- <FileNames>
- <FileName><emphasis role="bluebold">Tutorial::JD::TutorialPerson</emphasis></FileName>
- </FileNames>
- </SetRelatedIndexesRequest>
- </programlisting></para>
- </sect2>
- <sect2>
- <title>Descrições das Tags de Solicitação</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="3">
- <colspec colwidth="200pt"/>
- <colspec colwidth="40 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">SetRelatedIndexesRequest</programlisting></entry>
- <entry/>
- <entry>Estrutura contendo a solicitação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> FileNames</programlisting></entry>
- <entry>Y</entry>
- <entry>Estrutura contendo uma ou mais relacionadas índice
- estabelece</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> FileName</programlisting></entry>
- <entry>Y</entry>
- <entry>Nome de arquivo lógico ao qual a anotação é
- adicionada</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- <sect2>
- <title>Descrições da Tag de Resposta</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200 pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">GetRelatedIndexesResponse</programlisting></entry>
- <entry>Estrutura contendo a resposta</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> RelatedIndexSets</programlisting></entry>
- <entry>Estrutura contendo uma ou mais relacionadas índice
- estabelece</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> RelatedIndexSet</programlisting></entry>
- <entry>Estrutura contendo um conjunto de índice
- relacionados</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> FileName</programlisting></entry>
- <entry>Nome de arquivo lógico ao qual a anotação foi
- adicionada</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Indexes</programlisting></entry>
- <entry>Estrutura contendo um ou mais índices adicionados à
- anotação</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Index</programlisting></entry>
- <entry>Índice adicionados à anotação</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- <sect1>
- <title>Estruturas Comuns</title>
- <para>Essas estruturas são retornadas em vários métodos.</para>
- <sect2 id="ExceptionStructure">
- <title>Estrutura de Exceções</title>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">Exceptions</programlisting></entry>
- <entry>Estrutura contendo uma ou mais exceções</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Exceção</programlisting></entry>
- <entry>Estrutura contendo uma exceção</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Code</programlisting></entry>
- <entry>Code</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Audience</programlisting></entry>
- <entry>Audience</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Source</programlisting></entry>
- <entry>Componente de origem</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Menssage</programlisting></entry>
- <entry>Mensagem de Erro</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- <sect2 id="WUStructure">
- <title>Estrutura da Workunit</title>
- <para>A estrutura da workunit contém muitas tags que fornecem
- informações úteis para desenvolvimento e depuração do código ECL. A
- maioria deles está fora do escopo deste documento. Somente aqueles que
- são úteis ao usar o serviço WsSQL são listados aqui.</para>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
- <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
- </row>
- <row>
- <entry><programlisting role="wsig">Workunit</programlisting></entry>
- <entry>Estrutura contendo detalhes da Workunit.</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Wuid</programlisting></entry>
- <entry>Workunit Id (WUID)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Owner</programlisting></entry>
- <entry>Owner do Job (se houver)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Cluster</programlisting></entry>
- <entry>Cluster de Destino</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Jobname</programlisting></entry>
- <entry>Nome do Job (se houver)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> StateID</programlisting></entry>
- <entry>State ID</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> State</programlisting></entry>
- <entry>Estado (compilado, falho, etc)</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Protected</programlisting></entry>
- <entry>Indicador booleano: A Workunit está
- protegida?</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Snapshots</programlisting></entry>
- <entry>Snapshots</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> IsPausing</programlisting></entry>
- <entry>Indicador booleano de estado de pausa</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> ThorLCR</programlisting></entry>
- <entry>Indicador booleano</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> EventSchedule</programlisting></entry>
- <entry>Indicador booleano</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> TotalCLusterTime</programlisting></entry>
- <entry>Tempo gasto para processar no cluster</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Query</programlisting></entry>
- <entry>Query</entry>
- </row>
- <row>
- <entry><programlisting role="wsig"> Result</programlisting></entry>
- <entry>Estrutura contendo resultado (se houver)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- </sect2>
- </sect1>
- </chapter>
- <chapter>
- <title>Sintaxe SQL suportada</title>
- <sect1 role="nobrk">
- <title>CALL</title>
- <para><emphasis role="bold">Call
- </emphasis><emphasis>queryName</emphasis><emphasis role="bold">
- ([</emphasis><emphasis>paramList</emphasis><emphasis
- role="bold">])</emphasis></para>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="113.65pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry>queryName</entry>
- <entry>O nome da consulta publicada ou o alias</entry>
- </row>
- <row>
- <entry>paramList</entry>
- <entry>Os parâmetros expostos pela consulta publicada
- (separados por vírgulas)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- <para>Call executa uma consulta ECL publicada como se fosse uma stored
- procedure.</para>
- <para>Exemplo:</para>
- <programlisting>Call SearchPeopleByZipService ('33024')</programlisting>
- </sect1>
- <sect1>
- <title>SELECT</title>
- <para><emphasis role="bold">select [</emphasis>distinct<emphasis
- role="bold">]</emphasis> <emphasis>colummList</emphasis> <emphasis
- role="bold">de</emphasis> <emphasis>tableList </emphasis><emphasis>
- </emphasis><emphasis role="bold">[</emphasis>USE
- INDEX<emphasis>(indexFileName</emphasis> | NONE
- <emphasis>)</emphasis><emphasis role="bold">]</emphasis></para>
- <para><emphasis role="bold">[where</emphasis>
- <emphasis>logicalExpression</emphasis><emphasis role="bold">]</emphasis>
- <emphasis role="bold">[group by</emphasis>
- <emphasis>columnList<superscript>1</superscript></emphasis><emphasis
- role="bold">]</emphasis> <emphasis role="bold">[having</emphasis>
- <emphasis>logicalExpression<superscript>2</superscript></emphasis><emphasis
- role="bold">]</emphasis></para>
- <para><emphasis role="bold">[order by</emphasis>
- <emphasis>columnList<superscript>1</superscript> </emphasis>[asc |
- desc]<emphasis> </emphasis>] <emphasis
- role="bold">[LIMIT</emphasis><emphasis> limitNumber</emphasis><emphasis
- role="bold">]</emphasis></para>
- <variablelist>
- <varlistentry>
- <term>OBSERVAÇÃO:</term>
- <listitem>
- <para>Os identificadores podem estar sem aspas ou entre aspas
- duplas; os valores das sequências literais devem ter aspas
- simples.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="123.45pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><emphasis>columnList</emphasis></entry>
- <entry>columnreference1[,columnreference2,columnreference3,...,columnreference<emphasis>n</emphasis>]</entry>
- </row>
- <row>
- <entry/>
- <entry>A(s) coluna(s) a retornar(em) (lista separada por
- vírgula). Além disso, essas funções agregadas são suportadas:
- COUNT, SUM, MIN, MAX, and AVG. Estes funcionam de uma maneira
- similar às suas contrapartes ECL</entry>
- </row>
- <row>
- <entry>columnreference</entry>
- <entry>[tablename.]columnname[ [AS] alias ]</entry>
- </row>
- <row>
- <entry><emphasis>distinct</emphasis></entry>
- <entry>[distinct] col1, col2,...
- col<emphasis>n</emphasis></entry>
- </row>
- <row>
- <entry><emphasis/></entry>
- <entry>O conjunto de resultados conterá apenas valores
- distintos (exclusivos)</entry>
- </row>
- <row>
- <entry><emphasis>tableList</emphasis></entry>
- <entry>tableref1[,tableref2,tableref3,...,tableref<emphasis>n</emphasis>]</entry>
- </row>
- <row>
- <entry/>
- <entry>Uma ou mais tabelas, separadas por vírgulas.</entry>
- </row>
- <row>
- <entry/>
- <entry><emphasis role="bold">OBSERVAÇÃO: </emphasis>Uma lista
- de tabelas com múltiplas tabelas criadas com (uma ou mais)
- inner join implícito usando a expressão lógica da cláusula
- where como a condição de join que deve conter uma condição de
- igualdade</entry>
- </row>
- <row>
- <entry>tableref</entry>
- <entry>tableName[ [AS] alias ]</entry>
- </row>
- <row>
- <entry/>
- <entry>O nome da tabela como referenciado, definindo
- opcionalmente seu alias</entry>
- </row>
- <row>
- <entry><emphasis>alias</emphasis></entry>
- <entry>O alias usado para se referir à tabela ou referência de
- campo correspondente.</entry>
- </row>
- <row>
- <entry><emphasis>logicalExpression</emphasis></entry>
- <entry>Expressão lógica baseada na sintaxe padrão de filtragem
- SQL.</entry>
- </row>
- <row>
- <entry/>
- <entry>BOOLEAN suporta apenas <emphasis>Verdade</emphasis> ou
- <emphasis>Falso</emphasis>, não use Y, N, 0 ou 1</entry>
- </row>
- <row>
- <entry/>
- <entry><emphasis role="bold">Operadores
- válido:</emphasis></entry>
- </row>
- <row>
- <entry/>
- <entry>= Equal (e.g., age=33)</entry>
- </row>
- <row>
- <entry/>
- <entry><> Not equal (e.g., age <>33)</entry>
- </row>
- <row>
- <entry/>
- <entry>> Greater than (e.g., age >55)</entry>
- </row>
- <row>
- <entry/>
- <entry>< Less than (e.g., age < 18)</entry>
- </row>
- <row>
- <entry/>
- <entry>>= Greater than or equal (e.g., age >=21)</entry>
- </row>
- <row>
- <entry/>
- <entry><= Less than or equal (e.g., age <=21)</entry>
- </row>
- <row>
- <entry/>
- <entry>IN(value1,value2,...,value<emphasis>n</emphasis>) where
- values are comma separated homogeneous types</entry>
- </row>
- <row>
- <entry/>
- <entry>NOT IN(value1,value2,...,value<emphasis>n</emphasis>)
- where values are comma separated homogeneous types</entry>
- </row>
- <row>
- <entry/>
- <entry>LIKE <emphasis>pattern</emphasis> where the pattern
- uses SQL LIKE operators with % and _ wildcards.</entry>
- </row>
- <row>
- <entry/>
- <entry>NOT LIKE <emphasis>pattern</emphasis> where the pattern
- uses SQL LIKE operators with % and _ wildcards.</entry>
- </row>
- <row>
- <entry><emphasis>limitNumber</emphasis></entry>
- <entry>O número de linhas para retornar. Isso substitui o
- atributo de configuração padrão (EclResultLimit), mas não pode
- ser definido como ALL</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable><superscript>1</superscript>Aliasing não
- suportado</para>
- <para><superscript>2</superscript>Pode conter apenas referências a
- funções agregadas<superscript/>se usado com a cláusula
- <emphasis>HAVING</emphasis>.</para>
- <para>Funções agregadas só podem ser expressas em logicalExpressions
- usando <emphasis>Group by</emphasis>e <emphasis>HAVING</emphasis></para>
- <para>Exemplos:</para>
- <programlisting>Select * from tableList where Sum(F1 > 100) /* is NOT SUPPORTED */
- Select * from tableList Group by F1 Having Sum (F1 > 100) /* IS SUPPORTED */</programlisting>
- <para>Exemplo:</para>
- <programlisting>Select fname, lname, state from TutorialPerson where
- state='FL' OR (lname='Smith' and fname='Joe')
- //returns data that looks like this:
- John Doe FL
- Jim Smith FL
- Jane Row FL
- Joe Smith CA
- Select fname, lname, state from TutorialPerson where state='FL' AND lname <> 'Smith'
- //returns data that looks like this:
- John Doe FL
- Jane Row FL
- Select fname, lname, state from TutorialPerson where state='FL' AND lname like 'Smi%'
- //returns data that looks like this:
- Jim Smith FL
- Select fname, lname, state from TutorialPerson where
- state='FL' OR (lname='Smith' and fname='Joe') AND fname NOT LIKE 'Ji%'
- //returns data that looks like this:
- John Doe FL
- Jane Row FL
- Joe Smith CA
- </programlisting>
- <para>A interface suporta sugestões de índice SQL, o que dá ao usuário
- SQL a opção de especificar o índice HPCC mais apropriado para a consulta
- SQL atual. Isso também permite desativar o uso de um índice.</para>
- <para><emphasis role="bold">select
- </emphasis><emphasis>columnList</emphasis> <emphasis role="bold"> de
- </emphasis><emphasis>tableName </emphasis><emphasis role="bold">USE
- INDEX(</emphasis><emphasis>hpcc::index::file::name</emphasis><emphasis
- role="bold">) where </emphasis><emphasis>logicalExprssions
- </emphasis></para>
- <para><emphasis role="bold">USE INDEX(none) </emphasis>força o sistema a
- evitar a busca por um índice na consulta atual.</para>
- <para>Exemplo:</para>
- <programlisting>Select fname, lname, zip, state from TutorialPerson
- USEINDEX(TutorialPersonByZipIndex)where zip='33024'
- //returns data that looks like this:
- John Doe FL 33024
- Jim Smith FL 33024
- Jane Row FL 33024
- </programlisting>
- <para>Uma consulta Select retorna duas saídas de dataset por
- solicitação. O segundo dataset (chamado WsSQLCount) fornece a contagem
- total de resultados. Isso é útil ao paginar resultados.</para>
- <para>Exemplo:</para>
- <programlisting><Dataset name='WsSQLResult'>
- <Row>
- <yearbuilt>1203</yearbuilt>
- <id>4</id></Row>
- <Row>
- <yearbuilt>2003</yearbuilt>
- <id>5</id></Row>
- </Dataset>
- <Dataset name='WsSQLCount'>
- <Row>
- <WSSQLSelectQueryResultCount>2</WSSQLSelectQueryResultCount>
- </Row>
- </Dataset></programlisting>
- </sect1>
- <sect1>
- <title>SELECT JOIN</title>
- <para><emphasis role="bold">select
- </emphasis><emphasis>colummList</emphasis> <emphasis
- role="bold">from</emphasis> <emphasis>tableName <emphasis
- role="bold">[</emphasis></emphasis><emphasis
- role="bold">as</emphasis><emphasis> alias<emphasis
- role="bold">]</emphasis></emphasis><emphasis role="bold">
- </emphasis></para>
- <para><emphasis role="bold">[</emphasis><outer | inner > <emphasis
- role="bold">JOIN </emphasis><emphasis>join TableName
- </emphasis><emphasis role="bold">[ as
- </emphasis><emphasis>alias</emphasis><emphasis role="bold">] on
- </emphasis><emphasis>joinCondition</emphasis><emphasis
- role="bold">]</emphasis></para>
- <para>[USE INDEX<emphasis>(</emphasis>indexFileName | NONE
- <emphasis>)</emphasis>]</para>
- <para>[<emphasis role="bold">where</emphasis>
- <emphasis>logicalExpression] </emphasis>[<emphasis role="bold">group
- by</emphasis> <emphasis>fieldName</emphasis>]</para>
- <para>[<emphasis role="bold">order by</emphasis> <emphasis>columnNames
- </emphasis>[asc | desc]<emphasis> </emphasis>] [<emphasis
- role="bold">LIMIT</emphasis><emphasis> limitNumber</emphasis>]</para>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="123.45pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><emphasis>columnList</emphasis></entry>
- <entry>columnreference1[,columnreference2,columnreference3,...,columnreference<emphasis>n</emphasis>]</entry>
- </row>
- <row>
- <entry/>
- <entry>A(s) coluna(s) a retornar(em) (lista separada por
- vírgula). Além disso, essas funções agregadas são suportadas:
- COUNT, SUM, MIN, MAX, and AVG. Estes funcionam de uma maneira
- similar às suas contrapartes ECL</entry>
- </row>
- <row>
- <entry>columnreference</entry>
- <entry>[tablename.]columnname[ [AS] alias ]</entry>
- </row>
- <row>
- <entry><emphasis>distinct</emphasis></entry>
- <entry>[distinct] col1, col2,...
- col<emphasis>n</emphasis></entry>
- </row>
- <row>
- <entry><emphasis/></entry>
- <entry>O conjunto de resultados conterá apenas valores
- distintos (exclusivos)</entry>
- </row>
- <row>
- <entry><emphasis>alias</emphasis></entry>
- <entry>O alias usado para se referir à tabela ou referência de
- campo correspondente.</entry>
- </row>
- <row>
- <entry><emphasis role="bold">outer | inner</emphasis></entry>
- <entry>O tipo de JOIN a usar. Observação: O serviço WsSQL
- atualmente suporta INNER JOIN ou OUTER Joins. Um OUTER JOIN é
- convertido em um FULL OUTER JOIN internamente.</entry>
- </row>
- <row>
- <entry><emphasis>joinTableName</emphasis></entry>
- <entry>O arquivo JOIN a ser utilizado.</entry>
- </row>
- <row>
- <entry><emphasis>joinCondition</emphasis></entry>
- <entry>Especifica o relacionamento entre colunas nas tabelas
- associadas usando expressão lógica.</entry>
- </row>
- <row>
- <entry><emphasis>logicalExpression</emphasis></entry>
- <entry>Expressão lógica baseada na sintaxe padrão de filtragem
- SQL.</entry>
- </row>
- <row>
- <entry/>
- <entry>BOOLEAN suporta apenas <emphasis>Verdade</emphasis> ou
- <emphasis>Falso</emphasis>, não use Y, N, 0 ou 1</entry>
- </row>
- <row>
- <entry/>
- <entry><emphasis role="bold">Operadores
- válido:</emphasis></entry>
- </row>
- <row>
- <entry/>
- <entry>= Equal (e.g., age=33)</entry>
- </row>
- <row>
- <entry/>
- <entry><> Not equal (e.g., age <>33)</entry>
- </row>
- <row>
- <entry/>
- <entry>> Greater than (e.g., age >55)</entry>
- </row>
- <row>
- <entry/>
- <entry>< Less than (e.g., age < 18)</entry>
- </row>
- <row>
- <entry/>
- <entry>>= Greater than or equal (e.g., age >=21)</entry>
- </row>
- <row>
- <entry/>
- <entry><= Less than or equal (e.g., age <=21)</entry>
- </row>
- <row>
- <entry/>
- <entry>IN(value1,value2,...,value<emphasis>n</emphasis>) where
- values are comma separated homogeneous types.</entry>
- </row>
- <row>
- <entry/>
- <entry>NOT IN(value1,value2,...,value<emphasis>n</emphasis>)
- where values are comma separated homogeneous types.</entry>
- </row>
- <row>
- <entry/>
- <entry>LIKE <emphasis>pattern</emphasis> where the pattern
- uses SQL LIKE operators with % and _ wildcards.</entry>
- </row>
- <row>
- <entry/>
- <entry>NOT LIKE <emphasis>pattern</emphasis> where the pattern
- uses SQL LIKE operators with % and _ wildcards.</entry>
- </row>
- <row>
- <entry><emphasis>limitNumber</emphasis></entry>
- <entry>Opcional. O número de linhas para retornar. Isso
- substitui o atributo de configuração padrão (<emphasis
- role="code">EclResultLimit </emphasis>) mas não pode ser
- definido para ALL.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- <para><superscript>1</superscript>Aliasing não suportado</para>
- <para><superscript>2</superscript>Pode conter apenas referências a
- funções agregadas<superscript/>se usado com a cláusula
- <emphasis>HAVING</emphasis>.</para>
- <para>Funções agregadas só podem ser expressas em logicalExpressions
- usando <emphasis>Group by</emphasis>e <emphasis>HAVING</emphasis></para>
- <para>Exemplos:</para>
- <programlisting>Select * from tableList where Sum(F1 > 100) /* is NOT SUPPORTED */
- Select * from tableList Group by F1 Having Sum (F1 > 100) /* IS SUPPORTED */</programlisting>
- <para>Exemplo:</para>
- <para><programlisting>Select t1.personname, t2.address
- from persontable as t1 inner join addresstable as t2
- on (t1.personid = t2.personid AND
- (t1.firstname = 'jim' AND
- t1.lastname = 'smith' )) </programlisting></para>
- <para/>
- <para>A interface não converte os valores da lista de parâmetros ou da
- lista de colunas em literais de string.</para>
- <para>Os valores das strings devem estar com aspas simples encapsuladas.
- O identificador de campo pode ser deixado sem aspas ou com aspas
- duplas.</para>
- <para>Por exemplo, a tabela <emphasis role="bold">pessoa</emphasis> tem
- colunas lastname (String) e Zip (númerica)</para>
- <para><programlisting>Select Firstname from persons where lastname = 'Jones' and zip > 33445 /* works */
- Select Firstname from persons where lastname = 'Jones' and "zip" > 33445 /* also works */
- Select Firstname from persons where lastname = Jones and zip > 33445 /* doesn't work */
- Select Firstname from persons where lastname = 'Jones' and zip > '33445' /* doesn't work */</programlisting></para>
- <para/>
- </sect1>
- <sect1>
- <title>CREATE / LOAD</title>
- <para><emphasis role="bold">create table</emphasis> <emphasis
- role="bold">[if not exists]</emphasis> <emphasis>newtablename</emphasis>
- <emphasis
- role="bold">'('(</emphasis><emphasis>fieldname</emphasis><emphasis
- role="bold">(</emphasis><emphasis>fieldtype</emphasis><emphasis
- role="bold">[</emphasis><emphasis>fieldlen</emphasis><emphasis
- role="bold">[</emphasis><emphasis>,precision</emphasis><emphasis
- role="bold">]][</emphasis><emphasis
- role="bold">UNSIGNED</emphasis><emphasis role="bold">][,]
- ))+')'</emphasis></para>
- <para><emphasis role="bold">[comment</emphasis> 'commenttext'<emphasis
- role="bold">]<emphasis role="bold">[;]</emphasis></emphasis></para>
- <para><emphasis role="bold">load data infile</emphasis>
- '<emphasis>sourcetablename</emphasis>' <emphasis
- role="bold">[connection</emphasis> '<emphasis>landingzoneIP</emphasis>'
- <emphasis role="bold">directory</emphasis>
- '<emphasis>landingzonepath</emphasis>'<emphasis
- role="bold">]</emphasis></para>
- <para><emphasis role="bold">into table</emphasis> <emphasis>newtablename
- </emphasis></para>
- <para><emphasis role="bold">[(fields | columns) [ terminated by
- '</emphasis><emphasis>fieldDelimiter</emphasis>'<emphasis role="bold">]
- [ enclosed by '</emphasis><emphasis>quoteChar</emphasis><emphasis
- role="bold">']</emphasis><emphasis role="bold"> [ escaped by
- '</emphasis><emphasis>escapeChar</emphasis><emphasis
- role="bold">']]]</emphasis></para>
- <para><emphasis role="bold">[lines [ terminated by
- '</emphasis><emphasis>recordDelimiter</emphasis>'<emphasis
- role="bold">]]<emphasis role="bold">[;]</emphasis></emphasis></para>
- <para>As instruções CREATE TABLE e LOAD DATA SQL permitem criar um
- arquivo em um cluster HPCC que é acessível via WsSQL. Você pode
- preencher o novo arquivo a partir de dados em um arquivo lógico que já
- esteja no cluster HPCC ou em um que esteja em uma zona de entrada de
- arquivo.</para>
- <para>Todos as solicitações de criação DEVEM ser acompanhados por uma
- solicitação de LOAD. Você não pode criar uma tabela com a intenção de
- carregar ou inserir dados posteriormente.</para>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="123.45pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry><emphasis>newtablename</emphasis></entry>
- <entry>O nome de arquivo lógico a ser criado no cluster HPCC.
- <emphasis role="bold">Observação: </emphasis>Create e LOAD
- devem segmentar o mesmo arquivo.</entry>
- </row>
- <row>
- <entry><emphasis>commenttext</emphasis></entry>
- <entry>Um comentário de texto para adicionar à descrição do
- arquivo lógico</entry>
- </row>
- <row>
- <entry><emphasis>sourcetablename</emphasis></entry>
- <entry>O arquivo de origem do qual extrair dados para carregar
- na nova tabela. Isso pode ser um arquivo lógico em um cluster
- HPCC ou em um arquivo físico em uma zona de entrada de
- arquivo. Para um arquivo da Zona de Entrada de Arquivos, você
- DEVE fornecer <emphasis role="bold">uma conexão</emphasis>
- '<emphasis>landingzoneIP</emphasis>' e um <emphasis
- role="bold">diretório</emphasis>
- '<emphasis>landingzonepath</emphasis>' (o caminho para o
- arquivo). Para um arquivo de zona de entrada de arquivo, use o
- caso correspondente para o nome do arquivo.</entry>
- </row>
- <row>
- <entry><emphasis>landingzoneIP</emphasis></entry>
- <entry>Endereço IP ou nome do host da Zona de Entrada de
- Arquivos do HPCC</entry>
- </row>
- <row>
- <entry><emphasis>landingzonepath</emphasis></entry>
- <entry>O caminho para o datafile no Landing Zonebut</entry>
- </row>
- <row>
- <entry><emphasis>fieldDelimiter</emphasis></entry>
- <entry>Valor string para o delimitador do campo.</entry>
- </row>
- <row>
- <entry><emphasis>quoteChar</emphasis></entry>
- <entry>Valor string para aspas.</entry>
- </row>
- <row>
- <entry><emphasis>escapeChar</emphasis></entry>
- <entry>Valor string para o ausência de caractere.</entry>
- </row>
- <row>
- <entry><emphasis>recordDelimiter</emphasis></entry>
- <entry>Valor string para o delimitador do registro.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- <para>Exemplos:</para>
- <programlisting>CREATE TABLE newCustomerFile (id DECIMAL( 30, 5), mytint INT(9),
- mydouble DOUBLE (5,3) UNSIGNED)
- COMMENT 'this file created via WsSQL and populated from file on lz';
- LOAD DATA INFILE 'CustomerData' CONNECTION '127.0.0.1'
- DIRECTORY '/var/lib/HPCCSystems/mydropzone'
- INTO TABLE newCustomerFile;
- CREATE TABLE newCustomerFile2 (id DECIMAL( 30, 5), mytint INT(9),
- mydouble DOUBLE (5,3) UNSIGNED)
- COMMENT 'this file created via WsSQL and populated from sprayed file';
- LOAD DATA INFILE 'thor::customerdata::customers' INTO TABLE newCustomerFile2
- CREATE TABLE IF NOT EXISTS newCustomerFile3 (id DECIMAL( 30, 5), mytint INT(9),
- mydouble DOUBLE (5,3) UNSIGNED)
- COMMENT 'won't overwrite';
- LOAD DATA INFILE 'thor::customerdata::customers' INTO TABLE newCustomerFile3
- CREATE TABLE newCustomerFile4CSV (id DECIMAL( 30, 5), mytint INT(9),
- mydouble DOUBLE (5,3) UNSIGNED)
- COMMENT 'Loading CSV data';
- LOAD DATA INFILE 'somecsvfile.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"'
- LINES TERMINATED BY 'n'
- INTO TABLE newCustomerFile4CSV
- </programlisting>
- </sect1>
- <sect1>
- <title>Funções Agregadas Suportadas</title>
- <para><emphasis
- role="bold">COUNT</emphasis>([DISTINCT]<emphasis>columnName</emphasis>)</para>
- <para><emphasis
- role="bold">DISTINCT</emphasis>(<emphasis>columnName</emphasis>)</para>
- <para><emphasis
- role="bold">SUM</emphasis>(<emphasis>columnName</emphasis>)</para>
- <para><emphasis
- role="bold">MIN</emphasis>(<emphasis>columnName</emphasis>)</para>
- <para><emphasis
- role="bold">MAX</emphasis>(<emphasis>columnName</emphasis>)</para>
- <para><emphasis
- role="bold">AVG</emphasis>(<emphasis>columnName</emphasis>)</para>
- <para>Essas funções agregadas são suportadas. Estas funcionam de uma
- maneira similar às suas contrapartes ECL Consulte a seção <emphasis
- role="bold">Referência a Linguagem ECL</emphasis> para detalhes.</para>
- <para><informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry>COUNT</entry>
- <entry>Conta as ocorrências de columnName no resultado, sempre
- um inteiro.</entry>
- </row>
- <row>
- <entry>DISTINCT</entry>
- <entry>Retorna somente valores distintos de columnName no
- resultado, o tipo de saída depende do tipo de entrada.</entry>
- </row>
- <row>
- <entry>SUM</entry>
- <entry>Retorna a soma dos valores de columnName no resultado,
- o tipo de saída depende do tipo de entrada.</entry>
- </row>
- <row>
- <entry>MIN</entry>
- <entry>Retorna o valor mínimo de columnName no resultado, o
- tipo de saída depende do tipo de entrada.</entry>
- </row>
- <row>
- <entry>MAX</entry>
- <entry>Retorna o valor máximo de columnName no resultado, o
- tipo de saída depende do tipo de entrada.</entry>
- </row>
- <row>
- <entry>AVG</entry>
- <entry>Retorna a média dos valores de columnName no resultado,
- sempre um número real.</entry>
- </row>
- <row>
- <entry>columnName</entry>
- <entry>A coluna para agregar.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable></para>
- <para>Exemplo:</para>
- <para><programlisting>Select fname, lname, state, COUNT(zip) from TutorialPerson where zip='33024'</programlisting></para>
- <sect2>
- <title>Modificadores de strings suportados</title>
- <para><emphasis
- role="bold">UPPER</emphasis>(<emphasis>columnName</emphasis>)</para>
- <para><emphasis
- role="bold">LOWER</emphasis>(<emphasis>columnName</emphasis>)</para>
- <para/>
- <informaltable colsep="1" frame="all" rowsep="1">
- <tgroup cols="2">
- <colspec colwidth="200pt"/>
- <colspec/>
- <tbody>
- <row>
- <entry>UPPER</entry>
- <entry>Retorna com todos os caracteres minúsculos convertidos
- em maiúsculos.</entry>
- </row>
- <row>
- <entry>LOWER</entry>
- <entry>Retorna com todos os caracteres maiúsculos convertidos
- em minúsculas.</entry>
- </row>
- <row>
- <entry>columnName</entry>
- <entry>A coluna para agregar.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 role="brk">
- <title>Considerações Especiais</title>
- <para>Como esse serviço usa ECL e SQL, há algumas considerações
- especiais ao projetar os bancos de dados de back-end e stored
- procedures.</para>
- <sect3>
- <title>Palavras-chave SQL reservadas</title>
- <para>Seus identificadores de HPCC (nomes de campo, nomes de Stored
- Procedure, etc.) não podem usar palavras reservadas de SQL,
- como:</para>
- <programlisting>ADD ALL ANY AS ASC AT AVG BETWEEN BOOL BOOLEAN BY CALL COLUMN CONTAINS COUNT
- DESC DISTINCT FALSE FOR FROM GROUP HAVING IN INDEX INNER IS JOIN KEY KEYS LAST
- LEFT LIKE LIMIT LOWER MAX MIN MOD NOT NULL OFFSET ON ORDER OUT OUTER POWER SELECT
- SUM TABLE TRUE UPPER USE WHERE XOR DIV MOD OR AND</programlisting>
- </sect3>
- <sect3>
- <title>Caracteres especiais.</title>
- <para>Os nomes de arquivo do seu HPCC devem evitar caracteres
- especiais que não sejam:</para>
- <programlisting>( 'A'..'Z' | 'a'..'z' | '' | '$') ( 'A'..'Z' | 'a'..'z' | '' | '$' | '0'..'9' )
- Os nomes dos arquivos podem ser prefixados com um ~ (til) ou .::
- </programlisting>
- <para>Se um nome de arquivo não for suportado, ele não será
- retornado ao interrogar o sistema usando GetDBMetaData.</para>
- </sect3>
- </sect2>
- </sect1>
- </chapter>
- </book>
|