thegoodfellas/blogset-br huggingface dataset:
0 (@1 tinyint)SELECT [COD] FROM [T2] WHERE [COD]<@1 57 4 4 0 DELETE FROM T5 59 3 3 0 SELECT COD FROM T4 62 2 2 0 DELETE FROM T5 WHERE COD IN (SELECT COD FROM T3) Comoera de se esperar, a sessao 52 (a aberta pelo SSMS) e a sessao que esta no topoda cadeia de bloqueios. O interessante dessa ultima consulta e que nao somentefoi possivel visualizar a quantidade de bloqueios aberta, mas principalmente ocomando que proporcionou que a cadeia se formasse.Ouso das Recursive CTEs nao se limita apenas a descobrir qual e a sessao queimpoe mais bloqueios diretos e indiretos. Com o uso da CTE e possivel exibir ascadeias de bloqueios e visualizar o que acontecera em um primeiro momentoquando a sessao 52 for eliminada. A consulta abaixo mostra as cadeias debloqueio provocadas pela sessao 52 de forma indireta (exatamente 20 registros conformea tabela acima).;WITH Sessoes(Sessao, Bloqueadora) As ( SELECT Session_Id,Blocking_Session_Id FROM sys.dm_exec_requests As R WHERE blocking_session_id> 0 UNION ALL SELECT Session_Id, CAST(0 AsSMALLINT) FROM sys.dm_exec_sessions As S WHERE EXISTS( SELECT * FROM sys.dm_exec_requests As R WHERE S.Session_Id= R.Blocking_Session_Id) AND NOT EXISTS ( SELECT * FROM sys.dm_exec_requests As R WHERE S.Session_Id= R.Session_Id)),Bloqueios As ( SELECT CAST(Sessao As VARCHAR(200)) As Cadeia, Sessao, Bloqueadora, 1 As Nivel FROM Sessoes UNION ALL SELECT CAST(B.Cadeia+ -> + CAST(S.Sessao AsVARCHAR(5)) AsVARCHAR(200)), S.Sessao, B.Sessao, Nivel + 1 FROM Bloqueios As B INNER JOIN Sessoes As S ON B.Sessao= S.Bloqueadora)SELECT Cadeia FROM BloqueiosWHERE Nivel= (SELECT MAX(Nivel) FROM Bloqueios)ORDERBY CadeiaOresultado e obtido na tabela abaixo (a formatacao foi proposital): Linha Cadeia Linha Cadeia 01 52 -> 54 -> 63 11 52 -> 55 -> 74 02 52 -> 54 -> 65 12 52 -> 57 -> 58 03 52 -> 54 -> 69 13 52 -> 57 -> 61 04 52 -> 54 -> 70 14 52 -> 57 -> 71 05 52 -> 54 -> 73 15 52 -> 57 -> 72 06 52 -> 54 -> 75 16 52 -> 59 -> 64 07 52 -> 55 -> 56 17 52 -> 59 -> 76 08 52 -> 55 -> 60 18 52 -> 59 -> 77 09 52 -> 55 -> 66 19 52 -> 62 -> 67 10 52 -> 55 -> 68 20 52 -> 62 -> 78 Aexemplo da linha 01 pode-se ver claramente que a sessao 52 bloqueia a sessao 54que por sua vez bloqueia a sessao 63. A tabela exibe os 20 bloqueios indiretos.Eliminar por exemplo a sessao 52, ira liberar a sessao 54 que ira liberar asessao 63. A consulta mostra todas as liberacoes que irao ocorrer se a sessao52 for eliminada. Nao e necessario elimina-la ainda.Asconsultas anteriores juntamente com essa ultima mostram o poder que as CTEspodem realizar no monitoramento e resolucao dos bloqueios ja que esses saoapresentados em uma relacao hierarquica. Ainda assim, se o objetivo era apenasencontrar a sessao que mais promove bloqueios, ha uma maneira bem mais direta.O raciocinio e bem simples. A sessao que forma a hierarquia sera a primeira aefetuar um bloqueio. A sessao que e bloqueada primeiro ira naturalmente ser aque
estara esperando por mais tempo, pois, a medida que ela e bloqueada e queos demais bloqueios se formam. A consulta abaixo demonstra esse raciocinioSELECTTOP 10 Session_Id,Blocking_Session_IdFROM sys.dm_exec_requestsWHERE Blocking_Session_Id> 0ORDERBY Wait_Time DESCAconsulta exibe o seguinte resultado: Session_Id Blocking_Session_Id 54 52 55 52 56 55 57 52 58 57 59 52 60 55 61 57 62 52 63 54 Aconsulta retorna todas as requisicoes que nao estao bloqueadas(blocking_session_id > 0) e as ordena pelo maior tempo de espera. A sessao54 esta bloqueada pela sessao 52 e e a sessao que espera a mais tempo. Isso eum forte indicio de que a sessao 52 possui forte influencia na cadeia debloqueios. A resposta nao e tao precisa quanto o uso das CTEs, mas normalmenteessa alternativa e muito certeira por conta da logica.Aideia desse artigo e demonstrar como abordar longas cadeias de bloqueios emambientes de producao. Normalmente quando o bloqueio e formado nao ha um avisoformal ao responsavel pelo banco de dados. Isso e natural, pois, os bloqueiossao necessarios para garantir a integridade dos dados (principalmente na oticapessimista presenca na maioria dos bancos de dados). A demora no processo deresolucao desses bloqueios (seja por conexoes orfas, transacoes longas, etc)pode formar um situacao bem critica. Um bloqueio de 10ms talvez passedespercebido, mas uma cadeia de bloqueios formada por varias sessoes e impostaha alguns minutos provavelmente sera descoberta e o DBA nao tera tempo paratentar analisar qual a sessao que provoca tantos bloqueios. Abordei aqui asprincipais tecnicas que costumo utilizar para encontra-los.Oscodigos abordam um cenario muito simplista. Nem sempre ha uma unica cadeia debloqueios. E possivel que haja varios processos montado extensas cadeias. Epossivel tambem que as cadeias possuam mais de tres niveis de aninhamento eassim por diante. Os codigos mostram o caminho das pedras, mas certamente podemser otimizados. Espero que esse artigo sirva de subsidio para entender e lidarcom os bloqueios quando eles incomodarem. Por fim, matar a sessao 52, ira fazercom que todas as sessoes sejam liberadas e o SQL Server se resolva. Aoscuriosos, vale a pena efetuar um KILL e conferir o resultado das consultas repassadasate entao.
DATABASE dbNogare SET ALLOW_SNAPSHOT_ISOLATION ONGOUSE dbNogareGODepois de habilitar o SnapshotIsolation Level no banco de dados, e hora de ver os blocos de codigos quepossibilitam este nivel de isolamento./********* RODAR NA CONEXAO 1 *********/SET TRANSACTION ISOLATION LEVEL SNAPSHOTBEGIN TRAN SELECT * FROM tbIsolationLevel WAITFOR DELAY '00:00:10' SELECT * FROM tbIsolationLevel UPDATE tbIsolationLevel set Col1 = 'XXXXX' where id = 2 WAITFOR DELAY '00:00:10'COMMIT TRAN/********* RODAR NA CONEXAO 1 *********/UPDATE tbIsolationLevel set Col1 = 'NNNNNN' where id = 1SELECT * FROM tbIsolationLevelPor fim, o DEAD LOCK tambem causa um pouco de confusao comsua execucao. A causa de um DEAK LOCK e quando uma transacao espera umaliberacao para seguir em frente, mas a transacao que esta segurando o processo(causando LOCK) esta esperando a primeiratransacao terminar de processar alguma coisa. A grosso modo, eA esperando o B terminar e o B esperando o A terminar.Eles ficariam um esperando o outro ate alguem desistir. Para isso, o SQLServer escolhe uma vitima deacordo com o inicio do processo e o grau de severidade que aquele processo podeter. Normalmente a transacao que comecou por ultimo e a vitima, se desligandodo processo (o SQL faz isso automaticamente) e da um rollback nas alteracoes. Isso faz com que atransacao que ganhou o processo termine suas atividades.Para ver isso atraves de codigo,execute os blocos abaixo./********* RODAR NA CONEXAO 1 *********/SET TRANSACTION ISOLATION LEVEL READ COMMITTEDGOBEGIN TRAN UPDATE tbDeadlock SET id = 12 WHERE id = 2 WAITFOR DELAY '00:00:10' UPDATE tbDeadlock SET id = 11 WHERE id = 1ROLLBACK TRAN/********* RODARNA CONEXAO 2 *********/BEGIN TRAN UPDATE tbDeadlock SET id = 11 WHERE id = 1 WAITFOR DELAY '00:00:10' UPDATE tbDeadlock SET id = 12 WHERE id = 2ROLLBACK TRANQuando ocorre o dead lock, a mensagemde erro e assim:Msg 1205, Level 13, State 45, Line 2Transaction (Process ID 54) was deadlocked on lock resources with anotherprocess and has been chosen as the deadlock victim. Rerun the transaction.
4 4 0 DELETE FROM T5 59 3 3 0 SELECT COD FROM T4 62 2 2 0 DELETE FROM T5 WHERE COD IN (SELECT COD FROM T3) Comoera de se esperar, a sessao 52 (a aberta pelo SSMS) e a sessao que esta no topoda cadeia de bloqueios. O interessante dessa ultima consulta e que nao somentefoi possivel visualizar a quantidade de bloqueios aberta, mas principalmente ocomando que proporcionou que a cadeia se formasse.Ouso das Recursive CTEs nao se limita apenas a descobrir qual e a sessao queimpoe mais bloqueios diretos e indiretos. Com o uso da CTE e possivel exibir ascadeias de bloqueios e visualizar o que acontecera em um primeiro momentoquando a sessao 52 for eliminada. A consulta abaixo mostra as cadeias debloqueio provocadas pela sessao 52 de forma indireta (exatamente 20 registrosconforme a tabela acima).;WITH Sessoes(Sessao, Bloqueadora) As ( SELECT Session_Id,Blocking_Session_Id FROM sys.dm_exec_requests As R WHERE blocking_session_id> 0 UNION ALL SELECT Session_Id, CAST(0 AsSMALLINT) FROM sys.dm_exec_sessions As S WHERE EXISTS( SELECT * FROM sys.dm_exec_requests As R WHERE S.Session_Id= R.Blocking_Session_Id) AND NOT EXISTS ( SELECT * FROM sys.dm_exec_requests As R WHERE S.Session_Id= R.Session_Id)),Bloqueios As ( SELECT CAST(Sessao As VARCHAR(200)) As Cadeia, Sessao, Bloqueadora, 1 As Nivel FROM Sessoes UNION ALL SELECT CAST(B.Cadeia+ -> + CAST(S.Sessao AsVARCHAR(5)) AsVARCHAR(200)), S.Sessao, B.Sessao, Nivel + 1 FROM Bloqueios As B INNER JOIN Sessoes As S ON B.Sessao= S.Bloqueadora)SELECT Cadeia FROM BloqueiosWHERE Nivel= (SELECT MAX(Nivel) FROM Bloqueios)ORDERBY CadeiaOresultado e obtido na tabela abaixo (a formatacao foi proposital): Linha Cadeia Linha Cadeia 01 52 -> 54 -> 63 11 52 -> 55 -> 74 02 52 -> 54 -> 65 12 52 -> 57 -> 58 03 52 -> 54 -> 69 13 52 -> 57 -> 61 04 52 -> 54 -> 70 14 52 -> 57 -> 71 05 52 -> 54 -> 73 15 52 -> 57 -> 72 06 52 -> 54 -> 75 16 52 -> 59 -> 64 07 52 -> 55 -> 56 17 52 -> 59 -> 76 08 52 -> 55 -> 60 18 52 -> 59 -> 77 09 52 -> 55 -> 66 19 52 -> 62 -> 67 10 52 -> 55 -> 68 20 52 -> 62 -> 78 Aexemplo da linha 01 pode-se ver claramente que a sessao 52 bloqueia a sessao 54que por sua vez bloqueia a sessao 63. A tabela exibe os 20 bloqueios indiretos.Eliminar por exemplo a sessao 52, ira liberar a sessao 54 que ira liberar asessao 63. A consulta mostra todas as liberacoes que irao ocorrer se a sessao52 for eliminada. Nao e necessario elimina-la ainda.Asconsultas anteriores juntamente com essa ultima mostram o poder que as CTEspodem realizar no monitoramento e resolucao dos bloqueios ja que esses saoapresentados em uma relacao hierarquica. Ainda assim, se o objetivo era apenasencontrar a sessao que mais promove bloqueios, ha uma maneira bem mais direta.O raciocinio e bem simples. A sessao que forma a hierarquia sera a primeira aefetuar um bloqueio. A sessao que e bloqueada primeiro ira naturalmente ser aque estara esperando por mais tempo, pois, a medida que
ela e bloqueada e queos demais bloqueios se formam. A consulta abaixo demonstra esse raciocinioSELECTTOP 10 Session_Id,Blocking_Session_IdFROM sys.dm_exec_requestsWHERE Blocking_Session_Id> 0ORDERBY Wait_Time DESCAconsulta exibe o seguinte resultado: Session_Id Blocking_Session_Id 54 52 55 52 56 55 57 52 58 57 59 52 60 55 61 57 62 52 63 54 Aconsulta retorna todas as requisicoes que nao estao bloqueadas(blocking_session_id > 0) e as ordena pelo maior tempo de espera. A sessao54 esta bloqueada pela sessao 52 e e a sessao que espera a mais tempo. Isso eum forte indicio de que a sessao 52 possui forte influencia na cadeia debloqueios. A resposta nao e tao precisa quanto o uso das CTEs, mas normalmenteessa alternativa e muito certeira por conta da logica.Aideia desse artigo e demonstrar como abordar longas cadeias de bloqueios emambientes de producao. Normalmente quando o bloqueio e formado nao ha um avisoformal ao responsavel pelo banco de dados. Isso e natural, pois, os bloqueiossao necessarios para garantir a integridade dos dados (principalmente na oticapessimista presenca na maioria dos bancos de dados). A demora no processo deresolucao desses bloqueios (seja por conexoes orfas, transacoes longas, etc)pode formar um situacao bem critica. Um bloqueio de 10ms talvez passedespercebido, mas uma cadeia de bloqueios formada por varias sessoes e impostaha alguns minutos provavelmente sera descoberta e o DBA nao tera tempo paratentar analisar qual a sessao que provoca tantos bloqueios. Abordei aqui asprincipais tecnicas que costumo utilizar para encontra-los.Oscodigos abordam um cenario muito simplista. Nem sempre ha uma unica cadeia debloqueios. E possivel que haja varios processos montado extensas cadeias. Epossivel tambem que as cadeias possuam mais de tres niveis de aninhamento eassim por diante. Os codigos mostram o caminho das pedras, mas certamente podemser otimizados. Espero que esse artigo sirva de subsidio para entender e lidarcom os bloqueios quando eles incomodarem. Por fim, matar a sessao 52, ira fazercom que todas as sessoes sejam liberadas e o SQL Server se resolva. Aoscuriosos, vale a pena efetuar um KILL e conferir o resultado das consultasrepassadas ate entao.
nenem.(FIGURA. 1)Deu ao menino o nome de Isaque.D. Sara cuidava muito bem de Isaque.Preparava comida gostosas para ele.Fazia-lhe roupas macias e quentinhas(FIGURA. 2)D. Sara ria e brincava com Isaque.(FIGURA. 3)Ela ensinou Isaque a conversar com Deus.Isaque vivia feliz porque tinha uma mamae que o amava muitoGenesis : 18.1-16,21.1-8Obs.: Na sala pode haver crianca que nao tenham a mamae junto com elas e sao cuidadas pela avo, tias ou mesmo a nova esposa do pai. Explique a ela que essa mulheres as amam como suas maes ,por isso cuidam delas.VersiculoDiga: Nos ja sabemos que Deus e bom, pois ele nos deu para mamae ,entao vamos aprenderum versiculo que fala que Deus e bom. Esta na Biblia(Mostre a Biblia com a pagina do versiculo marcado )em Salmos 145.9.Ela diz: O Senhor e bom para todos(Mostre o cartaz e repita o versiculo com as criancas)Atividade1 opcao: Se sua opcao foi pelo desenho distribua as folhas e diga que hoje o desenho sera especial para entregar para mae.2 opcao: Se optou pela sacolinha entregue as sacolinhas ja devidamente fechada com as guloseimas .Depois entregue as flores para meninas e do sol para os meninos e ajudem a decorar as sacolinhas(Como no culto infantil a hora voa, entregue as pecas ja prontas com uma fita colada atras so para amarar na sacolinha ou fixa num palito de churrasco so para encaixar.) Figura da HistoriaFigura 1 Figura 2Figura 3Fonte: internet e adaptacao da revista crescendo.Creditos: http://pescadoresdepequeninos.blogspot.com.br/
papai. Voce nao ta vendo que estou muito ocupado? Estou trabalhando neste aviao e naoquero parar.O pai deu meia volta e saiu procurando o outro filho. Ele estava assistindo televisao.Guilherme, voce poderia limpar a calcada da frente porque esta cheia de folhas por causa do ventode ontem?Sim, papai! Eu vou!- respondeu Guilherme.-Que bom! -disse o pai- Vou deixar o saco de lixo e a vassoura perto da porta.Depois que o pai sai Joao comecou a pensar. Eu posso limpar a calcada e ainda terei tempo determinar o aviao hoje. Entao, muito disposto Joao foi limpar a calcada.Quando papai chegou, viu Joao trabalhando e perguntou:Cade o Gulherme!-Nao sei papai, da ultima vez que o vi estava assistindo televisao.Quando o pai entrou, nao podia acreditar! Guilherme estava ainda do mesmo jeito deitado no sofaassistindo televisao.Qual dos dois filhos sera que agradou e obedeceu ao seu pai?Na parabola de hoje Jesus contou uma situacao parecida para mostrar como algumas pessoasrespondem a palavra de Deus. Vejamos Mateus 21:28-32.Havia um homem (figura 1) dono de campos e vinhas (Figura 2) que tinha dois filhos (Figura 3 e 4)Entao o pai pede ao primeiro filho figura 3: Filho, vai trabalhar hoje na minha vinha. Ele respondeu:Irei, sim Senhor; mas nao foi. Depois o pai chegou ao segundo filho Figura 4 e disse- lhe o mesmo.Porem este respondeu: Nao quero; mais tarde, tocado de arrependimento, foi e fez o que o paipediu pra ele.Jesus perguntou: Qual destes dois filhos obedeceu o seu pai? Qual voce acha?O que significa obedecer? (deixe as criancas responder)Jesus quer que percebamos que o que fazemos e mais importante que o que dizemos. Muitasvezes com a nossa boca dizemos sim, mas o nosso agir e contrario. Muitos dizem sim para Jesusde "da boca-para-fora".Quais sao as caracteristicas de uma crianca obediente? (deixe as criancas responder)Quais sao as caracteristicas de criancas desobedientes?Como voce responde aos seus pais quando pedem alguma coisa?Que coisas nos estimulam a sermos desobedientes?Que decisao voce vai tomar a partir de hoje?Lider: Faca uma oracao renunciando a desobediencia e as coisas que a estimulam. Ore pedindoa Deus um coracao submisso e obediente nas criancas.Depois da oracao estimule as criancas que precisam pedir perdao aos seus pais que faca issovoltando pra casa.Atividades:Divida a celula em dois grupos. Cada grupo deve dramatizar esta parabola nos tempos modernos.Mostrando dois tipos de criancas, obedientes e as desobedientes.Depois apresentar. Estimule as criancas a apresentar o teatro no dia Domingo.
A Comissao Permanente de Vestibular (COMPERVE/UERN) divulga o edital do Processo Seletivo Vocacionado 2012 (PSV 2012), com oferta de 2.472 vagas nos cursos de graduacao da Universidade do Estado do Rio Grande do Norte. As inscricoes serao realizadas no periodo de 09 a 30 de dezembro, exclusivamente pela Internet e as provas serao aplicadas nos dias 04 e 05 de marco de 2012.Para realizar a inscricao, ao preencher o formulario on-line (que estara disponivel a partir do dia 9/12), o candidato devera concordar com as informacoes constantes no Edital e fornecer o numero de seu CPF, condicao exclusiva e obrigatoria. As inscricoes serao realizadas a partir das 9h do dia 09 de dezembro com prazo limite ate as 23h59min do dia 30 de dezembro de 2011, observado o horario oficial local. O valor da taxa de inscricao e de R$ 110,00 (cento e dez reais).A Comperve/UERN informa que houve um acrescimo de 126 vagas, com relacao ao PSV 2011. O Conselho de Ensino, Pesquisa e Extensao (CONSEPE) autorizou a abertura do Bacharelado em Educacao Fisica (30 vagas), e a Licenciatura em Letras/Lingua Espanhola (16 vagas), turno vespertino, no Campus Central (Mossoro). Tambem foi criado o curso de Geografia (40 vagas), no Campus de Assu, e Letras/Lingua Portuguesa (40 vagas), no Campus de Patu.De acordo com o Edital do PSV 2012, 0s candidatos que se enquadram no Sistema de Cotas, que reserva metade das vagas para os estudantes que estudaram integralmente na escola publica, devem entregar a documentacao exigida no periodo de 09 a 13 de janeiro de 2012. Ja os candidatos com direito a isencao de 100% do pagamento da taxa de inscricao sao os que comprovem:a) Ter cursado todo o Ensino Medio em escola publica do Estado do Rio Grande do Norte e ter concluido no bienio 2009/2010;b) Ser aluno do 3o ano do Ensino Medio de escola publica do Estado do Rio Grande do Norte, em 2011, tendo tambem cursado o 1o e 2o ano desse nivel de ensino no referido Estado em escola publica;c) Ter cursado todo o Ensino Medio em escola privada do Estado do Rio Grande do Norte e ter concluido no bienio 2009/2010, na condicao de aluno bolsista, e o valor da bolsa nos tres anos (1o, 2o e 3o) tenha sido igual ou superior a 50% (cinquenta por cento) do valor da mensalidade escolar;d) Ser aluno do 3o ano do Ensino Medio de escola privada do Estado do Rio Grande do Norte, em 2011, na condicao de aluno bolsista, tendo tambem cursado o 1o e 2o ano desse nivel de ensino no referido Estado nessa mesma condicao, e o valor da bolsa nos tres anos tenha sido igual ou superior a 50% (cinquenta por cento) do valor da mensalidade escolar;e) Ser doador de sangue e ter efetuado, no minimo, 3 (tres) doacoes sanguineas convencionais para instituicoes publicas vinculadas a rede hospitalar do Estado do Rio Grande do Norte, no periodo de doze meses anteriores a data de publicacao do Edital de abertura do PSV/2012.Para saber mais informacoes sobre a isencao de 50% da taxa de
de mante-las apenas no meu inconsciente.Sinto no direito de destacar que minha decisao hoje de escrever essa postagem, da-se devido ao fato de ter constatado varias vezes no decorrer desse periodo em que nao estava atualizando meu espaco virtual que ainda mantinha um numero consideravel de acesso todos os dias, o que me deixa gratificado, pois isso demonstra que os meus escritos agradavam ou desagradavam - nao lemos apenas aquilo que nos satisfaz, que nos eleva a uma sensacao de prazer, as vezes e apenas uma necessidade de critica. Diante disso, so tenho de deixar meu obrigado de forma sincera, pois sei que meu objetivo estar sendo alcancado.Justificando-se 2...Acredito que continuarei afastado de certa forma do Ate eu tenho um blog a nao ser em casos eventuais como este, pois estarei mais ainda dedicado aos meus estudos especificos, que requerem tambem muita dedicacao. Como todos sabem ou se nao ficarao sabendo agora, gracas a Deus estou formado e ainda tive a bencao de passar na selecao do mestrado, dessa forma, alem de muitos estudos para da conta dessa tarefa por dois anos, tenho que estudar para passar num concurso (nem so de estudo vive o homem). Ultimos fatos....O burburinho que tem se alarmado na cidade esses ultimos dias esta relacionado a chegada do onibus para o transporte dos estudantes de Portalegre, que precisam se deslocar todos os dias para Pau dos Ferros em busca de ensino tecnico e superior. Para que o feito fosse divulgado, a Prefeitura juntamente com a Secretaria de Educacao convocou todos os alunos que precisam dispor desse beneficio tao merecido por todos nos estudantes para uma reuniao, que se deu em clima de suspense devido a forma como foi conduzida. Na verdade o que soou mais evidentemente foi o desejo de alguns se promoverem aproveitando-se da situacao. Alem disso, ficou visivel que as muitas informacoes que foram repassadas nao condiziam com sua verdadeira natureza, deixando-nos entender que o que queriam mesmo era maquiar a realidade dos fatos, como sempre acontece. Outro ponto que merece destaque e a falta de educacao de alguns presentes no recinto que revidaram de forma bruta a palavra do outro antes mesmo que este terminasse seu raciocinio, sem falar nas risadas criticas que soaram como uma forma de revolta, desespero ou outras nomenclaturas que se adequem melhor a questao, acrescente-se a isso a falta de dominio do mediador das discussoes, que ao permitir a palavra a alguns chegou a usar o termo infelizmente quando outros iriam se posicionar, opinar ja que de certa forma iam sendo colocados em evidencia. Sera se faltou articulacao ou isso ja estava arquiteto na cabeca de alguns? Enfim, o que era para ter sido destacado e comemorado (a vinda do onibus) acabou causando um verdadeiro espetaculo que girou em torno do onibus recem-chegado que tambem causou a disputa pelo papel principal dessa historia.O discurso bonito que nao conforta...Ja tivemos de presenciamos e escutamos varias vezes os responsaveis pela administracao, e de uma forma mais especifica do responsavel por cuidar da Educacao de Portalegre dizer que o municipio nao tem