[firebase-br] Revoke do PUBLIC

Mário Reis mariodosreyx em gmail.com
Sábado Agosto 5 09:23:08 -03 2023


Boas Gladison,
CREATE FUNCTION GET_ROUND_AS_ABNT... NÃO COMPILAM mais! Os PARÂMETROS DE
Round() não estão bem!
Com os meus melhores cumprimentos
Mário Agostinho Reis
919262146

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.


Gladiston Santana <gladiston.santana em gmail.com> escreveu no dia sexta,
4/08/2023 à(s) 18:09:

> Boa tarde!
> A função round pode retornar tanto inteiro como float:
>
> https://firebirdsql.org/file/documentation/html/en/refdocs/fblangref40/firebird-40-language-reference.html#fblangref40-scalarfuncs-round
>
> Às vezes o arredondamento não é do jeito que a gente quer, daí adaptações
> precisam ser feitas, por exemplo, aqui no Brasil temos um tipo de
> arredondamento usando uma norma ABNT que difere completamente do padrão
> sql-92, daí temos que criar uma sqlfunction adaptando a partir de uma
> função mais próxima. Veja esse exemplo:
> https://gladiston.net.br/banco-de-dados/arredondamento-do-tipo-abnt/
>
> Sabendo um pouco de psql vamos suprindo funções que não existem, se quiser
> pode pegar emprestado as que publiquei na minha pagina pessoal:
> https://gladiston.net.br/banco-de-dados/
>
> Em qui., 3 de ago. de 2023 às 21:37, Mário Reis <mariodosreyx em gmail.com>
> escreveu:
>
>> Boa tardes Gladison
>>
>> Você diz que há muito não usa udfs.
>> Estou tentando o mesmo mas esbarro em algumas dificuldades.
>> Ex: udf_rounddec(X, y) tentei o round(x, y) mas não é o mesmo. Retorna um
>> inteiro enquanto o outro retorna um double.
>> Como fazer num caso destes. Conhece o substituto? Obrigado
>>
>> Mário Reis (919262146)
>>
>> A quarta, 2 de ago de 2023, 17:03, Mário Reis <mariodosreyx em gmail.com>
>> escreveu:
>>
>>> Disponível para qualquer coisa. Embora com tempo mesmo escasso, sempre
>>> se arranja uma brecha.
>>> E, não está pronto porque ainda falta fazer o registo de
>>> correspondência de modo automática e enviar por mail.
>>> Nesta última parte, não faço, ainda, a menor ideia de como irei fazer,
>>> mas hei-de lá chegar.
>>> Atentamente
>>> Com os meus melhores cumprimentos
>>> Mário Agostinho Reis
>>> 919262146
>>>
>>> Esta mensagem contém informação de natureza confidencial e é
>>> exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por
>>> engano,
>>> receber este email agradecemos que não o copie nem o reenvie e que nos
>>> notifique do ocorrido através do email de resposta.
>>>
>>>
>>> Mário Reis <mariodosreyx em gmail.com> escreveu no dia quarta, 2/08/2023
>>> à(s) 16:51:
>>>
>>>> O meu código está um pedaço (grande) sujo, mas se V. tiver pachorra
>>>> para dar um olhada e remover uns bugs  passo-te  já a seguir.
>>>> Eu antes nunca tinha trabalhado com basic de forma que ainda estou
>>>> tentando perceber o porque do "argument errors"
>>>> Com os meus melhores cumprimentos
>>>> Mário Agostinho Reis
>>>> 919262146
>>>>
>>>> Esta mensagem contém informação de natureza confidencial e é
>>>> exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por
>>>> engano,
>>>> receber este email agradecemos que não o copie nem o reenvie e que nos
>>>> notifique do ocorrido através do email de resposta.
>>>>
>>>>
>>>> Gladiston Santana <gladiston.santana em gmail.com> escreveu no dia
>>>> segunda, 31/07/2023 à(s) 17:43:
>>>>
>>>>> Bacana Mario,
>>>>>
>>>>> Depois se tiver um tempo, me fala como você faz o acesso do swriter ou
>>>>> scalc ao banco.
>>>>> Um banco bem modelado e feito direitinho com triggers e triggers
>>>>> disparando procedures pode funcionar sem um sistema e tô querendo
>>>>> demonstrar isso no futuro e explicar que o banco bem modelado pode
>>>>> funcionar sem um sistema complexo por trás.
>>>>>
>>>>> []´s
>>>>>
>>>>> Em qui., 27 de jul. de 2023 às 16:47, Mário Reis <
>>>>> mariodosreyx em gmail.com> escreveu:
>>>>>
>>>>>> Pois! Entendo o que diz. Por exemplo os meus usuários via swriter e
>>>>>> através de umas macros que ando a aperfeiçoar, em basic, acedem à tabela
>>>>>> clientes da m/ FDB.
>>>>>> Chamam um novo documento e ele valida user e pwd cria o documento
>>>>>> com. N⁰ único, referente e data e com um botão vai à tabela cliente e
>>>>>> carrega o endereço fiscal etc...o sequencial único é gerado à maneira
>>>>>> antiga, dis dois todos trás o último e acrescento +1 e gravo . Num pequeno
>>>>>> escritório está a funcionar e agora ninguém mais grava o documento novo em
>>>>>> cima do velho perdendo-o.
>>>>>> Mas aí entram todos como Leitor que só lê não faz mais nada.
>>>>>>
>>>>>> A quinta, 27/07/2023, 17:23, Gladiston Santana <
>>>>>> gladiston.santana em gmail.com> escreveu:
>>>>>>
>>>>>>> No caso de UDFs e SQL Functions é complicado saber quem irá usar ou
>>>>>>> não, como são objetos que apenas retornam dados então como política eu dou
>>>>>>> acesso a PUBLIC. Embora hoje, não uso mais UDFs.
>>>>>>> Acho que a prática mais eficiente para permissões é você criar uma
>>>>>>> role, digamos "ROLE_VENDAS" e aplicar os acessos que o sistema de vendas
>>>>>>> precisa ter a este role. Daí quem se logar usando o sistema de vendas
>>>>>>> identifica-se com user_name, password, database, host e enfim ocultamente
>>>>>>> dentro do seu programa você informa também a ROLE_VENDAS e obterá todos os
>>>>>>> acessos necessários. Daí é só ficar associando usuários do sistema de
>>>>>>> vendas a ROLE_VENDAS, é muito mais fácil gerenciar dessa forma ao invés de
>>>>>>> individualmente, até porque, um usuario mal intencionado pode praticar
>>>>>>> modificações por fora do sistema usando um excel da vida.
>>>>>>>
>>>>>>> De inicio, voce pode criar uma ROLE_ADMIN e dar um "grant all to
>>>>>>> all" nela e associar todos os usuarios a ela e logar-se no sistema sempre
>>>>>>> usando esta ROLE. Daí ninguem mais reclama de acesso e por fora do
>>>>>>> sistema(ex. excel) o usuario não terá acesso algum, a menos que
>>>>>>> voce forneça o nome da role para ele.
>>>>>>>
>>>>>>> inte+
>>>>>>>
>>>>>>>
>>>>>>> Em qui., 27 de jul. de 2023 às 07:41, Mário Reis <
>>>>>>> mariodosreyx em gmail.com> escreveu:
>>>>>>>
>>>>>>>> Gladiston um bom dia para você,
>>>>>>>> Não não causou qualquer erro, pelo contrário ao fazer to public os
>>>>>>>> outros usuários não ficavam autorizados e conferi várias vezes o
>>>>>>>> *commit*
>>>>>>>> Há uma possibilidade de haver algum bug na ferramenta que uso o EMS
>>>>>>>> Sql Manager. Tive que fazer um script "à lá mano" com editor de texto e
>>>>>>>> depois correr
>>>>>>>> GRANT EXECUTE ON FUNCTION UDF_YEAR TO PUBLIC, + lista;
>>>>>>>> Eu achei muito estranho, pois de acordo com a documentação é como
>>>>>>>> você diz. Já escrevi para eles, que validaram o erro e propõem-se corrigir
>>>>>>>> na próxima release.
>>>>>>>>
>>>>>>>>
>>>>>
>>>>> --
>>>>> Gladiston Santana
>>>>> Escritório: 4787-3122 Ramal 228
>>>>> Cel Tim/WhatsApp: (11)95144-8188
>>>>>
>>>>
>
> --
> Gladiston Santana
> Escritório: 4787-3122 Ramal 228
> Cel Tim/WhatsApp: (11)95144-8188
>


Mais detalhes sobre a lista de discussão lista