[firebase-br] Revoke do PUBLIC

Gladiston Santana gladiston.santana em gmail.com
Segunda Agosto 7 17:38:43 -03 2023


É estranho porque aqui compilou, infelizmente a lista não permite anexar
imagens senão lhe mostraria.
Por via das dúvidas, eu copiei e colei de volta, as vezes o plugin que
mostra o código troca certos caracteres por tags e isso pode passar
despercebido.
Então copie e cole de volta no seu firebird.

Mas a intenção é que ao olhar o codigo:
https://gladiston.net.br/banco-de-dados/arredondamento-do-tipo-abnt/

você possa ver a forma como eu arredondo usando cast e depois personalizo
com GET_ROUND_AS_ABNT.



Em sáb., 5 de ago. de 2023 às 09:23, Mário Reis <mariodosreyx em gmail.com>
escreveu:

> 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
>>
>

-- 
Gladiston Santana
Escritório: 4787-3122 Ramal 228
Cel Tim/WhatsApp: (11)95144-8188


Mais detalhes sobre a lista de discussão lista