Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Italo Gonçales
Entendi Mantovani! É bom saber disso, pois estou migrando algumas coisas aqui para Catalyst, e acabo me deparando com esses casos. Agora não vou mais travar com esse tipo de coisas, espero. Obrigado! Em 30 de setembro de 2015 11:21, Daniel de Oliveira Mantovani < daniel.oliveira.mantov...@gm

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Daniel de Oliveira Mantovani
Italo, quando você precisar de alguma função que não seja suportada pela estrutura de dados do DBIC, você usa \['']. Geralmente são funções específicas do banco, como as relacionadas à data. https://github.com/mantovani/IBM-MDM-LogAnalyzer/blob/master/lib/IBM/MDM/LogAnalyzer/Schema/ResultSet/MdmPe

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Italo Gonçales
Após uma ajuda do Mantovani e do Ilmari no canal #dbix-class, obtive a seguinte solução: $card_rs->search(\['? RLIKE atr', '3B7F138031C0521234640569937083819000' ]); Segundo o ilmari: geralmente se você precisa de alguma coisa além do identificador ( column name ) no lado esquerdo, você preci

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Daniel de Oliveira Mantovani
Italo, BTW Entra no canal do DBIx::Class, irc.perl.org #dbix-class Eles já sabem da sua situação, vai ser muito mais rápido você lá do que eu intermediando. Abs! 2015-09-30 10:42 GMT-03:00 Daniel de Oliveira Mantovani < daniel.oliveira.mantov...@gmail.com>: > Me falaram no canal para você tenta

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Italo Gonçales
Utilizando a estrutura: use DDP; p $_ for $card_rs->search({ "atr" => { "rlike" => '3B7F138031C052640569937083819000' } }); Obtive: [devel@develvm bin]$ DBIC_TRACE=1 perl findatr.pl SELECT me.id_atr, me.atr, me.name, me.eletric_test, me.code, me.status, me.microsiga1, me.microsiga2, me.obs

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Daniel de Oliveira Mantovani
Me falaram no canal para você tentar isso, search({ "atr" => { "rlike" => '3B7F138031C052640569937083819000' } }) 2015-09-30 10:30 GMT-03:00 Italo Gonçales : > O código está assim: > > my $regex = '3B7F138031C052640569937083819000'; > use DDP; p $_ for $card_rs->search({ $regex =>

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Italo Gonçales
O código está assim: my $regex = '3B7F138031C052640569937083819000'; use DDP; p $_ for $card_rs->search({ $regex => { RLIKE => 'atr' } })->all; Porém, invertendo a ordem da estrutura para ` use DDP; p $_ for $card_rs->search({ atr => { RLIKE => $regex } })->all; `, a saída fica: [devel@d

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Daniel de Oliveira Mantovani
Tudo o que falta para funcionar é você dizer na estrutura de dados do seu search para colocar o "3B7F138031C052640569937083819000" entre quotes simples. Você precisa passar a estrutura do search que gerou o output acima para eu te ajudar. 2015-09-30 10:26 GMT-03:00 Daniel de Oliveira Manto

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Daniel de Oliveira Mantovani
Italo, qual estrutura no dbic vc está usando que o resultado é "SELECT me.id_atr, me.atr, me.name, me.eletric_test, me.code, me.status, me.microsiga1, me.microsiga2, me.observation FROM card_atr me WHERE ( 3B7F138031C052640569937083819000 RLIKE ? ): 'atr'" ? 2015-09-30 10:14 GMT-03:00 Ita

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Italo Gonçales
olá Carneiro, É porque a atr, é um dado que vem do chip do cartão, estou lendo o mesmo a partir de uma leitora de smartcard, e buscando as informações sobre esta atr no banco. Em 30 de setembro de 2015 10:09, Andre Carneiro < andregarciacarne...@gmail.com> escreveu: > Estou tentando entender por

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Italo Gonçales
Enão, eu não tenho a regex como valor, e sim o valor completo da string. A regex está armazenada no banco de dados: mysql> select * from card_atr where atr RLIKE '3B7F138031C052640569937083819000'; Empty set (0,00 sec) mysql> select * from card_atr where '3B7F138031C05264056993708

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Andre Carneiro
Estou tentando entender porque voce está tentando buscar pelo conteúdo de 'atr' e nao pelo conteúdo de 'name'. De qq forma, creio que voce pode tentar usar RLIKE do próprio Mysql como o Vinciguerra sugeriu(ele foi mais rápido que eu... :P). Dependendo do tamanho dessa tabela, podería-se pensar em u

Re: [SP-pm] Encontrar valor em regex armazenada em banco de dados

2015-09-30 Por tôpico Daniel Vinciguerra
Fala Italo, Sugiro que vc dê uma habilitada no DBIC_TRACE para ver a saída antes de tudo... Não consigo simular o seu cenário mas testei com um banco meu e em outro contexto e... ->search({ email => {-rlike => 'foo@.*'} })->single; Query: SELECT me.id, me.name, me.email, me.password, me.active,