Eu estava lendo um tópico sobre a extensão geoespacial do Presto nesta edição do Github , onde uma função line_locate_point
foi introduzida. Foi baseado na ST_LineLocatePoint
função do PostGIS , que retorna um ponto flutuante representando a fração ao longo de uma linha do ponto mais próximo dessa linha para um determinado local.
A questão foi levantada por que foi nomeado line_locate_point
e não ST_LineLocatePoint
como a versão PostGIS. A resposta foi que essa função não existe no padrão SQL / MM Parte 3 e, portanto, não deve ser iniciada ST_
.
Lendo rapidamente o padrão, não vejo comentários sobre como lidar com casos em que você introduz uma função espacial no banco de dados que não está no padrão. O espírito do ST_
prefixo é diferenciar funções espaciais de funções não espaciais (como parece ser o caso do PostGIS) ou indica que a função está em conformidade com uma função equivalente na Parte 3 do SQL / MM?
Observando o estado atual da API do Presto , devo dizer que a última abordagem parece menos limpa e introduz alguma confusão sobre o motivo dos nomes não serem consistentes, mas talvez isso possa ser resolvido com uma simples observação no topo.
Minha pergunta, então, é se existe algum aspecto do padrão que estou ignorando que permite extensões além do conjunto definido de objetos espaciais ou, alternativamente, se isso é expressamente proibido por alguma regra escrita ou não escrita dos seguintes padrões .