WsSQL_ESPWebServiceGuide.xml 132 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
  4. <book lang="en_US" xml:base="../">
  5. <bookinfo>
  6. <title>Guia do Web Service WsSQL ESP</title>
  7. <mediaobject>
  8. <imageobject>
  9. <imagedata fileref="images/redswooshWithLogo3.jpg"/>
  10. </imageobject>
  11. </mediaobject>
  12. <author>
  13. <surname>Equipe de documentação de Boca Raton</surname>
  14. </author>
  15. <legalnotice>
  16. <para>Sua opinião e comentários sobre este documento são muito
  17. bem-vindos e podem ser enviados por e-mail para
  18. <email>docfeedback@hpccsystems.com</email> Inclua a frase <emphasis
  19. role="bold">Feedback sobre documentação</emphasis> na linha de assunto e
  20. indique o nome do documento, o número das páginas e número da Versão
  21. atual no corpo da mensagem.</para>
  22. <para>LexisNexis e o logotipo Knowledge Burst são marcas comerciais
  23. registradas da Reed Elsevier Properties Inc., usadas sob licença. Os
  24. demais produtos, logotipos e serviços podem ser marcas comerciais ou
  25. registradas de suas respectivas empresas. Todos os nomes e dados de
  26. exemplo usados neste manual são fictícios. Qualquer semelhança com
  27. pessoas reais, vivas ou mortas, é mera coincidência.</para>
  28. <para/>
  29. </legalnotice>
  30. <xi:include href="common/Version.xml"
  31. xpointer="xpointer(//*[@id='FooterInfo'])"
  32. xmlns:xi="http://www.w3.org/2001/XInclude"/>
  33. <xi:include href="common/Version.xml"
  34. xpointer="xpointer(//*[@id='DateVer'])"
  35. xmlns:xi="http://www.w3.org/2001/XInclude"/>
  36. <corpname>HPCC Systems</corpname>
  37. <xi:include href="common/Version.xml"
  38. xpointer="xpointer(//*[@id='Copyright'])"
  39. xmlns:xi="http://www.w3.org/2001/XInclude"/>
  40. <mediaobject role="logo">
  41. <imageobject>
  42. <imagedata fileref="images/LN_Rightjustified.jpg"/>
  43. </imageobject>
  44. </mediaobject>
  45. </bookinfo>
  46. <chapter>
  47. <title>Introdução</title>
  48. <para>O WsSQL é um serviço que fornece uma interface SQL para o HPCC
  49. System. Esse serviço da web aceita um subconjunto preparado e padrão de
  50. consultas SQL. Isso fornece acesso à maioria dos dados do HPCC e consultas
  51. publicadas por HTTP ou HTTPS usando interfaces SOAP ou REST.</para>
  52. <para>O serviço WsSQL mapeia arquivos lógicos HPCC para tabelas RDBMS.
  53. Consultas publicadas do HPCC são expostas como Stored Procedures
  54. RDBMS.</para>
  55. <para>O serviço WsSQL também fornece métodos convenientes para obter
  56. informações do sistema, metadados e resultados de consultas executadas
  57. anteriormente.</para>
  58. <para>Esse serviço destina-se a ser usado de maneira programática (por
  59. exemplo, por meio de drivers de banco de dados), mas também pode ser usado
  60. de maneira interativa por usuários mais confortáveis usando o SQL do que o
  61. ECL. Isso possibilita enviar consultas ad-hoc sem aprender ECL.</para>
  62. <para>O serviço expõe os arquivos lógicos do HPCC como tabelas do
  63. RDB.</para>
  64. <para><itemizedlist mark="bullet">
  65. <listitem>
  66. <para>Arquivo Lógico HPCC &lt;-&gt; Tabela RDB</para>
  67. </listitem>
  68. <listitem>
  69. <para>Campos de registro de HPCC &lt;-&gt; Colunas da Tabela
  70. RDB</para>
  71. </listitem>
  72. <listitem>
  73. <para>Consulta publicada do HPCC &lt;-&gt; Store Procedure
  74. RDB</para>
  75. </listitem>
  76. <listitem>
  77. <para>Fornece metadados do sistema HPCC e metadados do RDB de
  78. dados</para>
  79. </listitem>
  80. <listitem>
  81. <para>Suporta subconjunto da sintaxe SQL</para>
  82. </listitem>
  83. <listitem>
  84. <para>Não-transacional</para>
  85. </listitem>
  86. <listitem>
  87. <para>Fornece meios para utilizar arquivos de índice HPCC para
  88. leituras mais rápidas.</para>
  89. <para/>
  90. </listitem>
  91. </itemizedlist></para>
  92. <sect1>
  93. <title>Tipos de Arquivos Suportados</title>
  94. <para>O serviço WsSQL suporta todos os tipos de arquivos HPCC,
  95. exceto:</para>
  96. <para><itemizedlist>
  97. <listitem>
  98. <para>XML</para>
  99. </listitem>
  100. <listitem>
  101. <para>Arquivos com Dataset filho aninhados</para>
  102. </listitem>
  103. <listitem>
  104. <para>Arquivos sem layout de registro em seus metadados.</para>
  105. <para>O serviço WsSQL <emphasis role="bold">suporta apenas
  106. arquivos que contêm a definição de registro nos metadados do
  107. arquivo lógico.</emphasis> Arquivos sprayed não contêm esses
  108. metadados. Esses metadados existem em qualquer arquivo ou índice
  109. que é gravado no HPCC Distributed File System (DFS). Arquivos de
  110. dados sprayed normalmente passam por algum processamento e um
  111. OUTPUT dos dados transformados para o disco antes do uso,
  112. portanto, isso não deve interferir na utilidade do serviço. Você
  113. pode usar o método <emphasis>CreateTableAndLoad</emphasis> para
  114. produzir um arquivo utilizável a partir de um arquivo sprayed ou
  115. em uma zona de entrada de arquivo. Consulte <link
  116. linkend="CreateTableAndLoad">CreateTableAndLoad</link> para
  117. detalhes.</para>
  118. </listitem>
  119. </itemizedlist></para>
  120. </sect1>
  121. </chapter>
  122. <chapter>
  123. <title>Preparação</title>
  124. <para>O serviço WsSQL está incluído na Plataforma HPCC.</para>
  125. <sidebar>
  126. <para>Antes da versão 7.0, o WsSQL era um produto complementar e era
  127. instalado separadamente. Se você tiver um sistema configurado com o
  128. WsSQL anterior à versão 7.0, deverá desinstalar o WsSQL antes de
  129. atualizar a plataforma.</para>
  130. </sidebar>
  131. <sect1 id="Quick_Start" role="nobrk">
  132. <title>Configuração</title>
  133. <para>Recomendamos dedicar tempo para a leitura completa deste manual;
  134. porém, segue abaixo um guia rápido com o resumo das etapas.</para>
  135. <para/>
  136. <sect2>
  137. <title>Configure Utilizando o Assistente</title>
  138. <para><orderedlist>
  139. <listitem>
  140. <para>Uma vez que o Gerenciador de Configurações estiver em
  141. execução:</para>
  142. </listitem>
  143. <listitem>
  144. <para>Crie um novo ambiente usando o assistente.</para>
  145. <para>O serviço WsSQL é adicionado automaticamente e sua conexão
  146. é criada na configuração do servidor ESP.</para>
  147. </listitem>
  148. <listitem>
  149. <para>Salve o arquivo do ambiente.</para>
  150. </listitem>
  151. <listitem>
  152. <para>Copie seu arquivo environment.xml para todos os
  153. servidores.</para>
  154. <para><programlisting># for example
  155. sudo -u hpcc cp /etc/HPCCSystems/source/NewEnvironment.xml
  156. /etc/HPCCSystems/environment.xml</programlisting></para>
  157. </listitem>
  158. <listitem>
  159. <para>Saia do Gerenciador de Configurações.</para>
  160. </listitem>
  161. <listitem>
  162. <para>Reinicie o sistema</para>
  163. </listitem>
  164. <listitem>
  165. <para>Acesse a interface do WsSQL no seu navegador (porta
  166. 8510).</para>
  167. </listitem>
  168. <listitem>
  169. <para>Execute o método Echo para confirmar a conectividade.
  170. Consulte <citebiblioid><link
  171. linkend="echotest">Echo</link></citebiblioid>.</para>
  172. </listitem>
  173. </orderedlist></para>
  174. </sect2>
  175. <sect2>
  176. <title>Configurar manualmente</title>
  177. <para>Esse método é útil ao incluir o serviço WsSQL em um sistema
  178. existente que não tenha um serviço configurado ou para incluir um
  179. serviço WsSql adicional.</para>
  180. <para><orderedlist>
  181. <listitem>
  182. <para>Uma vez que o Gerenciador de Configurações estiver em
  183. execução:</para>
  184. </listitem>
  185. <listitem>
  186. <para>Abra um arquivo de ambiente (*.xml) no Modo
  187. Avançado.</para>
  188. <para>Se você estiver adicionando o WsSQL a um sistema
  189. existente, abra um arquivo de ambiente que corresponda ao
  190. environment.xml atual. Está em destaque.</para>
  191. </listitem>
  192. <listitem>
  193. <para>Marque a caixa de seleção Acesso à gravação.</para>
  194. </listitem>
  195. <listitem>
  196. <para>Clique com o botão direito na área <emphasis
  197. role="bold">Software</emphasis> da árvore no painel esquerdo e
  198. selecione <emphasis role="bold">Novo Serviço ESP</emphasis> &gt;
  199. <emphasis role="bold">ws_sql</emphasis> .</para>
  200. <para><graphic fileref="images/AddWsSQLService.jpg"/></para>
  201. <para>Isso adiciona uma definição para o serviço.</para>
  202. </listitem>
  203. <listitem>
  204. <para>Selecione o componente <emphasis
  205. role="bold">ESP</emphasis> , em seguida, selecione a aba ESP
  206. Service Bindings.</para>
  207. <para><graphic
  208. fileref="images/WsSQLServiceBinding2.jpg"/></para>
  209. </listitem>
  210. <listitem>
  211. <para>Forneça o nome do serviço para conectar e a porta. (A
  212. porta padrão é 8510)</para>
  213. </listitem>
  214. <listitem>
  215. <para>Salve o arquivo do ambiente.</para>
  216. </listitem>
  217. <listitem>
  218. <para>Copie seu arquivo environment.xml para todos os
  219. servidores</para>
  220. <programlisting># for example
  221. sudo -u hpcc cp /etc/HPCCSystems/source/NewEnvironment.xml
  222. /etc/HPCCSystems/environment.xml</programlisting>
  223. </listitem>
  224. <listitem>
  225. <para>Saia do Gerenciador de Configurações.</para>
  226. </listitem>
  227. <listitem>
  228. <para>Reinicie o sistema.</para>
  229. </listitem>
  230. <listitem>
  231. <para>Acesse a interface do WsSQL no seu navegador:</para>
  232. <para>Utilizando
  233. <emphasis>http://nnn.nnn.nnn.nnn:pppp</emphasis> Usando
  234. http://nnn.nnn.nnn.nnn:pppp (onde nnn.nnn.nnn.nnn é o endereço
  235. IP do seu servidor ESP e pppp é a porta de serviço WsSQL. A
  236. porta padrão é 8510)</para>
  237. </listitem>
  238. <listitem>
  239. <para>Execute o método Echo para confirmar a conectividade.
  240. Consulte <citebiblioid><link
  241. linkend="echotest">Echo</link></citebiblioid>.</para>
  242. </listitem>
  243. </orderedlist></para>
  244. </sect2>
  245. </sect1>
  246. </chapter>
  247. <chapter>
  248. <title>Usando arquivos HPCC como fonte de dados</title>
  249. <para>Uma vez instalado e configurado, o serviço WsSQL processará as
  250. instruções SQL enviadas e gerará o código ECL. O código é submetido e
  251. executado pela sua Plataforma HPCC. O conjunto de resultados é retornado
  252. para sua aplicação.</para>
  253. <para><variablelist>
  254. <varlistentry>
  255. <term>Observação:</term>
  256. <listitem>
  257. <para>O serviço WsSQL <emphasis role="bold">suporta apenas
  258. arquivos que contêm a definição de registro nos metadados do
  259. arquivo lógico.</emphasis> Arquivos com spray não contêm esses
  260. metadados. Esses metadados existem em qualquer arquivo ou índice
  261. que é gravado no HPCC Distributed File System (DFS). Arquivos de
  262. dados sprayed normalmente passam por algum processamento e um
  263. OUTPUT dos dados transformados para o disco antes do uso,
  264. portanto, isso não deve interferir na utilidade do serviço. Você
  265. pode usar o método <emphasis>CreateTableAndLoad</emphasis> para
  266. produzir um arquivo utilizável a partir de um arquivo pulverizado
  267. ou em uma zona de entrada de arquivo. Consulte <link
  268. linkend="CreateTableAndLoad">CreateTableAndLoad</link> para
  269. detalhes.</para>
  270. </listitem>
  271. </varlistentry>
  272. </variablelist></para>
  273. <para>Além disso, você pode utilizar índices no HPCC de duas
  274. maneiras:</para>
  275. <orderedlist numeration="arabic">
  276. <listitem>
  277. <para>Forneça instruções SQL para que o serviço use um índice
  278. específico para sua consulta.</para>
  279. <para>Por exemplo:</para>
  280. <programlisting>USEINDEX(TutorialPersonByZipIndex)</programlisting>
  281. </listitem>
  282. <listitem>
  283. <para>Especifique os índices relacionados na descrição do arquivo
  284. lógico do HPCC.</para>
  285. </listitem>
  286. </orderedlist>
  287. <sect1 role="nobrk">
  288. <title>Anotações de Índice</title>
  289. <para>O serviço WsSQL tenta executar leituras baseadas em índice sempre
  290. que possível. No entanto, para aproveitar as leituras de índice, os
  291. arquivos de HPCC de destino precisam ser anotados com os nomes de
  292. arquivo de índice pertinentes. Isso é feito adicionando a seguinte
  293. entrada de chave/valor na descrição do arquivo usando o ECL
  294. Watch.</para>
  295. <para>Na página de detalhes de um arquivo lógico, insira as informações
  296. na caixa de entrada Description e pressione o botão <emphasis
  297. role="bold">Save </emphasis> .</para>
  298. <para>Essas informações são usadas pelo serviço para decidir se uma
  299. busca de índice é possível para uma consulta no arquivo base.</para>
  300. <sect2>
  301. <title><emphasis role="bold">No arquivo de origem:</emphasis></title>
  302. <para><emphasis role="bold">XDBC:RelIndexes=
  303. [</emphasis><emphasis><emphasis
  304. role="bold"><emphasis>fullLogicalFilename1</emphasis></emphasis></emphasis><emphasis
  305. role="bold">;<emphasis>
  306. fullLogicalFilename2</emphasis></emphasis><emphasis
  307. role="bold">]</emphasis></para>
  308. <para/>
  309. <para>Exemplo:</para>
  310. <programlisting>XDBC:RelIndexes=[tutorial::yn::peoplebyzipindex;
  311. tutorial::yn::peoplebyzipindex2;
  312. tutorial::yn::peoplebyzipindex3]</programlisting>
  313. <para>Neste exemplo, o arquivo de origem possui três índices
  314. disponíveis.</para>
  315. <para>Você pode adicionar anotações usando o método <link
  316. linkend="SetRelatedIndexes">SetRelatedIndexes</link> .</para>
  317. </sect2>
  318. <sect2 role="brk">
  319. <title><emphasis role="bold">No arquivo de índice:</emphasis></title>
  320. <para><emphasis
  321. role="bold">XDBC:PosField=[</emphasis><emphasis>indexPositionFieldName</emphasis><emphasis
  322. role="bold">]</emphasis></para>
  323. <para/>
  324. <para>Exemplo:</para>
  325. <programlisting>XDBC:PosField=[fpos]</programlisting>
  326. <para>O campo FilePosition (fpos) pode ter qualquer nome, portanto,
  327. ele deve ser sespecificado nos metadados para que o serviço saiba qual
  328. campo é o sfileposition.</para>
  329. <para>Basta digitar as informações na caixa de entrada da descrição e
  330. pressionar o botão <emphasis role="bold">Save Description</emphasis>
  331. .</para>
  332. <variablelist>
  333. <varlistentry>
  334. <term>Observação:</term>
  335. <listitem>
  336. <para>Você deve inserir essas informações ANTES de publicar
  337. qualquer consulta usando o arquivo de dados ou índices.
  338. Consultas publicadas bloqueiam o arquivo e impedem a edição dos
  339. metadados.</para>
  340. </listitem>
  341. </varlistentry>
  342. </variablelist>
  343. <para/>
  344. </sect2>
  345. </sect1>
  346. </chapter>
  347. <chapter>
  348. <title>Métodos</title>
  349. <para>Esses métodos estão incluídos na interface de serviço do
  350. WsSQL:</para>
  351. <para/>
  352. <itemizedlist>
  353. <listitem>
  354. <para><emphasis role="bold">Echo</emphasis></para>
  355. <para>Este método é fornecido para testar a comunicação de ponta a
  356. ponta. A sequência de entrada é ecoada na resposta.</para>
  357. </listitem>
  358. <listitem>
  359. <para><emphasis role="bold">GetDBSystemInfo</emphasis></para>
  360. <para>Você pode usar esse método para coletar informações de versão da
  361. Plataforma HPCC.</para>
  362. </listitem>
  363. <listitem>
  364. <para><emphasis role="bold">GetMetadata</emphasis></para>
  365. <para>Esse método fornece metadados que você pode usar para criar uma
  366. exibição ou um modelo do sistema de HPCC de destino como um banco de
  367. dados acessível SQL. Você pode solicitar tabelas, Stored Procedures,
  368. e/ou Targetclusters.</para>
  369. </listitem>
  370. <listitem>
  371. <para><emphasis role="bold">ExecuteSQL</emphasis></para>
  372. <para>Use este método para enviar consultas SQL padrão (não
  373. preparadas). Este método aceita texto-livre SQL (veja a sintaxe
  374. suportada abaixo).</para>
  375. </listitem>
  376. <listitem>
  377. <para><emphasis role="bold">GetRelatedIndexes</emphasis></para>
  378. <para>Este método recupera informações da descrição de um arquivo
  379. lógico sobre índices relacionados.</para>
  380. </listitem>
  381. <listitem>
  382. <para><emphasis role="bold">GetResults</emphasis></para>
  383. <para>Esse método fornece resultados de consultas executadas
  384. anteriormente.</para>
  385. </listitem>
  386. <listitem>
  387. <para><emphasis role="bold">PrepareSQL</emphasis></para>
  388. <para>Esse método fornece a capacidade de enviar uma solicitação SQL
  389. free-hand para uso posterior como uma consulta parametrizada. Ele
  390. compila a consulta e retorna a ID da Workunit (WUID). Este WUID é
  391. usado posteriormente para executar a consulta com os parâmetros de
  392. entrada fornecidos usando o método ExecutePreparedSQL. Isso é ideal
  393. para consultas que são executadas muitas vezes com valores
  394. diferentes.</para>
  395. </listitem>
  396. <listitem>
  397. <para><emphasis role="bold">ExecutePreparedSQL</emphasis></para>
  398. <para>Este método executa uma consulta SQL parametrizada previamente
  399. criada. A consulta é referenciada usando um ID de Workunit (WUID), que
  400. é retornado do método PrepareSQL. O chamador pode especificar a
  401. sequência de parâmetros de entrada como pares de valor-chave, que
  402. estão vinculados à consulta pré-compilada.</para>
  403. </listitem>
  404. <listitem>
  405. <para><emphasis role="bold">CreateTableAndLoad</emphasis></para>
  406. <para>Esse método lê um arquivo lógico ou um arquivo em uma zona de
  407. entrada e cria uma nova tabela e carrega os dados do arquivo de origem
  408. criando uma tabela (arquivo lógico) que o WsSQL pode usar. Esta função
  409. destina-se ao uso quando você tem um arquivo lógico sem metadados ou
  410. para importar um novo arquivo para uma plataforma HPCC.</para>
  411. </listitem>
  412. <listitem>
  413. <para><emphasis role="bold">SetRelatedIndexes</emphasis></para>
  414. <para>Esse método adiciona informações a uma descrição de arquivo
  415. lógico que o WsSQL usa como uma anotação de um índice
  416. relacionado.</para>
  417. </listitem>
  418. </itemizedlist>
  419. <sect1 id="echotest">
  420. <title>Echo</title>
  421. <para>Essa função recebe uma string de entrada e "echoes" o valor em seu
  422. resultado.</para>
  423. <para>Esta função destina-se ao teste de conectividade de ponta a ponta.
  424. Uma resposta bem-sucedida indica uma boa conexão com o servidor que
  425. hospeda o serviço da Web do Ws-SQL. Esta função foi construída para o
  426. teste de conectividade.</para>
  427. <para>Recomendamos usar essa função como uma primeira etapa do processo
  428. de desenvolvimento de aplicativos.</para>
  429. <sect2>
  430. <title>Exemplo de entrada XML</title>
  431. <para><programlisting>&lt;soap:Envelope&gt;
  432. &lt;soap:Body&gt;
  433. &lt;EchoRequest&gt;
  434. &lt;Request&gt;<emphasis role="bluebold">StringToEcho</emphasis>&lt;/Request&gt;
  435. &lt;/EchoRequest&gt;
  436. &lt;/soap:Body&gt;
  437. &lt;/soap:Envelope&gt;
  438. </programlisting></para>
  439. </sect2>
  440. <sect2>
  441. <title>Descrições das Tags de Solicitação</title>
  442. <para><informaltable colsep="1" frame="all" rowsep="1">
  443. <tgroup cols="3">
  444. <colspec colwidth="200pt"/>
  445. <colspec colwidth="40 pt"/>
  446. <colspec/>
  447. <tbody>
  448. <row>
  449. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  450. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  451. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  452. </row>
  453. <row>
  454. <entry><programlisting role="wsig">EchoRequest</programlisting></entry>
  455. <entry>N</entry>
  456. <entry>Estrutura contendo a solicitação</entry>
  457. </row>
  458. <row>
  459. <entry><programlisting role="wsig"> Request</programlisting></entry>
  460. <entry>N</entry>
  461. <entry>String para ecoar no resultado</entry>
  462. </row>
  463. </tbody>
  464. </tgroup>
  465. </informaltable></para>
  466. </sect2>
  467. <sect2>
  468. <title>Descrições da Tag de Resposta</title>
  469. <para><informaltable colsep="1" frame="all" rowsep="1">
  470. <tgroup cols="2">
  471. <colspec colwidth="200 pt"/>
  472. <colspec/>
  473. <tbody>
  474. <row>
  475. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  476. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  477. </row>
  478. <row>
  479. <entry><programlisting role="wsig">EchoResponse</programlisting></entry>
  480. <entry>Estrutura contendo a resposta</entry>
  481. </row>
  482. <row>
  483. <entry><programlisting role="wsig"> Response</programlisting></entry>
  484. <entry>Response</entry>
  485. </row>
  486. </tbody>
  487. </tgroup>
  488. </informaltable></para>
  489. </sect2>
  490. </sect1>
  491. <sect1>
  492. <title>GetDBSystemInfo</title>
  493. <para>Este método permite obter informações sobre a versão do HPCC
  494. System.</para>
  495. <sect2>
  496. <title>Exemplo de entrada XML</title>
  497. <para><programlisting>&lt;soap:Envelope&gt;
  498. &lt;soap:Body&gt;
  499. &lt;GetDBSystemInfoRequest&gt;
  500. &lt;IncludeAll&gt;<emphasis role="bluebold">1</emphasis>&lt;/IncludeAll&gt;
  501. &lt;/GetDBSystemInfoRequest&gt;
  502. &lt;/soap:Body&gt;
  503. &lt;/soap:Envelope&gt;
  504. </programlisting></para>
  505. </sect2>
  506. <sect2>
  507. <title>Descrições das Tags de Solicitação</title>
  508. <para><informaltable colsep="1" frame="all" rowsep="1">
  509. <tgroup cols="3">
  510. <colspec colwidth="200pt"/>
  511. <colspec colwidth="40 pt"/>
  512. <colspec/>
  513. <tbody>
  514. <row>
  515. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  516. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  517. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  518. </row>
  519. <row>
  520. <entry><programlisting role="wsig">GetDBSystemInfoRequest</programlisting></entry>
  521. <entry>Y</entry>
  522. <entry>Estrutura contendo a solicitação</entry>
  523. </row>
  524. <row>
  525. <entry><programlisting role="wsig"> IncludeAll</programlisting></entry>
  526. <entry>N</entry>
  527. <entry>Se definido como 1 ou verdadeiro, todas as
  528. informações disponíveis serão retornadas</entry>
  529. </row>
  530. </tbody>
  531. </tgroup>
  532. </informaltable></para>
  533. </sect2>
  534. <sect2>
  535. <title>Descrições da Tag de Resposta</title>
  536. <para><informaltable colsep="1" frame="all" rowsep="1">
  537. <tgroup cols="2">
  538. <colspec colwidth="200pt"/>
  539. <colspec/>
  540. <tbody>
  541. <row>
  542. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  543. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  544. </row>
  545. <row>
  546. <entry><programlisting role="wsig">GetDBSystemInfoResponse</programlisting></entry>
  547. <entry>Estrutura contendo a resposta</entry>
  548. </row>
  549. <row>
  550. <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
  551. <entry>Estrutura contendo o pedido. Consulte <link
  552. linkend="ExceptionStructure">Estrutura de Exceções</link> em
  553. Estruturas Comuns</entry>
  554. </row>
  555. <row>
  556. <entry><programlisting role="wsig"> Name</programlisting></entry>
  557. <entry>Nome</entry>
  558. </row>
  559. <row>
  560. <entry><programlisting role="wsig"> FullVersion</programlisting></entry>
  561. <entry>Versão Completa da Plataforma HPCC</entry>
  562. </row>
  563. <row>
  564. <entry><programlisting role="wsig"> Major</programlisting></entry>
  565. <entry>Major da Plataforma HPCC</entry>
  566. </row>
  567. <row>
  568. <entry><programlisting role="wsig"> Minor</programlisting></entry>
  569. <entry>Minor da Plataforma HPCC</entry>
  570. </row>
  571. <row>
  572. <entry><programlisting role="wsig"> Point</programlisting></entry>
  573. <entry>Ponto da Plataforma HPCC</entry>
  574. </row>
  575. <row>
  576. <entry><programlisting role="wsig"> Project</programlisting></entry>
  577. <entry>Project da Plataforma HPCC</entry>
  578. </row>
  579. <row>
  580. <entry><programlisting role="wsig"> Maturity</programlisting></entry>
  581. <entry>Maturidade da Plataforma HPCC</entry>
  582. </row>
  583. <row>
  584. <entry><programlisting role="wsig"> WsSQLFullVersion</programlisting></entry>
  585. <entry>Versão Completa do WsSQL</entry>
  586. </row>
  587. <row>
  588. <entry><programlisting role="wsig"> WsSQLMajor </programlisting></entry>
  589. <entry>Major do WsSQL</entry>
  590. </row>
  591. <row>
  592. <entry><programlisting role="wsig"> WsSQLMinor </programlisting></entry>
  593. <entry>Minor do WsSQL</entry>
  594. </row>
  595. <row>
  596. <entry><programlisting role="wsig"> WsSQLPoint </programlisting></entry>
  597. <entry>Ponto do WsSQL</entry>
  598. </row>
  599. <row>
  600. <entry><programlisting role="wsig"> WsSQLProject </programlisting></entry>
  601. <entry>Projeto do WsSQL</entry>
  602. </row>
  603. <row>
  604. <entry><programlisting role="wsig"> WsSQLMaturity</programlisting></entry>
  605. <entry>Maturidade do WsSQL</entry>
  606. </row>
  607. </tbody>
  608. </tgroup>
  609. </informaltable></para>
  610. </sect2>
  611. </sect1>
  612. <sect1>
  613. <title>GetDBMetaData</title>
  614. <para>Esse método permite que você consulte a Plataforma HPCC e obtenha
  615. metadados para criar uma exibição ou modelo do sistema de HPCC de
  616. destino como um banco de dados acessível por SQL.</para>
  617. <para>Você pode solicitar um ou mais dos seguintes itens:</para>
  618. <itemizedlist>
  619. <listitem>
  620. <para>Tabelas (arquivos lógicos no cluster HPCC)</para>
  621. </listitem>
  622. <listitem>
  623. <para>Stored Procedures (Consultas Publicadas)</para>
  624. </listitem>
  625. <listitem>
  626. <para>TargetClusters</para>
  627. </listitem>
  628. </itemizedlist>
  629. <sect2>
  630. <title>Exemplo de entrada XML</title>
  631. <para><programlisting>&lt;soap:Envelope&gt;
  632. &lt;soap:Body&gt;
  633. &lt;GetDBMetaDataRequest&gt;
  634. &lt;IncludeTables&gt;<emphasis role="bluebold">1</emphasis>&lt;/IncludeTables&gt;
  635. &lt;TableFilter/&gt;
  636. &lt;IncludeStoredProcedures&gt;<emphasis role="bluebold">1</emphasis>&lt;/IncludeStoredProcedures&gt;
  637. &lt;QuerySet/&gt;
  638. &lt;IncludeTargetClusters&gt;<emphasis role="bluebold">1</emphasis>&lt;/IncludeTargetClusters&gt;
  639. &lt;ClusterType/&gt;
  640. &lt;/GetDBMetaDataRequest&gt;
  641. &lt;/soap:Body&gt;
  642. &lt;/soap:Envelope&gt;</programlisting></para>
  643. </sect2>
  644. <sect2>
  645. <title>Descrições das Tags de Solicitação</title>
  646. <para><informaltable colsep="1" frame="all" rowsep="1">
  647. <tgroup cols="3">
  648. <colspec colwidth="200pt"/>
  649. <colspec colwidth="40 pt"/>
  650. <colspec/>
  651. <tbody>
  652. <row>
  653. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  654. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  655. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  656. </row>
  657. <row>
  658. <entry><programlisting role="wsig">GetDBMetaDataRequest</programlisting></entry>
  659. <entry>Y</entry>
  660. <entry>Estrutura contendo a solicitação</entry>
  661. </row>
  662. <row>
  663. <entry><programlisting role="wsig"> IncludeTables</programlisting></entry>
  664. <entry>N</entry>
  665. <entry>Se definido como 1 ou verdadeiro, as tabelas
  666. disponíveis serão incluídas na resposta</entry>
  667. </row>
  668. <row>
  669. <entry><programlisting role="wsig"> TableFilter</programlisting></entry>
  670. <entry>N</entry>
  671. <entry>Filtrar por resultados da tabela</entry>
  672. </row>
  673. <row>
  674. <entry><programlisting role="wsig"> IncludeStoredProcedures</programlisting></entry>
  675. <entry>N</entry>
  676. <entry>Se definido como 1 ou verdadeiro, as Stored
  677. Procedures serão incluídas na resposta</entry>
  678. </row>
  679. <row>
  680. <entry><programlisting role="wsig"> QuerySet</programlisting></entry>
  681. <entry>N</entry>
  682. <entry>QuerySet para usar como filtro para procedimentos
  683. armazenados para retornar</entry>
  684. </row>
  685. <row>
  686. <entry><programlisting role="wsig"> IncludeTargetClusters</programlisting></entry>
  687. <entry>N</entry>
  688. <entry>Se definido como 1 ou verdadeiro, os Clusters de
  689. Destino disponíveis serão incluídos na resposta</entry>
  690. </row>
  691. <row>
  692. <entry><programlisting role="wsig"> ClusterType</programlisting></entry>
  693. <entry>N</entry>
  694. <entry>Tipo de cluster a ser usado como filtro</entry>
  695. </row>
  696. </tbody>
  697. </tgroup>
  698. </informaltable></para>
  699. </sect2>
  700. <sect2 role="brk">
  701. <title>Descrições da Tag de Resposta</title>
  702. <para><informaltable colsep="1" frame="all" rowsep="1">
  703. <tgroup cols="2">
  704. <colspec colwidth="200pt"/>
  705. <colspec/>
  706. <tbody>
  707. <row>
  708. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  709. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  710. </row>
  711. <row>
  712. <entry><programlisting role="wsig">GetDBMetaDataResponse</programlisting></entry>
  713. <entry>Estrutura contendo a resposta</entry>
  714. </row>
  715. <row>
  716. <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
  717. <entry>Estrutura contendo o pedido. Consulte <link
  718. linkend="ExceptionStructure">Estrutura de Exceções</link> em
  719. Estruturas Comuns</entry>
  720. </row>
  721. <row>
  722. <entry><programlisting role="wsig"> TableCount</programlisting></entry>
  723. <entry>Contagem de tabelas disponíveis</entry>
  724. </row>
  725. <row>
  726. <entry><programlisting role="wsig"> Tables</programlisting></entry>
  727. <entry>Estrutura contendo uma ou mais tabelas</entry>
  728. </row>
  729. <row>
  730. <entry><programlisting role="wsig"> Table</programlisting></entry>
  731. <entry>Estrutura contendo uma tabela</entry>
  732. </row>
  733. <row>
  734. <entry><programlisting role="wsig"> Name</programlisting></entry>
  735. <entry>Nome da tabela</entry>
  736. </row>
  737. <row>
  738. <entry><programlisting role="wsig"> Columns</programlisting></entry>
  739. <entry>Estrutura contendo uma ou mais colunas</entry>
  740. </row>
  741. <row>
  742. <entry><programlisting role="wsig"> Columns</programlisting></entry>
  743. <entry>Colunas</entry>
  744. </row>
  745. <row>
  746. <entry><programlisting role="wsig"> Name</programlisting></entry>
  747. <entry>Nome da Coluna</entry>
  748. </row>
  749. <row>
  750. <entry><programlisting role="wsig"> Type</programlisting></entry>
  751. <entry>Tipo de dados da coluna (por exemplo, unsigned8,
  752. string3)</entry>
  753. </row>
  754. <row>
  755. <entry><programlisting role="wsig"> ECL</programlisting></entry>
  756. <entry>Definição ECL para a tabela</entry>
  757. </row>
  758. <row>
  759. <entry><programlisting role="wsig"> Format</programlisting></entry>
  760. <entry>Formato da tabela (por exemplo, FLAT, KEYED,
  761. etc)</entry>
  762. </row>
  763. <row>
  764. <entry><programlisting role="wsig"> ContentType</programlisting></entry>
  765. <entry>Tipo de Conteúdo</entry>
  766. </row>
  767. <row>
  768. <entry><programlisting role="wsig"> Description</programlisting></entry>
  769. <entry>Descrição</entry>
  770. </row>
  771. <row>
  772. <entry><programlisting role="wsig"> IsKeyed</programlisting></entry>
  773. <entry>Indicador booleano: É um índice?</entry>
  774. </row>
  775. <row>
  776. <entry><programlisting role="wsig"> IsSuper</programlisting></entry>
  777. <entry>Indicador booleano: É um superfile?</entry>
  778. </row>
  779. <row>
  780. <entry><programlisting role="wsig"> CsvQuote</programlisting></entry>
  781. <entry>Caractere de cotação (válido apenas para arquivos
  782. CSV)</entry>
  783. </row>
  784. <row>
  785. <entry><programlisting role="wsig"> CsvSeparate</programlisting></entry>
  786. <entry>Caractere de separação (válido apenas para arquivos
  787. CSV)</entry>
  788. </row>
  789. <row>
  790. <entry><programlisting role="wsig"> CsvTerminate</programlisting></entry>
  791. <entry>Gravar caractere terminador (válido apenas para
  792. arquivos CSV)</entry>
  793. </row>
  794. <row>
  795. <entry><programlisting role="wsig"> Group</programlisting></entry>
  796. <entry>Grupo</entry>
  797. </row>
  798. <row>
  799. <entry><programlisting role="wsig"> MaxRecordSize</programlisting></entry>
  800. <entry>Tamanho máximo do registro</entry>
  801. </row>
  802. <row>
  803. <entry><programlisting role="wsig"> Modified</programlisting></entry>
  804. <entry>Data de modificação</entry>
  805. </row>
  806. <row>
  807. <entry><programlisting role="wsig"> NumParts</programlisting></entry>
  808. <entry>Número da partes dos arquivos</entry>
  809. </row>
  810. <row>
  811. <entry><programlisting role="wsig"> Owner</programlisting></entry>
  812. <entry>Nome do Owner</entry>
  813. </row>
  814. <row>
  815. <entry><programlisting role="wsig"> QuerySets</programlisting></entry>
  816. <entry>Estrutura contendo um ou mais conjuntos de
  817. consultas</entry>
  818. </row>
  819. <row>
  820. <entry><programlisting role="wsig"> QuerySet</programlisting></entry>
  821. <entry>Estrutura contendo um Grupo de Consultas</entry>
  822. </row>
  823. <row>
  824. <entry><programlisting role="wsig"> Name</programlisting></entry>
  825. <entry>Nome da Consulta</entry>
  826. </row>
  827. <row>
  828. <entry><programlisting role="wsig"> QuerySetQueries</programlisting></entry>
  829. <entry>Estrutura contendo uma ou mais
  830. QuerySetQueries</entry>
  831. </row>
  832. <row>
  833. <entry><programlisting role="wsig"> QuerySetQuery</programlisting></entry>
  834. <entry>Estrutura contendo um QuerySetQuery</entry>
  835. </row>
  836. <row>
  837. <entry><programlisting role="wsig"> Name</programlisting></entry>
  838. <entry>Nome da Consulta</entry>
  839. </row>
  840. <row>
  841. <entry><programlisting role="wsig"> Id</programlisting></entry>
  842. <entry>ID da consulta (somente para uso interno e fins
  843. informativos)</entry>
  844. </row>
  845. <row>
  846. <entry><programlisting role="wsig"> Wuid</programlisting></entry>
  847. <entry>ID da workunit</entry>
  848. </row>
  849. <row>
  850. <entry><programlisting role="wsig"> Suspended</programlisting></entry>
  851. <entry>Indicador booleano: A consulta está suspensa?</entry>
  852. </row>
  853. <row>
  854. <entry><programlisting role="wsig"> Signature</programlisting></entry>
  855. <entry>Assinatura da Consulta</entry>
  856. </row>
  857. <row>
  858. <entry><programlisting role="wsig"> InParams</programlisting></entry>
  859. <entry>Estrutura contendo uma ou mais parâmetros de
  860. entrada</entry>
  861. </row>
  862. <row>
  863. <entry><programlisting role="wsig"> InParam</programlisting></entry>
  864. <entry>Estrutura contendo um parâmetro de entrada</entry>
  865. </row>
  866. <row>
  867. <entry><programlisting role="wsig"> Name</programlisting></entry>
  868. <entry>Nome do parâmetro</entry>
  869. </row>
  870. <row>
  871. <entry><programlisting role="wsig"> Type</programlisting></entry>
  872. <entry>Tipo de dados de parâmetro (por exemplo,
  873. string)</entry>
  874. </row>
  875. <row>
  876. <entry><programlisting role="wsig"> ResultSets</programlisting></entry>
  877. <entry>Estrutura contendo um ou mais Conjuntos de Resultados
  878. (somente o primeiro conjunto de resultados é retornado de
  879. uma solicitação de serviço WsSQL)</entry>
  880. </row>
  881. <row>
  882. <entry><programlisting role="wsig"> ResultSet</programlisting></entry>
  883. <entry>Estrutura contendo um conjunto de resultados</entry>
  884. </row>
  885. <row>
  886. <entry><programlisting role="wsig"> Name</programlisting></entry>
  887. <entry>Nome do conjunto de resultados</entry>
  888. </row>
  889. <row>
  890. <entry><programlisting role="wsig"> OutParams</programlisting></entry>
  891. <entry>Estrutura contendo uma ou mais parâmetros de
  892. saída</entry>
  893. </row>
  894. <row>
  895. <entry><programlisting role="wsig"> OutParam</programlisting></entry>
  896. <entry>Estrutura contendo um parâmetro de resultado</entry>
  897. </row>
  898. <row>
  899. <entry><programlisting role="wsig"> Name</programlisting></entry>
  900. <entry>Nome do parâmetro</entry>
  901. </row>
  902. <row>
  903. <entry><programlisting role="wsig"> Type</programlisting></entry>
  904. <entry>Tipo de dados de parâmetro (por exemplo,
  905. string)</entry>
  906. </row>
  907. <row>
  908. <entry><programlisting role="wsig"> QuerySetAliases</programlisting></entry>
  909. <entry>Estrutura contendo uma ou mais
  910. QuerySetAliases</entry>
  911. </row>
  912. <row>
  913. <entry><programlisting role="wsig"> QuerySetAlias</programlisting></entry>
  914. <entry>Estrutura contendo um QuerySetAlias</entry>
  915. </row>
  916. <row>
  917. <entry><programlisting role="wsig"> Name</programlisting></entry>
  918. <entry>Nome da Consulta</entry>
  919. </row>
  920. <row>
  921. <entry><programlisting role="wsig"> Id</programlisting></entry>
  922. <entry>ID da Consulta</entry>
  923. </row>
  924. <row>
  925. <entry><programlisting role="wsig"> ClusterNames</programlisting></entry>
  926. <entry>Estrutura contendo uma ou mais TargetClusters</entry>
  927. </row>
  928. <row>
  929. <entry><programlisting role="wsig"> ClusterName</programlisting></entry>
  930. <entry>Estrutura contendo um TargetCluster</entry>
  931. </row>
  932. </tbody>
  933. </tgroup>
  934. </informaltable></para>
  935. </sect2>
  936. </sect1>
  937. <sect1>
  938. <title>ExecuteSQL</title>
  939. <para>Use este método para enviar consultas SQL padrão (não preparadas).
  940. A tag de entrada <emphasis role="bold">SqlText</emphasis> aceita texto
  941. em SQL livre (consulte a sintaxe SQL suportada abaixo).</para>
  942. <para>Se você está executando SQL usando SELECT ou SELECT JOIN, você
  943. deve especificar o <emphasis
  944. role="bold">TargetCluster</emphasis>.</para>
  945. <para>Se você estiver executando o SQL que usa um CALL em uma stored
  946. procedure, deverá qualificar totalmente o nome da procedure (por
  947. exemplo: Roxie.FindPeopleByZip) ou especifique o <emphasis
  948. role="bold">TargetQuerySet</emphasis> aqui. Os parâmetros devem ser
  949. passados em ordem, não por nome. Você pode recuperar o pedido usando
  950. GetDBMetaData.</para>
  951. <para>Para excluir o esquema de resultados no resultado, defina a opção
  952. <emphasis role="bold">SuppressXmlSchema</emphasis> opção para 1 ou
  953. verdadeiro.</para>
  954. <para>Para a paginação do conjunto de resultados, você pode limitar o
  955. total de resultados da consulta e a página inicial retornada (<emphasis
  956. role="bold">ResultWindowStart</emphasis>, <emphasis
  957. role="bold">ResultWindowCount</emphasis>).</para>
  958. <sect2>
  959. <title>Sample Input XML</title>
  960. <para><programlisting>&lt;soap:Envelope&gt;
  961. &lt;ExecuteSQLRequest&gt;
  962. &lt;SqlText&gt;<emphasis role="bluebold">SELECT * from tutorial::yn::tutorialperson where lastname='JONES'</emphasis>&lt;/SqlText&gt;
  963. &lt;UserName&gt;<emphasis role="bluebold">Emily</emphasis>&lt;/UserName&gt;
  964. <emphasis role="greenbold">&lt;!-- Use either TargetCluster or TargetQuerySet, not both --&gt;</emphasis>
  965. <emphasis role="greenbold">&lt;!-- If stored procedure was fully qualified, you can omit TargetQuerySet --&gt;</emphasis>
  966. &lt;TargetCluster&gt;<emphasis role="bluebold">thor</emphasis>&lt;/TargetCluster&gt;
  967. &lt;TargetQuerySet&gt;<emphasis role="bluebold"/>&lt;/TargetQuerySet&gt;
  968. &lt;SuppressResults&gt;<emphasis role="bluebold">1</emphasis>&lt;/SuppressResults&gt;
  969. &lt;SuppressXmlSchema&gt;<emphasis role="bluebold">0</emphasis>&lt;/SuppressXmlSchema&gt;
  970. &lt;resultLimit&gt;<emphasis role="bluebold">100</emphasis>&lt;/resultLimit&gt;
  971. <emphasis role="greenbold">&lt;!-- For page loading --&gt;</emphasis>
  972. &lt;ResultWindowStart&gt;<emphasis role="bluebold">0</emphasis>&lt;/ResultWindowStart&gt;
  973. &lt;ResultWindowCount&gt;<emphasis role="bluebold">50</emphasis>&lt;/ResultWindowCount&gt;
  974. &lt;/ExecuteSQLRequest&gt;
  975. &lt;/soap:Envelope&gt;
  976. </programlisting></para>
  977. </sect2>
  978. <sect2 role="brk">
  979. <title>Descrições das Tags de Solicitação</title>
  980. <para><informaltable colsep="1" frame="all" rowsep="1">
  981. <tgroup cols="3">
  982. <colspec colwidth="200pt"/>
  983. <colspec colwidth="40 pt"/>
  984. <colspec/>
  985. <tbody>
  986. <row>
  987. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  988. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  989. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  990. </row>
  991. <row>
  992. <entry><programlisting role="wsig">ExecuteSQLRequest</programlisting></entry>
  993. <entry>Y</entry>
  994. <entry>Estrutura contendo a solicitação</entry>
  995. </row>
  996. <row>
  997. <entry><programlisting role="wsig"> SqlText</programlisting></entry>
  998. <entry>Y</entry>
  999. <entry>Este método aceita texto-livre SQL (veja a sintaxe
  1000. suportada abaixo).</entry>
  1001. </row>
  1002. <row>
  1003. <entry><programlisting role="wsig"> UserName</programlisting></entry>
  1004. <entry>N</entry>
  1005. <entry>Nome de usuário para transmitir para o HPCC. Isso é
  1006. usado como job owner no HPCC</entry>
  1007. </row>
  1008. <row>
  1009. <entry><programlisting role="wsig"> TargetCluster</programlisting></entry>
  1010. <entry>Y *</entry>
  1011. <entry>Se você estiver executando o SQL usando um SELECT ou
  1012. SELECT JOIN, deverá especificar o TargetCluster.</entry>
  1013. </row>
  1014. <row>
  1015. <entry><programlisting role="wsig"> TargetQuerySet</programlisting></entry>
  1016. <entry>Y *</entry>
  1017. <entry>Se você estiver executando um SQL preparado que use
  1018. um CALL em um procedimento armazenado, deverá qualificar
  1019. totalmente o nome do procedimento no SQL preparado (por
  1020. exemplo: Roxie.FindPeopleByZip) ou especifique o
  1021. TargetCluster aqui.</entry>
  1022. </row>
  1023. <row>
  1024. <entry><programlisting role="wsig"> SuppressResults</programlisting></entry>
  1025. <entry>N</entry>
  1026. <entry>Se definido como 1 ou verdadeiro, os resultados da
  1027. consulta não serão incluídos na resposta</entry>
  1028. </row>
  1029. <row>
  1030. <entry><programlisting role="wsig"> SuppressXmlSchema</programlisting></entry>
  1031. <entry>N</entry>
  1032. <entry>Se definido como 1 ou verdadeiro, o esquema do
  1033. resultado da consulta não será incluído na resposta</entry>
  1034. </row>
  1035. <row>
  1036. <entry><programlisting role="wsig"> Wait</programlisting></entry>
  1037. <entry>N</entry>
  1038. <entry>Tempo limite em milissegundos. Use -1 para tempo
  1039. ilimitado</entry>
  1040. </row>
  1041. <row>
  1042. <entry><programlisting role="wsig"> resultLimit</programlisting></entry>
  1043. <entry>N</entry>
  1044. <entry>Se definido, os resultados podem conter tantos
  1045. registros quanto esse limite</entry>
  1046. </row>
  1047. <row>
  1048. <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
  1049. <entry>N</entry>
  1050. <entry>Para uso com carregamento de página, o registro
  1051. inicial a ser retornado</entry>
  1052. </row>
  1053. <row>
  1054. <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
  1055. <entry>N</entry>
  1056. <entry>Para uso com carregamento de página, o número de
  1057. registros a serem incluídos no ResultWindowStart</entry>
  1058. </row>
  1059. </tbody>
  1060. </tgroup>
  1061. </informaltable><parameter>* Um ou outro é
  1062. obrigatório</parameter></para>
  1063. </sect2>
  1064. <sect2>
  1065. <title>Descrições da Tag de Resposta</title>
  1066. <para><informaltable colsep="1" frame="all" rowsep="1">
  1067. <tgroup cols="2">
  1068. <colspec colwidth="200pt"/>
  1069. <colspec/>
  1070. <tbody>
  1071. <row>
  1072. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1073. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1074. </row>
  1075. <row>
  1076. <entry><programlisting role="wsig">ExecuteSQLResponse</programlisting></entry>
  1077. <entry>Estrutura contendo a resposta</entry>
  1078. </row>
  1079. <row>
  1080. <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
  1081. <entry>Estrutura contendo o pedido. Consulte <link
  1082. linkend="ExceptionStructure">Estrutura de Exceções</link> em
  1083. Estruturas Comuns</entry>
  1084. </row>
  1085. <row>
  1086. <entry><programlisting role="wsig"> ParentWuId</programlisting></entry>
  1087. <entry>O ID da Workunit para a workunit pai (aquela com o
  1088. SQL preparado)</entry>
  1089. </row>
  1090. <row>
  1091. <entry><programlisting role="wsig"> Result</programlisting></entry>
  1092. <entry>O resultado da consulta</entry>
  1093. </row>
  1094. <row>
  1095. <entry><programlisting role="wsig"> Workunit</programlisting></entry>
  1096. <entry>Estrutura contendo detalhes da Workunit. Consulte
  1097. <link linkend="WUStructure">Estrutura da Workunit</link> em
  1098. Estruturas Comuns</entry>
  1099. </row>
  1100. <row>
  1101. <entry><programlisting role="wsig"> resultLimit</programlisting></entry>
  1102. <entry>O resultLimit enviado</entry>
  1103. </row>
  1104. <row>
  1105. <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
  1106. <entry>O ReslutWindowStart enviado</entry>
  1107. </row>
  1108. <row>
  1109. <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
  1110. <entry>O ResultWindowCount enviado</entry>
  1111. </row>
  1112. </tbody>
  1113. </tgroup>
  1114. </informaltable></para>
  1115. </sect2>
  1116. </sect1>
  1117. <sect1>
  1118. <title>GetResults</title>
  1119. <para>Esse método fornece resultados de consultas executadas
  1120. anteriormente. Use a <emphasis role="bold">Wuid</emphasis> retornada de
  1121. <emphasis role="bold">ExecuteSQL</emphasis> ou <emphasis
  1122. role="bold">PrepareSQL</emphasis>. Este método é ideal para paginação de
  1123. resultados.</para>
  1124. <sect2>
  1125. <title>Sample Input XML</title>
  1126. <para><programlisting>&lt;soap:Envelope&gt;
  1127. &lt;soap:Body&gt;
  1128. &lt;GetResultsRequest&gt;
  1129. &lt;WuId&gt;<emphasis role="bluebold">W20140529-161930</emphasis>&lt;/WuId&gt;
  1130. &lt;SuppressXmlSchema&gt;<emphasis role="bluebold">1</emphasis>&lt;/SuppressXmlSchema&gt;
  1131. &lt;ResultWindowStart&gt;<emphasis role="bluebold">0</emphasis>&lt;/ResultWindowStart&gt;
  1132. &lt;ResultWindowCount&gt;<emphasis role="bluebold">0</emphasis>&lt;/ResultWindowCount&gt;
  1133. &lt;/GetResultsRequest&gt;
  1134. &lt;/soap:Body&gt;
  1135. &lt;/soap:Envelope&gt;</programlisting></para>
  1136. </sect2>
  1137. <sect2>
  1138. <title>Descrições das Tags de Solicitação</title>
  1139. <para><informaltable colsep="1" frame="all" rowsep="1">
  1140. <tgroup cols="3">
  1141. <colspec colwidth="200pt"/>
  1142. <colspec colwidth="40 pt"/>
  1143. <colspec/>
  1144. <tbody>
  1145. <row>
  1146. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1147. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  1148. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1149. </row>
  1150. <row>
  1151. <entry><programlisting role="wsig">GetResultsRequest</programlisting></entry>
  1152. <entry>Y</entry>
  1153. <entry>Estrutura contendo a solicitação</entry>
  1154. </row>
  1155. <row>
  1156. <entry><programlisting role="wsig"> WuId</programlisting></entry>
  1157. <entry>Y</entry>
  1158. <entry>Workunit Id (WUID)</entry>
  1159. </row>
  1160. <row>
  1161. <entry><programlisting role="wsig"> SuppressXmlSchema</programlisting></entry>
  1162. <entry>N</entry>
  1163. <entry>Se definido como 1 ou verdadeiro, o esquema do
  1164. resultado da consulta não será incluído na resposta</entry>
  1165. </row>
  1166. <row>
  1167. <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
  1168. <entry>N</entry>
  1169. <entry>Para uso com carregamento de página, o registro
  1170. inicial a ser retornado</entry>
  1171. </row>
  1172. <row>
  1173. <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
  1174. <entry>N</entry>
  1175. <entry>Para uso com carregamento de página, o número de
  1176. registros a serem incluídos no ResultWindowStart</entry>
  1177. </row>
  1178. </tbody>
  1179. </tgroup>
  1180. </informaltable></para>
  1181. </sect2>
  1182. <sect2>
  1183. <title>Descrições da Tag de Resposta</title>
  1184. <para><informaltable colsep="1" frame="all" rowsep="1">
  1185. <tgroup cols="2">
  1186. <colspec colwidth="200pt"/>
  1187. <colspec/>
  1188. <tbody>
  1189. <row>
  1190. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1191. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1192. </row>
  1193. <row>
  1194. <entry><programlisting role="wsig">GetResultsResponse</programlisting></entry>
  1195. <entry>Estrutura contendo a resposta</entry>
  1196. </row>
  1197. <row>
  1198. <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
  1199. <entry>Estrutura contendo o pedido. Consulte <link
  1200. linkend="ExceptionStructure">Estrutura de Exceções</link> em
  1201. Estruturas Comuns</entry>
  1202. </row>
  1203. <row>
  1204. <entry><programlisting role="wsig"> Result</programlisting></entry>
  1205. <entry>O resultado da consulta</entry>
  1206. </row>
  1207. <row>
  1208. <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
  1209. <entry>O registro inicial enviado</entry>
  1210. </row>
  1211. <row>
  1212. <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
  1213. <entry>A contagem de registros enviados</entry>
  1214. </row>
  1215. <row>
  1216. <entry><programlisting role="wsig"> Workunit</programlisting></entry>
  1217. <entry>Estrutura contendo detalhes da Workunit. Consulte
  1218. <link linkend="WUStructure">Estrutura da Workunit</link> em
  1219. Estruturas Comuns</entry>
  1220. </row>
  1221. </tbody>
  1222. </tgroup>
  1223. </informaltable></para>
  1224. </sect2>
  1225. </sect1>
  1226. <sect1>
  1227. <title>PrepareSQL</title>
  1228. <para>Use este método para enviar uma solicitação free-hand SQL para uso
  1229. posterior como uma consulta parametrizada. Isso compila a consulta e
  1230. retorna a <emphasis role="bold">Wuid</emphasis>. Esta <emphasis
  1231. role="bold">Wuid</emphasis> é usada posteriormente para executar a
  1232. consulta com os parâmetros de entrada fornecidos usando o método
  1233. <emphasis role="bold">ExecutePreparedSQL</emphasis> .</para>
  1234. <para>Isso é ideal para consultas que são executadas muitas vezes com
  1235. valores diferentes.</para>
  1236. <para>O SQL preparado pode conter qualquer sintaxe SQL suportada.</para>
  1237. <para>Se você está executando SQL usando SELECT ou SELECT JOIN, você
  1238. deve especificar o <emphasis
  1239. role="bold">TargetCluster</emphasis>.</para>
  1240. <para>Se você estiver usando uma CHAMADA para uma store procedure
  1241. armazenada , deverá qualificar totalmente o nome do procedimento no SQL
  1242. (por exemplo: Roxie.FindPeopleByZip) ou especifique o <emphasis
  1243. role="bold">TargetQuerySet</emphasis> aqui. Os parâmetros devem ser
  1244. passados em ordem, não por nome. Você pode recuperar o pedido usando
  1245. GetDBMetaData.</para>
  1246. <para>Crie parâmetros usando um ? como um placeholder.</para>
  1247. <para><emphasis role="bold">Exemplo:</emphasis></para>
  1248. <para><programlisting>select * from tutorial::yn::tutorialperson where lastname=?</programlisting>Mais
  1249. tarde, você enviaria uma solicitação para <emphasis
  1250. role="bold">ExecutePreparedSQL</emphasis> fornecer um valor para usar o
  1251. <emphasis>lastname</emphasis> conforme mostrado no exemplo a
  1252. seguir:</para>
  1253. <para><programlisting>&lt;soap:Envelope &gt;
  1254. &lt;soap:Body&gt;
  1255. &lt;ExecutePreparedSQLRequest&gt;
  1256. &lt;WuId&gt;<emphasis role="bluebold">W20140724-135811</emphasis>&lt;/WuId&gt;
  1257. &lt;TargetCluster&gt;<emphasis role="bluebold">thor</emphasis>&lt;/TargetCluster&gt;
  1258. &lt;SuppressResults&gt;<emphasis role="bluebold">0</emphasis>&lt;/SuppressResults&gt;
  1259. &lt;SuppressXmlSchema&gt;<emphasis role="bluebold">1</emphasis>&lt;/SuppressXmlSchema&gt;
  1260. &lt;resultLimit&gt;<emphasis role="bluebold">100</emphasis>&lt;/resultLimit&gt;
  1261. &lt;Variables&gt;
  1262. &lt;NamedValue&gt;
  1263. &lt;Name&gt;<emphasis role="bluebold">lastname</emphasis>&lt;/Name&gt;
  1264. &lt;Value&gt;<emphasis role="bluebold">JONES</emphasis>&lt;/Value&gt;
  1265. &lt;/NamedValue&gt;
  1266. &lt;/Variables&gt;
  1267. &lt;/ExecutePreparedSQLRequest&gt;
  1268. &lt;/soap:Body&gt;
  1269. &lt;/soap:Envelope&gt;</programlisting></para>
  1270. <sect2>
  1271. <title>Sample Input XML</title>
  1272. <para><programlisting>&lt;soap:Envelope &gt;
  1273. &lt;soap:Body&gt;
  1274. &lt;PrepareSQLRequest&gt;
  1275. &lt;SqlText&gt;<emphasis role="bluebold">select * from tutorial::yn::tutorialperson where lastname=?</emphasis>&lt;/SqlText&gt;
  1276. <emphasis role="greenbold">&lt;!-- Use either TargetCluster or TargetQuerySet, not both --&gt;</emphasis>
  1277. <emphasis role="greenbold">&lt;!-- If stored procedure is fully qualified, you can omit TargetQuerySet --&gt;</emphasis>
  1278. &lt;TargetCluster&gt;<emphasis role="bluebold">thor</emphasis>&lt;/TargetCluster&gt;
  1279. &lt;/PrepareSQLRequest&gt;
  1280. &lt;/soap:Body&gt;
  1281. &lt;/soap:Envelope&gt;</programlisting></para>
  1282. </sect2>
  1283. <sect2 role="brk">
  1284. <title>Descrições das Tags de Solicitação</title>
  1285. <para><informaltable colsep="1" frame="all" rowsep="1">
  1286. <tgroup cols="3">
  1287. <colspec colwidth="200pt"/>
  1288. <colspec colwidth="40 pt"/>
  1289. <colspec/>
  1290. <tbody>
  1291. <row>
  1292. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1293. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  1294. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1295. </row>
  1296. <row>
  1297. <entry><programlisting role="wsig">PrepareSQLRequest</programlisting></entry>
  1298. <entry>N</entry>
  1299. <entry>Estrutura contendo a solicitação</entry>
  1300. </row>
  1301. <row>
  1302. <entry><programlisting role="wsig"> SqlText</programlisting></entry>
  1303. <entry>Y</entry>
  1304. <entry>Este método aceita texto-livre SQL (veja a sintaxe
  1305. suportada abaixo).</entry>
  1306. </row>
  1307. <row>
  1308. <entry><programlisting role="wsig"> TargetCluster</programlisting></entry>
  1309. <entry>Y *</entry>
  1310. <entry>Se você estiver executando o SQL usando um SELECT ou
  1311. SELECT JOIN, deverá especificar o TargetCluster.</entry>
  1312. </row>
  1313. <row>
  1314. <entry><programlisting role="wsig"> TargetQuerySet</programlisting></entry>
  1315. <entry>Y *</entry>
  1316. <entry>Se você estiver executando um SQL preparado que use
  1317. um CALL em um procedimento armazenado, deverá qualificar
  1318. totalmente o nome do procedimento no SQL preparado (por
  1319. exemplo: Roxie.FindPeopleByZip) ou especifique o
  1320. TargetCluster aqui.</entry>
  1321. </row>
  1322. <row>
  1323. <entry><programlisting role="wsig"> Wait</programlisting></entry>
  1324. <entry>N</entry>
  1325. <entry>Tempo limite em milissegundos. Use -1 para tempo
  1326. ilimitado</entry>
  1327. </row>
  1328. </tbody>
  1329. </tgroup>
  1330. </informaltable><parameter>* Um ou outro é
  1331. obrigatório</parameter></para>
  1332. </sect2>
  1333. <sect2>
  1334. <title>Descrições da Tag de Resposta</title>
  1335. <para><informaltable colsep="1" frame="all" rowsep="1">
  1336. <tgroup cols="2">
  1337. <colspec colwidth="200pt"/>
  1338. <colspec/>
  1339. <tbody>
  1340. <row>
  1341. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1342. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1343. </row>
  1344. <row>
  1345. <entry><programlisting role="wsig">PrepareSQLResponse</programlisting></entry>
  1346. <entry>Estrutura contendo a resposta</entry>
  1347. </row>
  1348. <row>
  1349. <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
  1350. <entry>Estrutura contendo o pedido. Consulte <link
  1351. linkend="ExceptionStructure">Estrutura de Exceções</link> em
  1352. Estruturas Comuns</entry>
  1353. </row>
  1354. <row>
  1355. <entry><programlisting role="wsig"> Workunit</programlisting></entry>
  1356. <entry>Estrutura contendo detalhes da Workunit. Consulte
  1357. <link linkend="WUStructure">Estrutura da Workunit</link> em
  1358. Estruturas Comuns</entry>
  1359. </row>
  1360. <row>
  1361. <entry><programlisting role="wsig"> Result</programlisting></entry>
  1362. <entry>Estrutura contendo resultado (se houver)</entry>
  1363. </row>
  1364. </tbody>
  1365. </tgroup>
  1366. </informaltable></para>
  1367. </sect2>
  1368. </sect1>
  1369. <sect1>
  1370. <title>ExecutePreparedSQL</title>
  1371. <para>Este método executa uma consulta SQL parametrizada previamente
  1372. criada.</para>
  1373. <para>A consulta compilada de destino é referenciada usando um ID da
  1374. Workunit (<emphasis role="bold">Wuid</emphasis>), que é devolvido pelo
  1375. <emphasis role="bold">PrepareSQL</emphasis> . O chamador pode
  1376. especificar a sequência de parâmetros de entrada como pares de
  1377. valor-chave, que estão vinculados à consulta pré-compilada.</para>
  1378. <para>O SQL preparado pode conter qualquer sintaxe SQL suportada.</para>
  1379. <para>Se você estiver executando o SQL usando um SELECT ou SELECT JOIN,
  1380. pode fornecer um <emphasis role="bold">TargetCluster</emphasis> para
  1381. substituir o especificado ao enviar a solicitação PrepareSQL; no
  1382. entanto, deve ser um cluster do mesmo tipo.</para>
  1383. <para>Se você quiser limitar o número de resultados, você deve usar uma
  1384. cláusula LIMIT em sua consulta SQL.</para>
  1385. <para>Para a paginação do conjunto de resultados, você pode limitar o
  1386. total de resultados da consulta e a página inicial retornada (<emphasis
  1387. role="bold">ResultWindowStart</emphasis>, <emphasis
  1388. role="bold">ResultWindowCount</emphasis>).</para>
  1389. <sect2>
  1390. <title>Sample Input XML</title>
  1391. <para><programlisting>&lt;soap:Envelope&gt;
  1392. &lt;soap:Body&gt;
  1393. &lt;ExecutePreparedSQLRequest&gt;
  1394. &lt;WuId&gt;<emphasis role="bluebold">W20140529-161930</emphasis>&lt;/WuId&gt;
  1395. &lt;UserName&gt;<emphasis role="bluebold">EmilyKate</emphasis>&lt;/UserName&gt;
  1396. <emphasis role="greenbold">&lt;!-- You can override the TargetCluster used in original PrepareSQL query, <emphasis
  1397. role="greenbold">--&gt;</emphasis>
  1398. &lt;!-- but it must be of the same type --&gt;</emphasis>
  1399. &lt;TargetCluster&gt;<emphasis role="bluebold">Thor</emphasis>&lt;/TargetCluster&gt;
  1400. &lt;SuppressResults&gt;<emphasis role="bluebold">0</emphasis>&lt;/SuppressResults&gt;
  1401. &lt;SuppressXmlSchema&gt;<emphasis role="bluebold">1</emphasis>&lt;/SuppressXmlSchema&gt;
  1402. &lt;Wait&gt;<emphasis role="bluebold">-1</emphasis>&lt;/Wait&gt;
  1403. <emphasis role="greenbold">&lt;!-- For page loading --&gt;</emphasis>
  1404. &lt;ResultWindowStart&gt;<emphasis role="bluebold">0</emphasis>&lt;/ResultWindowStart&gt;
  1405. &lt;ResultWindowCount&gt;<emphasis role="bluebold">50</emphasis>&lt;/ResultWindowCount&gt;
  1406. <emphasis role="greenbold">&lt;!-- Paramaters using name/value pairs --&gt;</emphasis>
  1407. &lt;Variables&gt;
  1408. &lt;NamedValue&gt;
  1409. &lt;Name&gt;<emphasis role="bluebold">firstname</emphasis>&lt;/Name&gt;
  1410. &lt;Value&gt;<emphasis role="bluebold">Jim</emphasis>&lt;/Value&gt;
  1411. &lt;/NamedValue&gt;
  1412. &lt;NamedValue&gt;
  1413. &lt;Name&gt;<emphasis role="bluebold">lastname</emphasis>&lt;/Name&gt;
  1414. &lt;Value&gt;JONES&lt;/Value&gt;
  1415. &lt;/NamedValue&gt;
  1416. &lt;/Variables&gt;
  1417. &lt;/ExecutePreparedSQLRequest&gt;
  1418. &lt;/soap:Body&gt;
  1419. &lt;/soap:Envelope&gt;
  1420. </programlisting></para>
  1421. </sect2>
  1422. <sect2 role="brk">
  1423. <title>Descrições das Tags de Solicitação</title>
  1424. <para><informaltable colsep="1" frame="all" rowsep="1">
  1425. <tgroup cols="3">
  1426. <colspec colwidth="200 pt"/>
  1427. <colspec colwidth="40 pt"/>
  1428. <colspec/>
  1429. <tbody>
  1430. <row>
  1431. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1432. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  1433. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1434. </row>
  1435. <row>
  1436. <entry><programlisting role="wsig">ExecutePreparedSQLRequest</programlisting></entry>
  1437. <entry>N</entry>
  1438. <entry>Estrutura contendo a solicitação</entry>
  1439. </row>
  1440. <row>
  1441. <entry><programlisting role="wsig"> WuId</programlisting></entry>
  1442. <entry>Y</entry>
  1443. <entry>A ID da Workunit (WUID)</entry>
  1444. </row>
  1445. <row>
  1446. <entry><programlisting role="wsig"> UserName</programlisting></entry>
  1447. <entry>N</entry>
  1448. <entry>O nome de usuário para usar como nome próprio do
  1449. trabalho na plataforma HPCC</entry>
  1450. </row>
  1451. <row>
  1452. <entry><programlisting role="wsig"> TargetCluster</programlisting></entry>
  1453. <entry>Y</entry>
  1454. <entry>Se você estiver executando o SQL preparado usando um
  1455. SELECT ou SELECT JOIN, poderá especificar o TargetCluster,
  1456. mas ele deve ser do mesmo tipo daquele em que foi
  1457. preparado</entry>
  1458. </row>
  1459. <row>
  1460. <entry><programlisting role="wsig"> SuppressResults</programlisting></entry>
  1461. <entry>N</entry>
  1462. <entry>Se definido como 1 ou verdadeiro, os resultados da
  1463. consulta não serão incluídos na resposta</entry>
  1464. </row>
  1465. <row>
  1466. <entry><programlisting role="wsig"> SuppressXmlSchema</programlisting></entry>
  1467. <entry>N</entry>
  1468. <entry>Se definido como 1 ou verdadeiro, o esquema do
  1469. resultado da consulta não será incluído na resposta</entry>
  1470. </row>
  1471. <row>
  1472. <entry><programlisting role="wsig"> Wait</programlisting></entry>
  1473. <entry>N</entry>
  1474. <entry>Tempo limite em milissegundos. Use -1 para tempo
  1475. ilimitado</entry>
  1476. </row>
  1477. <row>
  1478. <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
  1479. <entry>N</entry>
  1480. <entry>Para uso com carregamento de página, o registro
  1481. inicial a ser retornado</entry>
  1482. </row>
  1483. <row>
  1484. <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
  1485. <entry>N</entry>
  1486. <entry>Para uso com carregamento de página, o número de
  1487. registros a serem incluídos no ResultWindowStart</entry>
  1488. </row>
  1489. <row>
  1490. <entry><programlisting role="wsig"> Variables</programlisting></entry>
  1491. <entry>N</entry>
  1492. <entry>Se seu SQL preparado tiver parâmetros, forneça-os
  1493. como pares nome/valor dentro dessa estrutura</entry>
  1494. </row>
  1495. <row>
  1496. <entry><programlisting role="wsig"> NamedValue</programlisting></entry>
  1497. <entry>N</entry>
  1498. <entry>Uma estrutura contendo um par Nome/Valor</entry>
  1499. </row>
  1500. <row>
  1501. <entry><programlisting role="wsig"> Name</programlisting></entry>
  1502. <entry>N</entry>
  1503. <entry>Name</entry>
  1504. </row>
  1505. <row>
  1506. <entry><programlisting role="wsig"> Value</programlisting></entry>
  1507. <entry>N</entry>
  1508. <entry>Valor</entry>
  1509. </row>
  1510. </tbody>
  1511. </tgroup>
  1512. </informaltable></para>
  1513. </sect2>
  1514. <sect2>
  1515. <title>Descrições da Tag de Resposta</title>
  1516. <para><informaltable colsep="1" frame="all" rowsep="1">
  1517. <tgroup cols="2">
  1518. <colspec colwidth="200pt"/>
  1519. <colspec/>
  1520. <tbody>
  1521. <row>
  1522. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1523. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1524. </row>
  1525. <row>
  1526. <entry><programlisting role="wsig">ExecutePreparedSQLResponse</programlisting></entry>
  1527. <entry>Estrutura contendo a resposta</entry>
  1528. </row>
  1529. <row>
  1530. <entry><programlisting role="wsig"> Exceptions</programlisting></entry>
  1531. <entry>Estrutura contendo o pedido. Consulte <link
  1532. linkend="ExceptionStructure">Estrutura de Exceções</link> em
  1533. Estruturas Comuns</entry>
  1534. </row>
  1535. <row>
  1536. <entry><programlisting role="wsig"> ParentWuId</programlisting></entry>
  1537. <entry>O ID da Workunit para a workunit pai (aquela com o
  1538. SQL preparado)</entry>
  1539. </row>
  1540. <row>
  1541. <entry><programlisting role="wsig"> Result</programlisting></entry>
  1542. <entry>O resultado da consulta</entry>
  1543. </row>
  1544. <row>
  1545. <entry><programlisting role="wsig"> ResultWindowStart</programlisting></entry>
  1546. <entry>O registro inicial enviado</entry>
  1547. </row>
  1548. <row>
  1549. <entry><programlisting role="wsig"> ResultWindowCount</programlisting></entry>
  1550. <entry>A contagem de registros enviados</entry>
  1551. </row>
  1552. <row>
  1553. <entry><programlisting role="wsig"> Workunit</programlisting></entry>
  1554. <entry>Estrutura contendo detalhes da Workunit. Consulte
  1555. <link linkend="WUStructure">Estrutura da Workunit</link> em
  1556. Estruturas Comuns</entry>
  1557. </row>
  1558. </tbody>
  1559. </tgroup>
  1560. </informaltable></para>
  1561. </sect2>
  1562. </sect1>
  1563. <sect1 id="CreateTableAndLoad">
  1564. <title>CreateTableAndLoad</title>
  1565. <para>Esse método cria uma tabela (arquivo lógico do HPCC) que pode ser
  1566. acessada subsequentemente usando o WsSQL. A tabela recebe o layout
  1567. conforme especificado na seção ECLFields da solicitação. A tabela é
  1568. então preenchida com dados de um arquivo existente. O arquivo de dados
  1569. de origem pode residir na Zona de Entrada de Arquivo do HPCC após ser
  1570. carregado, ou pode já ter sofrido o spray no sistema.</para>
  1571. <sect2>
  1572. <title>Sample Input XML</title>
  1573. <para><programlisting>&lt;CreateTableAndLoadRequest&gt;
  1574. &lt;TableName&gt;<emphasis role="bluebold">JIM::MyNewTable</emphasis>&lt;/TableName&gt;
  1575. &lt;TableDescription&gt;<emphasis role="bluebold">My Description of the new table</emphasis>&lt;/TableDescription&gt;
  1576. &lt;Overwrite&gt;1&lt;/Overwrite&gt;
  1577. &lt;EclFields&gt;
  1578. &lt;EclField&gt;
  1579. &lt;FieldName&gt;<emphasis role="bluebold">PersonName</emphasis>&lt;/FieldName&gt;
  1580. &lt;EclFieldType&gt;
  1581. <emphasis role="greenbold">&lt;!-- Valid types are: BOOLEAN, INTEGER,</emphasis> <emphasis
  1582. role="greenbold">UNSIGNED, REAL, DECIMAL, STRING, --&gt;
  1583. &lt;!-- QSTRING, UNICODE, DATA, VARSTRING, or VARUNICODE --&gt;
  1584. </emphasis> &lt;Type&gt;<emphasis role="bluebold">STRING</emphasis>&lt;/Type&gt;
  1585. &lt;Locale&gt;&lt;/Locale&gt;
  1586. &lt;Length&gt;<emphasis role="bluebold">20</emphasis>&lt;/Length&gt;
  1587. &lt;Precision&gt;&lt;/Precision&gt;
  1588. &lt;/EclFieldType&gt;
  1589. &lt;/EclField&gt;
  1590. &lt;EclField&gt;
  1591. &lt;FieldName&gt;<emphasis role="bluebold">PersonID</emphasis>&lt;/FieldName&gt;
  1592. &lt;EclFieldType&gt;
  1593. &lt;Type&gt;<emphasis role="bluebold">INTEGER</emphasis>&lt;/Type&gt;
  1594. &lt;Locale&gt;&lt;/Locale&gt;
  1595. &lt;Length&gt;<emphasis role="bluebold">2</emphasis>&lt;/Length&gt;
  1596. &lt;Precision&gt;&lt;/Precision&gt;
  1597. &lt;/EclFieldType&gt;
  1598. &lt;/EclField&gt;
  1599. &lt;/EclFields&gt;
  1600. &lt;TargetCluster&gt;<emphasis role="bluebold">thor</emphasis>&lt;/TargetCluster&gt;
  1601. &lt;Owner&gt;<emphasis role="bluebold">Jimmy</emphasis>&lt;/Owner&gt;
  1602. &lt;DataSource&gt;
  1603. <emphasis role="greenbold">&lt;!-- Use either SprayedFileName --&gt;</emphasis>
  1604. &lt;SprayedFileName&gt;<emphasis role="bluebold">Tutorial::JD::OriginalPerson</emphasis>&lt;/SprayedFileName&gt;
  1605. <emphasis role="greenbold">&lt;!-- or full Landing Zone details, not both --&gt;</emphasis>
  1606. &lt;LandingZoneIP&gt;<emphasis role="bluebold">127.0.0.1</emphasis>&lt;/LandingZoneIP&gt;
  1607. &lt;LandingZonePath&gt;<emphasis role="bluebold">/var/lib/HPCCSystems/mydropzone</emphasis>&lt;/LandingZonePath&gt;
  1608. &lt;LandingZoneFileName&gt;<emphasis role="bluebold">OriginalPerson</emphasis>&lt;/LandingZoneFileName&gt;
  1609. &lt;/DataSource&gt;
  1610. &lt;DataSourceType&gt;
  1611. <emphasis role="greenbold">&lt;!-- Valid types are: FLAT, CSV, JSON, or XML<emphasis
  1612. role="greenbold"> --&gt; </emphasis></emphasis>
  1613. &lt;Type&gt;<emphasis role="bluebold">FLAT</emphasis>&lt;/Type&gt;
  1614. &lt;Params&gt;
  1615. &lt;Param&gt;
  1616. &lt;Name&gt;&lt;/Name&gt;
  1617. &lt;Values&gt;
  1618. &lt;Value&gt;&lt;/Value&gt;
  1619. &lt;Value&gt;&lt;/Value&gt;
  1620. &lt;/Values&gt;
  1621. &lt;/Param&gt;
  1622. &lt;/Params&gt;
  1623. &lt;/DataSourceType&gt;
  1624. &lt;Wait&gt;-1&lt;/Wait&gt;
  1625. &lt;/CreateTableAndLoadRequest&gt;
  1626. </programlisting></para>
  1627. </sect2>
  1628. <sect2>
  1629. <title>Descrições das Tags de Solicitação</title>
  1630. <para><informaltable colsep="1" frame="all" rowsep="1">
  1631. <tgroup cols="3">
  1632. <colspec colwidth="200pt"/>
  1633. <colspec colwidth="40 pt"/>
  1634. <colspec/>
  1635. <tbody>
  1636. <row>
  1637. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1638. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  1639. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1640. </row>
  1641. <row>
  1642. <entry><programlisting role="wsig">TableName</programlisting></entry>
  1643. <entry>Y</entry>
  1644. <entry>O nome da tabela a ser criada no sistema de arquivos
  1645. distribuídos da Plataforma HPCC.</entry>
  1646. </row>
  1647. <row>
  1648. <entry><programlisting role="wsig"> TableDescription</programlisting></entry>
  1649. <entry>N</entry>
  1650. <entry>Sua descrição do arquivo.</entry>
  1651. </row>
  1652. <row>
  1653. <entry><programlisting role="wsig"> Overwrite</programlisting></entry>
  1654. <entry>N</entry>
  1655. <entry>Indicador booleano para especificar se deve permitir
  1656. que o novo arquivo sobrescreva um arquivo existente com o
  1657. mesmo nome.</entry>
  1658. </row>
  1659. <row>
  1660. <entry><programlisting role="wsig"> EclFields</programlisting></entry>
  1661. <entry>Y</entry>
  1662. <entry>Estrutura contendo detalhes para o layout do registro
  1663. do arquivo. Isso deve corresponder ao layout do arquivo de
  1664. dados de origem</entry>
  1665. </row>
  1666. <row>
  1667. <entry><programlisting role="wsig"> EclField</programlisting></entry>
  1668. <entry>Y</entry>
  1669. <entry>Estrutura contendo detalhes para um campo</entry>
  1670. </row>
  1671. <row>
  1672. <entry><programlisting role="wsig"> FieldName </programlisting></entry>
  1673. <entry>Y</entry>
  1674. <entry>Nome do Campo</entry>
  1675. </row>
  1676. <row>
  1677. <entry><programlisting role="wsig"> EclFieldType</programlisting></entry>
  1678. <entry>Y</entry>
  1679. <entry>Estrutura contendo detalhes do tipo de dados</entry>
  1680. </row>
  1681. <row>
  1682. <entry><programlisting role="wsig"> Type</programlisting></entry>
  1683. <entry>Y</entry>
  1684. <entry>Field type. Os tipos válidos são: BOOLEAN, INTEGER,
  1685. UNSIGNED, REAL, DECIMAL, STRING, QSTRING, UNICODE, DATA,
  1686. VARSTRING, ou VARUNICODE</entry>
  1687. </row>
  1688. <row>
  1689. <entry><programlisting role="wsig"> Locale </programlisting></entry>
  1690. <entry>N</entry>
  1691. <entry>Locale</entry>
  1692. </row>
  1693. <row>
  1694. <entry><programlisting role="wsig"> Length</programlisting></entry>
  1695. <entry>Y*</entry>
  1696. <entry>Comprimento do campo</entry>
  1697. </row>
  1698. <row>
  1699. <entry><programlisting role="wsig"> Precision</programlisting></entry>
  1700. <entry>N</entry>
  1701. <entry>Precisão de campo (casas decimais)</entry>
  1702. </row>
  1703. <row>
  1704. <entry><programlisting role="wsig"> TargetCluster</programlisting></entry>
  1705. <entry>Y</entry>
  1706. <entry>O cluster de destino em que o job será
  1707. executado.</entry>
  1708. </row>
  1709. <row>
  1710. <entry><programlisting role="wsig"> Owner</programlisting></entry>
  1711. <entry>N</entry>
  1712. <entry>Nome do owner para o arquivo</entry>
  1713. </row>
  1714. <row>
  1715. <entry><programlisting role="wsig"> DataSource</programlisting></entry>
  1716. <entry>Y</entry>
  1717. <entry>Estrutura contendo detalhes do Data Source Os
  1718. detalhes de SprayedFileName ou LandingZone File devem ser
  1719. fornecidos, não ambos.</entry>
  1720. </row>
  1721. <row>
  1722. <entry><programlisting role="wsig"> SprayedFileName</programlisting></entry>
  1723. <entry>Y**</entry>
  1724. <entry>Nome de arquivo lógico do arquivo de dados
  1725. pulverizado</entry>
  1726. </row>
  1727. <row>
  1728. <entry><programlisting role="wsig"> LandingZoneIP</programlisting></entry>
  1729. <entry>Y**</entry>
  1730. <entry>Endereço IP ou nome de host da Zona de Entrada de
  1731. Arquivo do HPCC</entry>
  1732. </row>
  1733. <row>
  1734. <entry><programlisting role="wsig"> LandingZonePath</programlisting></entry>
  1735. <entry>Y**</entry>
  1736. <entry>Caminho para o arquivo de dados na Zona de Entrada de
  1737. Arquivo</entry>
  1738. </row>
  1739. <row>
  1740. <entry><programlisting role="wsig"> LandingZoneFileName</programlisting></entry>
  1741. <entry>Y**</entry>
  1742. <entry>Nome do arquivo físico</entry>
  1743. </row>
  1744. <row>
  1745. <entry><programlisting role="wsig"> DataSourceType</programlisting></entry>
  1746. <entry>N</entry>
  1747. <entry>Estrutura contendo detalhes do tipo
  1748. DataSource.</entry>
  1749. </row>
  1750. <row>
  1751. <entry><programlisting role="wsig"> Type</programlisting></entry>
  1752. <entry>Y</entry>
  1753. <entry>Os tipos válidos são: FLAT, CSV, JSON, or XML</entry>
  1754. </row>
  1755. <row>
  1756. <entry><programlisting role="wsig"> Params</programlisting></entry>
  1757. <entry>N</entry>
  1758. <entry>Estrutura contendo um ou mais parâmetros de tipo que
  1759. descrevem o DataSource. Por exemplo, CSV Terminator =
  1760. \n</entry>
  1761. </row>
  1762. <row>
  1763. <entry><programlisting role="wsig"> Param</programlisting></entry>
  1764. <entry>N</entry>
  1765. <entry>Estrutura contendo um tipo de parâmetro.</entry>
  1766. </row>
  1767. <row>
  1768. <entry><programlisting role="wsig"> Name</programlisting></entry>
  1769. <entry>N</entry>
  1770. <entry>Nome</entry>
  1771. </row>
  1772. <row>
  1773. <entry><programlisting role="wsig"> Values</programlisting></entry>
  1774. <entry>N</entry>
  1775. <entry>Estrutura contendo um ou mais valores.</entry>
  1776. </row>
  1777. <row>
  1778. <entry><programlisting role="wsig"> Value</programlisting></entry>
  1779. <entry>N</entry>
  1780. <entry>Valor</entry>
  1781. </row>
  1782. <row>
  1783. <entry><programlisting role="wsig"> Wait</programlisting></entry>
  1784. <entry>N</entry>
  1785. <entry>Tempo limite em milissegundos. Use -1 para tempo
  1786. ilimitado</entry>
  1787. </row>
  1788. </tbody>
  1789. </tgroup>
  1790. </informaltable></para>
  1791. <para>* <emphasis role="bold">O comprimento do campo é necessário
  1792. apenas para campos de largura fixa (arquivos FLAT)</emphasis></para>
  1793. <para>** <emphasis role="bold">Os detalhes do SprayedFileName ou do
  1794. LandingZone File devem ser fornecidos, não ambos</emphasis></para>
  1795. </sect2>
  1796. <sect2>
  1797. <title>Descrições da Tag de Resposta</title>
  1798. <para>A estrutura de resposta contém muitas tags que fornecem
  1799. informações úteis para desenvolvimento e depuração do código ECL. A
  1800. maioria deles está fora do escopo deste documento. Apenas aqueles que
  1801. são úteis ao usar o serviço WsSQL estão listados abaixo.</para>
  1802. <para><informaltable colsep="1" frame="all" rowsep="1">
  1803. <tgroup cols="2">
  1804. <colspec colwidth="200 pt"/>
  1805. <colspec/>
  1806. <tbody>
  1807. <row>
  1808. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1809. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1810. </row>
  1811. <row>
  1812. <entry><programlisting role="wsig">CreateTableAndLoadResponse</programlisting></entry>
  1813. <entry>Estrutura contendo a resposta</entry>
  1814. </row>
  1815. <row>
  1816. <entry><programlisting role="wsig"> TableName</programlisting></entry>
  1817. <entry>Nome da tabela criada</entry>
  1818. </row>
  1819. <row>
  1820. <entry><programlisting role="wsig"> Success</programlisting></entry>
  1821. <entry>Indicador booleano de sucesso [1 = sucesso]</entry>
  1822. </row>
  1823. <row>
  1824. <entry><programlisting role="wsig"> EclRecordDefinition</programlisting></entry>
  1825. <entry>Definição de registro fornecida no formato
  1826. ECL</entry>
  1827. </row>
  1828. <row>
  1829. <entry><programlisting role="wsig"> Workunit</programlisting></entry>
  1830. <entry>Estrutura contendo detalhes da Workunit. Consulte
  1831. <link linkend="WUStructure">Estrutura da Workunit</link> em
  1832. Estruturas Comuns</entry>
  1833. </row>
  1834. </tbody>
  1835. </tgroup>
  1836. </informaltable></para>
  1837. </sect2>
  1838. </sect1>
  1839. <sect1 id="SetRelatedIndexes">
  1840. <title>SetRelatedIndexes</title>
  1841. <para>Essa função adiciona uma descrição a um arquivo lógico a ser usado
  1842. como uma anotação que indica um arquivo de índice relacionado a um
  1843. arquivo de dados. Isso o torna disponível para o WsSQL para uso em uma
  1844. busca indexada.</para>
  1845. <para/>
  1846. <sect2>
  1847. <title>Sample Input XML</title>
  1848. <para><programlisting>&lt;SetRelatedIndexesRequest&gt;
  1849. &lt;RelatedIndexSets&gt;
  1850. &lt;RelatedIndexSet&gt;
  1851. &lt;FileName&gt;<emphasis role="bluebold">Tutorial::JD::TutorialPerson</emphasis>&lt;/FileName&gt;
  1852. &lt;Indexes&gt;
  1853. &lt;Index&gt;<emphasis role="bluebold">Tutorial::JD::TutorialPersonByName</emphasis>&lt;/Index&gt;
  1854. &lt;Index&gt;<emphasis role="bluebold">Tutorial::JD::TutorialPersonByZIP</emphasis>&lt;/Index&gt;
  1855. &lt;/Indexes&gt;
  1856. &lt;/RelatedIndexSet&gt;
  1857. &lt;RelatedIndexSet&gt;
  1858. &lt;/SetRelatedIndexesRequest&gt;
  1859. </programlisting></para>
  1860. </sect2>
  1861. <sect2>
  1862. <title>Descrições das Tags de Solicitação</title>
  1863. <para><informaltable colsep="1" frame="all" rowsep="1">
  1864. <tgroup cols="3">
  1865. <colspec colwidth="200pt"/>
  1866. <colspec colwidth="40 pt"/>
  1867. <colspec/>
  1868. <tbody>
  1869. <row>
  1870. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1871. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  1872. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1873. </row>
  1874. <row>
  1875. <entry><programlisting role="wsig">SetRelatedIndexesRequest</programlisting></entry>
  1876. <entry/>
  1877. <entry>Estrutura contendo a solicitação</entry>
  1878. </row>
  1879. <row>
  1880. <entry><programlisting role="wsig"> RelatedIndexSets</programlisting></entry>
  1881. <entry>Y</entry>
  1882. <entry>Estrutura contendo uma ou mais relacionadas índice
  1883. estabelece</entry>
  1884. </row>
  1885. <row>
  1886. <entry><programlisting role="wsig"> RelatedIndexSet</programlisting></entry>
  1887. <entry>Y</entry>
  1888. <entry>Estrutura contendo um conjunto de índice
  1889. relacionados</entry>
  1890. </row>
  1891. <row>
  1892. <entry><programlisting role="wsig"> FileName</programlisting></entry>
  1893. <entry>Y</entry>
  1894. <entry>Nome de arquivo lógico ao qual a anotação é
  1895. adicionada</entry>
  1896. </row>
  1897. <row>
  1898. <entry><programlisting role="wsig"> Indexes</programlisting></entry>
  1899. <entry>Y</entry>
  1900. <entry>Estrutura contendo um ou mais índices para adicionar
  1901. à anotação</entry>
  1902. </row>
  1903. <row>
  1904. <entry><programlisting role="wsig"> Index</programlisting></entry>
  1905. <entry>Y</entry>
  1906. <entry>Índice para adicionar à anotação</entry>
  1907. </row>
  1908. </tbody>
  1909. </tgroup>
  1910. </informaltable></para>
  1911. </sect2>
  1912. <sect2>
  1913. <title>Descrições da Tag de Resposta</title>
  1914. <para><informaltable colsep="1" frame="all" rowsep="1">
  1915. <tgroup cols="2">
  1916. <colspec colwidth="200 pt"/>
  1917. <colspec/>
  1918. <tbody>
  1919. <row>
  1920. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1921. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1922. </row>
  1923. <row>
  1924. <entry><programlisting role="wsig">SetRelatedIndexesResponse</programlisting></entry>
  1925. <entry>Estrutura contendo a resposta</entry>
  1926. </row>
  1927. <row>
  1928. <entry><programlisting role="wsig"> RelatedIndexSets</programlisting></entry>
  1929. <entry>Estrutura contendo uma ou mais relacionadas índice
  1930. estabelece</entry>
  1931. </row>
  1932. <row>
  1933. <entry><programlisting role="wsig"> RelatedIndexSet</programlisting></entry>
  1934. <entry>Estrutura contendo um conjunto de índice
  1935. relacionados</entry>
  1936. </row>
  1937. <row>
  1938. <entry><programlisting role="wsig"> FileName</programlisting></entry>
  1939. <entry>Nome de arquivo lógico ao qual a anotação foi
  1940. adicionada</entry>
  1941. </row>
  1942. <row>
  1943. <entry><programlisting role="wsig"> Indexes</programlisting></entry>
  1944. <entry>Estrutura contendo um ou mais índices adicionados à
  1945. anotação</entry>
  1946. </row>
  1947. <row>
  1948. <entry><programlisting role="wsig"> Index</programlisting></entry>
  1949. <entry>Índice adicionados à anotação</entry>
  1950. </row>
  1951. </tbody>
  1952. </tgroup>
  1953. </informaltable></para>
  1954. </sect2>
  1955. </sect1>
  1956. <sect1 id="GetRelatedIndexes">
  1957. <title>GetRelatedIndexes</title>
  1958. <para>Essa função recupera informações de descrições de arquivos lógicos
  1959. sobre anotações que indicam um arquivo de índice relacionado a um
  1960. arquivo de dados.</para>
  1961. <para/>
  1962. <sect2>
  1963. <title>Sample Input XML</title>
  1964. <para><programlisting>&lt;GetRelatedIndexesRequest&gt;
  1965. &lt;FileNames&gt;
  1966. &lt;FileName&gt;<emphasis role="bluebold">Tutorial::JD::TutorialPerson</emphasis>&lt;/FileName&gt;
  1967. &lt;/FileNames&gt;
  1968. &lt;/SetRelatedIndexesRequest&gt;
  1969. </programlisting></para>
  1970. </sect2>
  1971. <sect2>
  1972. <title>Descrições das Tags de Solicitação</title>
  1973. <para><informaltable colsep="1" frame="all" rowsep="1">
  1974. <tgroup cols="3">
  1975. <colspec colwidth="200pt"/>
  1976. <colspec colwidth="40 pt"/>
  1977. <colspec/>
  1978. <tbody>
  1979. <row>
  1980. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  1981. <entry><?dbfo bgcolor="LightCyan"?>Req?</entry>
  1982. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  1983. </row>
  1984. <row>
  1985. <entry><programlisting role="wsig">SetRelatedIndexesRequest</programlisting></entry>
  1986. <entry/>
  1987. <entry>Estrutura contendo a solicitação</entry>
  1988. </row>
  1989. <row>
  1990. <entry><programlisting role="wsig"> FileNames</programlisting></entry>
  1991. <entry>Y</entry>
  1992. <entry>Estrutura contendo uma ou mais relacionadas índice
  1993. estabelece</entry>
  1994. </row>
  1995. <row>
  1996. <entry><programlisting role="wsig"> FileName</programlisting></entry>
  1997. <entry>Y</entry>
  1998. <entry>Nome de arquivo lógico ao qual a anotação é
  1999. adicionada</entry>
  2000. </row>
  2001. </tbody>
  2002. </tgroup>
  2003. </informaltable></para>
  2004. </sect2>
  2005. <sect2>
  2006. <title>Descrições da Tag de Resposta</title>
  2007. <para><informaltable colsep="1" frame="all" rowsep="1">
  2008. <tgroup cols="2">
  2009. <colspec colwidth="200 pt"/>
  2010. <colspec/>
  2011. <tbody>
  2012. <row>
  2013. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  2014. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  2015. </row>
  2016. <row>
  2017. <entry><programlisting role="wsig">GetRelatedIndexesResponse</programlisting></entry>
  2018. <entry>Estrutura contendo a resposta</entry>
  2019. </row>
  2020. <row>
  2021. <entry><programlisting role="wsig"> RelatedIndexSets</programlisting></entry>
  2022. <entry>Estrutura contendo uma ou mais relacionadas índice
  2023. estabelece</entry>
  2024. </row>
  2025. <row>
  2026. <entry><programlisting role="wsig"> RelatedIndexSet</programlisting></entry>
  2027. <entry>Estrutura contendo um conjunto de índice
  2028. relacionados</entry>
  2029. </row>
  2030. <row>
  2031. <entry><programlisting role="wsig"> FileName</programlisting></entry>
  2032. <entry>Nome de arquivo lógico ao qual a anotação foi
  2033. adicionada</entry>
  2034. </row>
  2035. <row>
  2036. <entry><programlisting role="wsig"> Indexes</programlisting></entry>
  2037. <entry>Estrutura contendo um ou mais índices adicionados à
  2038. anotação</entry>
  2039. </row>
  2040. <row>
  2041. <entry><programlisting role="wsig"> Index</programlisting></entry>
  2042. <entry>Índice adicionados à anotação</entry>
  2043. </row>
  2044. </tbody>
  2045. </tgroup>
  2046. </informaltable></para>
  2047. </sect2>
  2048. </sect1>
  2049. <sect1>
  2050. <title>Estruturas Comuns</title>
  2051. <para>Essas estruturas são retornadas em vários métodos.</para>
  2052. <sect2 id="ExceptionStructure">
  2053. <title>Estrutura de Exceções</title>
  2054. <para><informaltable colsep="1" frame="all" rowsep="1">
  2055. <tgroup cols="2">
  2056. <colspec colwidth="200pt"/>
  2057. <colspec/>
  2058. <tbody>
  2059. <row>
  2060. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  2061. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  2062. </row>
  2063. <row>
  2064. <entry><programlisting role="wsig">Exceptions</programlisting></entry>
  2065. <entry>Estrutura contendo uma ou mais exceções</entry>
  2066. </row>
  2067. <row>
  2068. <entry><programlisting role="wsig"> Exceção</programlisting></entry>
  2069. <entry>Estrutura contendo uma exceção</entry>
  2070. </row>
  2071. <row>
  2072. <entry><programlisting role="wsig"> Code</programlisting></entry>
  2073. <entry>Code</entry>
  2074. </row>
  2075. <row>
  2076. <entry><programlisting role="wsig"> Audience</programlisting></entry>
  2077. <entry>Audience</entry>
  2078. </row>
  2079. <row>
  2080. <entry><programlisting role="wsig"> Source</programlisting></entry>
  2081. <entry>Componente de origem</entry>
  2082. </row>
  2083. <row>
  2084. <entry><programlisting role="wsig"> Menssage</programlisting></entry>
  2085. <entry>Mensagem de Erro</entry>
  2086. </row>
  2087. </tbody>
  2088. </tgroup>
  2089. </informaltable></para>
  2090. </sect2>
  2091. <sect2 id="WUStructure">
  2092. <title>Estrutura da Workunit</title>
  2093. <para>A estrutura da workunit contém muitas tags que fornecem
  2094. informações úteis para desenvolvimento e depuração do código ECL. A
  2095. maioria deles está fora do escopo deste documento. Somente aqueles que
  2096. são úteis ao usar o serviço WsSQL são listados aqui.</para>
  2097. <para><informaltable colsep="1" frame="all" rowsep="1">
  2098. <tgroup cols="2">
  2099. <colspec colwidth="200pt"/>
  2100. <colspec/>
  2101. <tbody>
  2102. <row>
  2103. <entry><?dbfo bgcolor="LightCyan"?>Nome da Tag</entry>
  2104. <entry><?dbfo bgcolor="LightCyan"?>Descrição</entry>
  2105. </row>
  2106. <row>
  2107. <entry><programlisting role="wsig">Workunit</programlisting></entry>
  2108. <entry>Estrutura contendo detalhes da Workunit.</entry>
  2109. </row>
  2110. <row>
  2111. <entry><programlisting role="wsig"> Wuid</programlisting></entry>
  2112. <entry>Workunit Id (WUID)</entry>
  2113. </row>
  2114. <row>
  2115. <entry><programlisting role="wsig"> Owner</programlisting></entry>
  2116. <entry>Owner do Job (se houver)</entry>
  2117. </row>
  2118. <row>
  2119. <entry><programlisting role="wsig"> Cluster</programlisting></entry>
  2120. <entry>Cluster de Destino</entry>
  2121. </row>
  2122. <row>
  2123. <entry><programlisting role="wsig"> Jobname</programlisting></entry>
  2124. <entry>Nome do Job (se houver)</entry>
  2125. </row>
  2126. <row>
  2127. <entry><programlisting role="wsig"> StateID</programlisting></entry>
  2128. <entry>State ID</entry>
  2129. </row>
  2130. <row>
  2131. <entry><programlisting role="wsig"> State</programlisting></entry>
  2132. <entry>Estado (compilado, falho, etc)</entry>
  2133. </row>
  2134. <row>
  2135. <entry><programlisting role="wsig"> Protected</programlisting></entry>
  2136. <entry>Indicador booleano: A Workunit está
  2137. protegida?</entry>
  2138. </row>
  2139. <row>
  2140. <entry><programlisting role="wsig"> Snapshots</programlisting></entry>
  2141. <entry>Snapshots</entry>
  2142. </row>
  2143. <row>
  2144. <entry><programlisting role="wsig"> IsPausing</programlisting></entry>
  2145. <entry>Indicador booleano de estado de pausa</entry>
  2146. </row>
  2147. <row>
  2148. <entry><programlisting role="wsig"> ThorLCR</programlisting></entry>
  2149. <entry>Indicador booleano</entry>
  2150. </row>
  2151. <row>
  2152. <entry><programlisting role="wsig"> EventSchedule</programlisting></entry>
  2153. <entry>Indicador booleano</entry>
  2154. </row>
  2155. <row>
  2156. <entry><programlisting role="wsig"> TotalCLusterTime</programlisting></entry>
  2157. <entry>Tempo gasto para processar no cluster</entry>
  2158. </row>
  2159. <row>
  2160. <entry><programlisting role="wsig"> Query</programlisting></entry>
  2161. <entry>Query</entry>
  2162. </row>
  2163. <row>
  2164. <entry><programlisting role="wsig"> Result</programlisting></entry>
  2165. <entry>Estrutura contendo resultado (se houver)</entry>
  2166. </row>
  2167. </tbody>
  2168. </tgroup>
  2169. </informaltable></para>
  2170. </sect2>
  2171. </sect1>
  2172. </chapter>
  2173. <chapter>
  2174. <title>Sintaxe SQL suportada</title>
  2175. <sect1 role="nobrk">
  2176. <title>CALL</title>
  2177. <para><emphasis role="bold">Call
  2178. </emphasis><emphasis>queryName</emphasis><emphasis role="bold">
  2179. ([</emphasis><emphasis>paramList</emphasis><emphasis
  2180. role="bold">])</emphasis></para>
  2181. <para><informaltable colsep="1" frame="all" rowsep="1">
  2182. <tgroup cols="2">
  2183. <colspec colwidth="113.65pt"/>
  2184. <colspec/>
  2185. <tbody>
  2186. <row>
  2187. <entry>queryName</entry>
  2188. <entry>O nome da consulta publicada ou o alias</entry>
  2189. </row>
  2190. <row>
  2191. <entry>paramList</entry>
  2192. <entry>Os parâmetros expostos pela consulta publicada
  2193. (separados por vírgulas)</entry>
  2194. </row>
  2195. </tbody>
  2196. </tgroup>
  2197. </informaltable></para>
  2198. <para>Call executa uma consulta ECL publicada como se fosse uma stored
  2199. procedure.</para>
  2200. <para>Exemplo:</para>
  2201. <programlisting>Call SearchPeopleByZipService ('33024')</programlisting>
  2202. </sect1>
  2203. <sect1>
  2204. <title>SELECT</title>
  2205. <para><emphasis role="bold">select [</emphasis>distinct<emphasis
  2206. role="bold">]</emphasis> <emphasis>colummList</emphasis> <emphasis
  2207. role="bold">de</emphasis> <emphasis>tableList </emphasis><emphasis>
  2208. </emphasis><emphasis role="bold">[</emphasis>USE
  2209. INDEX<emphasis>(indexFileName</emphasis> | NONE
  2210. <emphasis>)</emphasis><emphasis role="bold">]</emphasis></para>
  2211. <para><emphasis role="bold">[where</emphasis>
  2212. <emphasis>logicalExpression</emphasis><emphasis role="bold">]</emphasis>
  2213. <emphasis role="bold">[group by</emphasis>
  2214. <emphasis>columnList<superscript>1</superscript></emphasis><emphasis
  2215. role="bold">]</emphasis> <emphasis role="bold">[having</emphasis>
  2216. <emphasis>logicalExpression<superscript>2</superscript></emphasis><emphasis
  2217. role="bold">]</emphasis></para>
  2218. <para><emphasis role="bold">[order by</emphasis>
  2219. <emphasis>columnList<superscript>1</superscript> </emphasis>[asc |
  2220. desc]<emphasis> </emphasis>] <emphasis
  2221. role="bold">[LIMIT</emphasis><emphasis> limitNumber</emphasis><emphasis
  2222. role="bold">]</emphasis></para>
  2223. <variablelist>
  2224. <varlistentry>
  2225. <term>OBSERVAÇÃO:</term>
  2226. <listitem>
  2227. <para>Os identificadores podem estar sem aspas ou entre aspas
  2228. duplas; os valores das sequências literais devem ter aspas
  2229. simples.</para>
  2230. </listitem>
  2231. </varlistentry>
  2232. </variablelist>
  2233. <para><informaltable colsep="1" frame="all" rowsep="1">
  2234. <tgroup cols="2">
  2235. <colspec colwidth="123.45pt"/>
  2236. <colspec/>
  2237. <tbody>
  2238. <row>
  2239. <entry><emphasis>columnList</emphasis></entry>
  2240. <entry>columnreference1[,columnreference2,columnreference3,...,columnreference<emphasis>n</emphasis>]</entry>
  2241. </row>
  2242. <row>
  2243. <entry/>
  2244. <entry>A(s) coluna(s) a retornar(em) (lista separada por
  2245. vírgula). Além disso, essas funções agregadas são suportadas:
  2246. COUNT, SUM, MIN, MAX, and AVG. Estes funcionam de uma maneira
  2247. similar às suas contrapartes ECL</entry>
  2248. </row>
  2249. <row>
  2250. <entry>columnreference</entry>
  2251. <entry>[tablename.]columnname[ [AS] alias ]</entry>
  2252. </row>
  2253. <row>
  2254. <entry><emphasis>distinct</emphasis></entry>
  2255. <entry>[distinct] col1, col2,...
  2256. col<emphasis>n</emphasis></entry>
  2257. </row>
  2258. <row>
  2259. <entry><emphasis/></entry>
  2260. <entry>O conjunto de resultados conterá apenas valores
  2261. distintos (exclusivos)</entry>
  2262. </row>
  2263. <row>
  2264. <entry><emphasis>tableList</emphasis></entry>
  2265. <entry>tableref1[,tableref2,tableref3,...,tableref<emphasis>n</emphasis>]</entry>
  2266. </row>
  2267. <row>
  2268. <entry/>
  2269. <entry>Uma ou mais tabelas, separadas por vírgulas.</entry>
  2270. </row>
  2271. <row>
  2272. <entry/>
  2273. <entry><emphasis role="bold">OBSERVAÇÃO: </emphasis>Uma lista
  2274. de tabelas com múltiplas tabelas criadas com (uma ou mais)
  2275. inner join implícito usando a expressão lógica da cláusula
  2276. where como a condição de join que deve conter uma condição de
  2277. igualdade</entry>
  2278. </row>
  2279. <row>
  2280. <entry>tableref</entry>
  2281. <entry>tableName[ [AS] alias ]</entry>
  2282. </row>
  2283. <row>
  2284. <entry/>
  2285. <entry>O nome da tabela como referenciado, definindo
  2286. opcionalmente seu alias</entry>
  2287. </row>
  2288. <row>
  2289. <entry><emphasis>alias</emphasis></entry>
  2290. <entry>O alias usado para se referir à tabela ou referência de
  2291. campo correspondente.</entry>
  2292. </row>
  2293. <row>
  2294. <entry><emphasis>logicalExpression</emphasis></entry>
  2295. <entry>Expressão lógica baseada na sintaxe padrão de filtragem
  2296. SQL.</entry>
  2297. </row>
  2298. <row>
  2299. <entry/>
  2300. <entry>BOOLEAN suporta apenas <emphasis>Verdade</emphasis> ou
  2301. <emphasis>Falso</emphasis>, não use Y, N, 0 ou 1</entry>
  2302. </row>
  2303. <row>
  2304. <entry/>
  2305. <entry><emphasis role="bold">Operadores
  2306. válido:</emphasis></entry>
  2307. </row>
  2308. <row>
  2309. <entry/>
  2310. <entry>= Equal (e.g., age=33)</entry>
  2311. </row>
  2312. <row>
  2313. <entry/>
  2314. <entry>&lt;&gt; Not equal (e.g., age &lt;&gt;33)</entry>
  2315. </row>
  2316. <row>
  2317. <entry/>
  2318. <entry>&gt; Greater than (e.g., age &gt;55)</entry>
  2319. </row>
  2320. <row>
  2321. <entry/>
  2322. <entry>&lt; Less than (e.g., age &lt; 18)</entry>
  2323. </row>
  2324. <row>
  2325. <entry/>
  2326. <entry>&gt;= Greater than or equal (e.g., age &gt;=21)</entry>
  2327. </row>
  2328. <row>
  2329. <entry/>
  2330. <entry>&lt;= Less than or equal (e.g., age &lt;=21)</entry>
  2331. </row>
  2332. <row>
  2333. <entry/>
  2334. <entry>IN(value1,value2,...,value<emphasis>n</emphasis>) where
  2335. values are comma separated homogeneous types</entry>
  2336. </row>
  2337. <row>
  2338. <entry/>
  2339. <entry>NOT IN(value1,value2,...,value<emphasis>n</emphasis>)
  2340. where values are comma separated homogeneous types</entry>
  2341. </row>
  2342. <row>
  2343. <entry/>
  2344. <entry>LIKE <emphasis>pattern</emphasis> where the pattern
  2345. uses SQL LIKE operators with % and _ wildcards.</entry>
  2346. </row>
  2347. <row>
  2348. <entry/>
  2349. <entry>NOT LIKE <emphasis>pattern</emphasis> where the pattern
  2350. uses SQL LIKE operators with % and _ wildcards.</entry>
  2351. </row>
  2352. <row>
  2353. <entry><emphasis>limitNumber</emphasis></entry>
  2354. <entry>O número de linhas para retornar. Isso substitui o
  2355. atributo de configuração padrão (EclResultLimit), mas não pode
  2356. ser definido como ALL</entry>
  2357. </row>
  2358. </tbody>
  2359. </tgroup>
  2360. </informaltable><superscript>1</superscript>Aliasing não
  2361. suportado</para>
  2362. <para><superscript>2</superscript>Pode conter apenas referências a
  2363. funções agregadas<superscript/>se usado com a cláusula
  2364. <emphasis>HAVING</emphasis>.</para>
  2365. <para>Funções agregadas só podem ser expressas em logicalExpressions
  2366. usando <emphasis>Group by</emphasis>e <emphasis>HAVING</emphasis></para>
  2367. <para>Exemplos:</para>
  2368. <programlisting>Select * from tableList where Sum(F1 &gt; 100) /* is NOT SUPPORTED */
  2369. Select * from tableList Group by F1 Having Sum (F1 &gt; 100) /* IS SUPPORTED */</programlisting>
  2370. <para>Exemplo:</para>
  2371. <programlisting>Select fname, lname, state from TutorialPerson where
  2372. state='FL' OR (lname='Smith' and fname='Joe')
  2373. //returns data that looks like this:
  2374. John Doe FL
  2375. Jim Smith FL
  2376. Jane Row FL
  2377. Joe Smith CA
  2378. Select fname, lname, state from TutorialPerson where state='FL' AND lname &lt;&gt; 'Smith'
  2379. //returns data that looks like this:
  2380. John Doe FL
  2381. Jane Row FL
  2382. Select fname, lname, state from TutorialPerson where state='FL' AND lname like 'Smi%'
  2383. //returns data that looks like this:
  2384. Jim Smith FL
  2385. Select fname, lname, state from TutorialPerson where
  2386. state='FL' OR (lname='Smith' and fname='Joe') AND fname NOT LIKE 'Ji%'
  2387. //returns data that looks like this:
  2388. John Doe FL
  2389. Jane Row FL
  2390. Joe Smith CA
  2391. </programlisting>
  2392. <para>A interface suporta sugestões de índice SQL, o que dá ao usuário
  2393. SQL a opção de especificar o índice HPCC mais apropriado para a consulta
  2394. SQL atual. Isso também permite desativar o uso de um índice.</para>
  2395. <para><emphasis role="bold">select
  2396. </emphasis><emphasis>columnList</emphasis> <emphasis role="bold"> de
  2397. </emphasis><emphasis>tableName </emphasis><emphasis role="bold">USE
  2398. INDEX(</emphasis><emphasis>hpcc::index::file::name</emphasis><emphasis
  2399. role="bold">) where </emphasis><emphasis>logicalExprssions
  2400. </emphasis></para>
  2401. <para><emphasis role="bold">USE INDEX(none) </emphasis>força o sistema a
  2402. evitar a busca por um índice na consulta atual.</para>
  2403. <para>Exemplo:</para>
  2404. <programlisting>Select fname, lname, zip, state from TutorialPerson
  2405. USEINDEX(TutorialPersonByZipIndex)where zip='33024'
  2406. //returns data that looks like this:
  2407. John Doe FL 33024
  2408. Jim Smith FL 33024
  2409. Jane Row FL 33024
  2410. </programlisting>
  2411. <para>Uma consulta Select retorna duas saídas de dataset por
  2412. solicitação. O segundo dataset (chamado WsSQLCount) fornece a contagem
  2413. total de resultados. Isso é útil ao paginar resultados.</para>
  2414. <para>Exemplo:</para>
  2415. <programlisting>&lt;Dataset name='WsSQLResult'&gt;
  2416. &lt;Row&gt;
  2417. &lt;yearbuilt&gt;1203&lt;/yearbuilt&gt;
  2418. &lt;id&gt;4&lt;/id&gt;&lt;/Row&gt;
  2419. &lt;Row&gt;
  2420. &lt;yearbuilt&gt;2003&lt;/yearbuilt&gt;
  2421. &lt;id&gt;5&lt;/id&gt;&lt;/Row&gt;
  2422. &lt;/Dataset&gt;
  2423. &lt;Dataset name='WsSQLCount'&gt;
  2424. &lt;Row&gt;
  2425. &lt;WSSQLSelectQueryResultCount&gt;2&lt;/WSSQLSelectQueryResultCount&gt;
  2426. &lt;/Row&gt;
  2427. &lt;/Dataset&gt;</programlisting>
  2428. </sect1>
  2429. <sect1>
  2430. <title>SELECT JOIN</title>
  2431. <para><emphasis role="bold">select
  2432. </emphasis><emphasis>colummList</emphasis> <emphasis
  2433. role="bold">from</emphasis> <emphasis>tableName <emphasis
  2434. role="bold">[</emphasis></emphasis><emphasis
  2435. role="bold">as</emphasis><emphasis> alias<emphasis
  2436. role="bold">]</emphasis></emphasis><emphasis role="bold">
  2437. </emphasis></para>
  2438. <para><emphasis role="bold">[</emphasis>&lt;outer | inner &gt; <emphasis
  2439. role="bold">JOIN </emphasis><emphasis>join TableName
  2440. </emphasis><emphasis role="bold">[ as
  2441. </emphasis><emphasis>alias</emphasis><emphasis role="bold">] on
  2442. </emphasis><emphasis>joinCondition</emphasis><emphasis
  2443. role="bold">]</emphasis></para>
  2444. <para>[USE INDEX<emphasis>(</emphasis>indexFileName | NONE
  2445. <emphasis>)</emphasis>]</para>
  2446. <para>[<emphasis role="bold">where</emphasis>
  2447. <emphasis>logicalExpression] </emphasis>[<emphasis role="bold">group
  2448. by</emphasis> <emphasis>fieldName</emphasis>]</para>
  2449. <para>[<emphasis role="bold">order by</emphasis> <emphasis>columnNames
  2450. </emphasis>[asc | desc]<emphasis> </emphasis>] [<emphasis
  2451. role="bold">LIMIT</emphasis><emphasis> limitNumber</emphasis>]</para>
  2452. <para><informaltable colsep="1" frame="all" rowsep="1">
  2453. <tgroup cols="2">
  2454. <colspec colwidth="123.45pt"/>
  2455. <colspec/>
  2456. <tbody>
  2457. <row>
  2458. <entry><emphasis>columnList</emphasis></entry>
  2459. <entry>columnreference1[,columnreference2,columnreference3,...,columnreference<emphasis>n</emphasis>]</entry>
  2460. </row>
  2461. <row>
  2462. <entry/>
  2463. <entry>A(s) coluna(s) a retornar(em) (lista separada por
  2464. vírgula). Além disso, essas funções agregadas são suportadas:
  2465. COUNT, SUM, MIN, MAX, and AVG. Estes funcionam de uma maneira
  2466. similar às suas contrapartes ECL</entry>
  2467. </row>
  2468. <row>
  2469. <entry>columnreference</entry>
  2470. <entry>[tablename.]columnname[ [AS] alias ]</entry>
  2471. </row>
  2472. <row>
  2473. <entry><emphasis>distinct</emphasis></entry>
  2474. <entry>[distinct] col1, col2,...
  2475. col<emphasis>n</emphasis></entry>
  2476. </row>
  2477. <row>
  2478. <entry><emphasis/></entry>
  2479. <entry>O conjunto de resultados conterá apenas valores
  2480. distintos (exclusivos)</entry>
  2481. </row>
  2482. <row>
  2483. <entry><emphasis>alias</emphasis></entry>
  2484. <entry>O alias usado para se referir à tabela ou referência de
  2485. campo correspondente.</entry>
  2486. </row>
  2487. <row>
  2488. <entry><emphasis role="bold">outer | inner</emphasis></entry>
  2489. <entry>O tipo de JOIN a usar. Observação: O serviço WsSQL
  2490. atualmente suporta INNER JOIN ou OUTER Joins. Um OUTER JOIN é
  2491. convertido em um FULL OUTER JOIN internamente.</entry>
  2492. </row>
  2493. <row>
  2494. <entry><emphasis>joinTableName</emphasis></entry>
  2495. <entry>O arquivo JOIN a ser utilizado.</entry>
  2496. </row>
  2497. <row>
  2498. <entry><emphasis>joinCondition</emphasis></entry>
  2499. <entry>Especifica o relacionamento entre colunas nas tabelas
  2500. associadas usando expressão lógica.</entry>
  2501. </row>
  2502. <row>
  2503. <entry><emphasis>logicalExpression</emphasis></entry>
  2504. <entry>Expressão lógica baseada na sintaxe padrão de filtragem
  2505. SQL.</entry>
  2506. </row>
  2507. <row>
  2508. <entry/>
  2509. <entry>BOOLEAN suporta apenas <emphasis>Verdade</emphasis> ou
  2510. <emphasis>Falso</emphasis>, não use Y, N, 0 ou 1</entry>
  2511. </row>
  2512. <row>
  2513. <entry/>
  2514. <entry><emphasis role="bold">Operadores
  2515. válido:</emphasis></entry>
  2516. </row>
  2517. <row>
  2518. <entry/>
  2519. <entry>= Equal (e.g., age=33)</entry>
  2520. </row>
  2521. <row>
  2522. <entry/>
  2523. <entry>&lt;&gt; Not equal (e.g., age &lt;&gt;33)</entry>
  2524. </row>
  2525. <row>
  2526. <entry/>
  2527. <entry>&gt; Greater than (e.g., age &gt;55)</entry>
  2528. </row>
  2529. <row>
  2530. <entry/>
  2531. <entry>&lt; Less than (e.g., age &lt; 18)</entry>
  2532. </row>
  2533. <row>
  2534. <entry/>
  2535. <entry>&gt;= Greater than or equal (e.g., age &gt;=21)</entry>
  2536. </row>
  2537. <row>
  2538. <entry/>
  2539. <entry>&lt;= Less than or equal (e.g., age &lt;=21)</entry>
  2540. </row>
  2541. <row>
  2542. <entry/>
  2543. <entry>IN(value1,value2,...,value<emphasis>n</emphasis>) where
  2544. values are comma separated homogeneous types.</entry>
  2545. </row>
  2546. <row>
  2547. <entry/>
  2548. <entry>NOT IN(value1,value2,...,value<emphasis>n</emphasis>)
  2549. where values are comma separated homogeneous types.</entry>
  2550. </row>
  2551. <row>
  2552. <entry/>
  2553. <entry>LIKE <emphasis>pattern</emphasis> where the pattern
  2554. uses SQL LIKE operators with % and _ wildcards.</entry>
  2555. </row>
  2556. <row>
  2557. <entry/>
  2558. <entry>NOT LIKE <emphasis>pattern</emphasis> where the pattern
  2559. uses SQL LIKE operators with % and _ wildcards.</entry>
  2560. </row>
  2561. <row>
  2562. <entry><emphasis>limitNumber</emphasis></entry>
  2563. <entry>Opcional. O número de linhas para retornar. Isso
  2564. substitui o atributo de configuração padrão (<emphasis
  2565. role="code">EclResultLimit </emphasis>) mas não pode ser
  2566. definido para ALL.</entry>
  2567. </row>
  2568. </tbody>
  2569. </tgroup>
  2570. </informaltable></para>
  2571. <para><superscript>1</superscript>Aliasing não suportado</para>
  2572. <para><superscript>2</superscript>Pode conter apenas referências a
  2573. funções agregadas<superscript/>se usado com a cláusula
  2574. <emphasis>HAVING</emphasis>.</para>
  2575. <para>Funções agregadas só podem ser expressas em logicalExpressions
  2576. usando <emphasis>Group by</emphasis>e <emphasis>HAVING</emphasis></para>
  2577. <para>Exemplos:</para>
  2578. <programlisting>Select * from tableList where Sum(F1 &gt; 100) /* is NOT SUPPORTED */
  2579. Select * from tableList Group by F1 Having Sum (F1 &gt; 100) /* IS SUPPORTED */</programlisting>
  2580. <para>Exemplo:</para>
  2581. <para><programlisting>Select t1.personname, t2.address
  2582. from persontable as t1 inner join addresstable as t2
  2583. on (t1.personid = t2.personid AND
  2584. (t1.firstname = 'jim' AND
  2585. t1.lastname = 'smith' )) </programlisting></para>
  2586. <para/>
  2587. <para>A interface não converte os valores da lista de parâmetros ou da
  2588. lista de colunas em literais de string.</para>
  2589. <para>Os valores das strings devem estar com aspas simples encapsuladas.
  2590. O identificador de campo pode ser deixado sem aspas ou com aspas
  2591. duplas.</para>
  2592. <para>Por exemplo, a tabela <emphasis role="bold">pessoa</emphasis> tem
  2593. colunas lastname (String) e Zip (númerica)</para>
  2594. <para><programlisting>Select Firstname from persons where lastname = 'Jones' and zip &gt; 33445 /* works */
  2595. Select Firstname from persons where lastname = 'Jones' and "zip" &gt; 33445 /* also works */
  2596. Select Firstname from persons where lastname = Jones and zip &gt; 33445 /* doesn't work */
  2597. Select Firstname from persons where lastname = 'Jones' and zip &gt; '33445' /* doesn't work */</programlisting></para>
  2598. <para/>
  2599. </sect1>
  2600. <sect1>
  2601. <title>CREATE / LOAD</title>
  2602. <para><emphasis role="bold">create table</emphasis> <emphasis
  2603. role="bold">[if not exists]</emphasis> <emphasis>newtablename</emphasis>
  2604. <emphasis
  2605. role="bold">'('(</emphasis><emphasis>fieldname</emphasis><emphasis
  2606. role="bold">(</emphasis><emphasis>fieldtype</emphasis><emphasis
  2607. role="bold">[</emphasis><emphasis>fieldlen</emphasis><emphasis
  2608. role="bold">[</emphasis><emphasis>,precision</emphasis><emphasis
  2609. role="bold">]][</emphasis><emphasis
  2610. role="bold">UNSIGNED</emphasis><emphasis role="bold">][,]
  2611. ))+')'</emphasis></para>
  2612. <para><emphasis role="bold">[comment</emphasis> 'commenttext'<emphasis
  2613. role="bold">]<emphasis role="bold">[;]</emphasis></emphasis></para>
  2614. <para><emphasis role="bold">load data infile</emphasis>
  2615. '<emphasis>sourcetablename</emphasis>' <emphasis
  2616. role="bold">[connection</emphasis> '<emphasis>landingzoneIP</emphasis>'
  2617. <emphasis role="bold">directory</emphasis>
  2618. '<emphasis>landingzonepath</emphasis>'<emphasis
  2619. role="bold">]</emphasis></para>
  2620. <para><emphasis role="bold">into table</emphasis> <emphasis>newtablename
  2621. </emphasis></para>
  2622. <para><emphasis role="bold">[(fields | columns) [ terminated by
  2623. '</emphasis><emphasis>fieldDelimiter</emphasis>'<emphasis role="bold">]
  2624. [ enclosed by '</emphasis><emphasis>quoteChar</emphasis><emphasis
  2625. role="bold">']</emphasis><emphasis role="bold"> [ escaped by
  2626. '</emphasis><emphasis>escapeChar</emphasis><emphasis
  2627. role="bold">']]]</emphasis></para>
  2628. <para><emphasis role="bold">[lines [ terminated by
  2629. '</emphasis><emphasis>recordDelimiter</emphasis>'<emphasis
  2630. role="bold">]]<emphasis role="bold">[;]</emphasis></emphasis></para>
  2631. <para>As instruções CREATE TABLE e LOAD DATA SQL permitem criar um
  2632. arquivo em um cluster HPCC que é acessível via WsSQL. Você pode
  2633. preencher o novo arquivo a partir de dados em um arquivo lógico que já
  2634. esteja no cluster HPCC ou em um que esteja em uma zona de entrada de
  2635. arquivo.</para>
  2636. <para>Todos as solicitações de criação DEVEM ser acompanhados por uma
  2637. solicitação de LOAD. Você não pode criar uma tabela com a intenção de
  2638. carregar ou inserir dados posteriormente.</para>
  2639. <para><informaltable colsep="1" frame="all" rowsep="1">
  2640. <tgroup cols="2">
  2641. <colspec colwidth="123.45pt"/>
  2642. <colspec/>
  2643. <tbody>
  2644. <row>
  2645. <entry><emphasis>newtablename</emphasis></entry>
  2646. <entry>O nome de arquivo lógico a ser criado no cluster HPCC.
  2647. <emphasis role="bold">Observação: </emphasis>Create e LOAD
  2648. devem segmentar o mesmo arquivo.</entry>
  2649. </row>
  2650. <row>
  2651. <entry><emphasis>commenttext</emphasis></entry>
  2652. <entry>Um comentário de texto para adicionar à descrição do
  2653. arquivo lógico</entry>
  2654. </row>
  2655. <row>
  2656. <entry><emphasis>sourcetablename</emphasis></entry>
  2657. <entry>O arquivo de origem do qual extrair dados para carregar
  2658. na nova tabela. Isso pode ser um arquivo lógico em um cluster
  2659. HPCC ou em um arquivo físico em uma zona de entrada de
  2660. arquivo. Para um arquivo da Zona de Entrada de Arquivos, você
  2661. DEVE fornecer <emphasis role="bold">uma conexão</emphasis>
  2662. '<emphasis>landingzoneIP</emphasis>' e um <emphasis
  2663. role="bold">diretório</emphasis>
  2664. '<emphasis>landingzonepath</emphasis>' (o caminho para o
  2665. arquivo). Para um arquivo de zona de entrada de arquivo, use o
  2666. caso correspondente para o nome do arquivo.</entry>
  2667. </row>
  2668. <row>
  2669. <entry><emphasis>landingzoneIP</emphasis></entry>
  2670. <entry>Endereço IP ou nome do host da Zona de Entrada de
  2671. Arquivos do HPCC</entry>
  2672. </row>
  2673. <row>
  2674. <entry><emphasis>landingzonepath</emphasis></entry>
  2675. <entry>O caminho para o datafile no Landing Zonebut</entry>
  2676. </row>
  2677. <row>
  2678. <entry><emphasis>fieldDelimiter</emphasis></entry>
  2679. <entry>Valor string para o delimitador do campo.</entry>
  2680. </row>
  2681. <row>
  2682. <entry><emphasis>quoteChar</emphasis></entry>
  2683. <entry>Valor string para aspas.</entry>
  2684. </row>
  2685. <row>
  2686. <entry><emphasis>escapeChar</emphasis></entry>
  2687. <entry>Valor string para o ausência de caractere.</entry>
  2688. </row>
  2689. <row>
  2690. <entry><emphasis>recordDelimiter</emphasis></entry>
  2691. <entry>Valor string para o delimitador do registro.</entry>
  2692. </row>
  2693. </tbody>
  2694. </tgroup>
  2695. </informaltable></para>
  2696. <para>Exemplos:</para>
  2697. <programlisting>CREATE TABLE newCustomerFile (id DECIMAL( 30, 5), mytint INT(9),
  2698. mydouble DOUBLE (5,3) UNSIGNED)
  2699. COMMENT 'this file created via WsSQL and populated from file on lz';
  2700. LOAD DATA INFILE 'CustomerData' CONNECTION '127.0.0.1'
  2701. DIRECTORY '/var/lib/HPCCSystems/mydropzone'
  2702. INTO TABLE newCustomerFile;
  2703. CREATE TABLE newCustomerFile2 (id DECIMAL( 30, 5), mytint INT(9),
  2704. mydouble DOUBLE (5,3) UNSIGNED)
  2705. COMMENT 'this file created via WsSQL and populated from sprayed file';
  2706. LOAD DATA INFILE 'thor::customerdata::customers' INTO TABLE newCustomerFile2
  2707. CREATE TABLE IF NOT EXISTS newCustomerFile3 (id DECIMAL( 30, 5), mytint INT(9),
  2708. mydouble DOUBLE (5,3) UNSIGNED)
  2709. COMMENT 'won't overwrite';
  2710. LOAD DATA INFILE 'thor::customerdata::customers' INTO TABLE newCustomerFile3
  2711. CREATE TABLE newCustomerFile4CSV (id DECIMAL( 30, 5), mytint INT(9),
  2712. mydouble DOUBLE (5,3) UNSIGNED)
  2713. COMMENT 'Loading CSV data';
  2714. LOAD DATA INFILE 'somecsvfile.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  2715. LINES TERMINATED BY 'n'
  2716. INTO TABLE newCustomerFile4CSV
  2717. </programlisting>
  2718. </sect1>
  2719. <sect1>
  2720. <title>Funções Agregadas Suportadas</title>
  2721. <para><emphasis
  2722. role="bold">COUNT</emphasis>([DISTINCT]<emphasis>columnName</emphasis>)</para>
  2723. <para><emphasis
  2724. role="bold">DISTINCT</emphasis>(<emphasis>columnName</emphasis>)</para>
  2725. <para><emphasis
  2726. role="bold">SUM</emphasis>(<emphasis>columnName</emphasis>)</para>
  2727. <para><emphasis
  2728. role="bold">MIN</emphasis>(<emphasis>columnName</emphasis>)</para>
  2729. <para><emphasis
  2730. role="bold">MAX</emphasis>(<emphasis>columnName</emphasis>)</para>
  2731. <para><emphasis
  2732. role="bold">AVG</emphasis>(<emphasis>columnName</emphasis>)</para>
  2733. <para>Essas funções agregadas são suportadas. Estas funcionam de uma
  2734. maneira similar às suas contrapartes ECL Consulte a seção <emphasis
  2735. role="bold">Referência a Linguagem ECL</emphasis> para detalhes.</para>
  2736. <para><informaltable colsep="1" frame="all" rowsep="1">
  2737. <tgroup cols="2">
  2738. <colspec colwidth="200pt"/>
  2739. <colspec/>
  2740. <tbody>
  2741. <row>
  2742. <entry>COUNT</entry>
  2743. <entry>Conta as ocorrências de columnName no resultado, sempre
  2744. um inteiro.</entry>
  2745. </row>
  2746. <row>
  2747. <entry>DISTINCT</entry>
  2748. <entry>Retorna somente valores distintos de columnName no
  2749. resultado, o tipo de saída depende do tipo de entrada.</entry>
  2750. </row>
  2751. <row>
  2752. <entry>SUM</entry>
  2753. <entry>Retorna a soma dos valores de columnName no resultado,
  2754. o tipo de saída depende do tipo de entrada.</entry>
  2755. </row>
  2756. <row>
  2757. <entry>MIN</entry>
  2758. <entry>Retorna o valor mínimo de columnName no resultado, o
  2759. tipo de saída depende do tipo de entrada.</entry>
  2760. </row>
  2761. <row>
  2762. <entry>MAX</entry>
  2763. <entry>Retorna o valor máximo de columnName no resultado, o
  2764. tipo de saída depende do tipo de entrada.</entry>
  2765. </row>
  2766. <row>
  2767. <entry>AVG</entry>
  2768. <entry>Retorna a média dos valores de columnName no resultado,
  2769. sempre um número real.</entry>
  2770. </row>
  2771. <row>
  2772. <entry>columnName</entry>
  2773. <entry>A coluna para agregar.</entry>
  2774. </row>
  2775. </tbody>
  2776. </tgroup>
  2777. </informaltable></para>
  2778. <para>Exemplo:</para>
  2779. <para><programlisting>Select fname, lname, state, COUNT(zip) from TutorialPerson where zip='33024'</programlisting></para>
  2780. <sect2>
  2781. <title>Modificadores de strings suportados</title>
  2782. <para><emphasis
  2783. role="bold">UPPER</emphasis>(<emphasis>columnName</emphasis>)</para>
  2784. <para><emphasis
  2785. role="bold">LOWER</emphasis>(<emphasis>columnName</emphasis>)</para>
  2786. <para/>
  2787. <informaltable colsep="1" frame="all" rowsep="1">
  2788. <tgroup cols="2">
  2789. <colspec colwidth="200pt"/>
  2790. <colspec/>
  2791. <tbody>
  2792. <row>
  2793. <entry>UPPER</entry>
  2794. <entry>Retorna com todos os caracteres minúsculos convertidos
  2795. em maiúsculos.</entry>
  2796. </row>
  2797. <row>
  2798. <entry>LOWER</entry>
  2799. <entry>Retorna com todos os caracteres maiúsculos convertidos
  2800. em minúsculas.</entry>
  2801. </row>
  2802. <row>
  2803. <entry>columnName</entry>
  2804. <entry>A coluna para agregar.</entry>
  2805. </row>
  2806. </tbody>
  2807. </tgroup>
  2808. </informaltable>
  2809. </sect2>
  2810. <sect2 role="brk">
  2811. <title>Considerações Especiais</title>
  2812. <para>Como esse serviço usa ECL e SQL, há algumas considerações
  2813. especiais ao projetar os bancos de dados de back-end e stored
  2814. procedures.</para>
  2815. <sect3>
  2816. <title>Palavras-chave SQL reservadas</title>
  2817. <para>Seus identificadores de HPCC (nomes de campo, nomes de Stored
  2818. Procedure, etc.) não podem usar palavras reservadas de SQL,
  2819. como:</para>
  2820. <programlisting>ADD ALL ANY AS ASC AT AVG BETWEEN BOOL BOOLEAN BY CALL COLUMN CONTAINS COUNT
  2821. DESC DISTINCT FALSE FOR FROM GROUP HAVING IN INDEX INNER IS JOIN KEY KEYS LAST
  2822. LEFT LIKE LIMIT LOWER MAX MIN MOD NOT NULL OFFSET ON ORDER OUT OUTER POWER SELECT
  2823. SUM TABLE TRUE UPPER USE WHERE XOR DIV MOD OR AND</programlisting>
  2824. </sect3>
  2825. <sect3>
  2826. <title>Caracteres especiais.</title>
  2827. <para>Os nomes de arquivo do seu HPCC devem evitar caracteres
  2828. especiais que não sejam:</para>
  2829. <programlisting>( 'A'..'Z' | 'a'..'z' | '' | '$') ( 'A'..'Z' | 'a'..'z' | '' | '$' | '0'..'9' )
  2830. Os nomes dos arquivos podem ser prefixados com um ~ (til) ou .::
  2831. </programlisting>
  2832. <para>Se um nome de arquivo não for suportado, ele não será
  2833. retornado ao interrogar o sistema usando GetDBMetaData.</para>
  2834. </sect3>
  2835. </sect2>
  2836. </sect1>
  2837. </chapter>
  2838. </book>