LetoDB - Set Scope não está funcionando.

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

LetoDB - Set Scope não está funcionando.

Mensagem por alaminojunior »

Tenho um dbf indexado da seguinte forma:

Código: Selecionar todos

index on descend(dtos(pgrvnc)) tag indpgr02 to indpgr
e depois numa rotina de relatório eu faço o escopo:

Código: Selecionar todos

ordscope(0,descend(dtos(fin)))
ordscope(1,descend(dtos(ini)))
Se utilizar DBFCDX os dados são relacionados corretamente obedecendo o escopo solicitado. Se optar por LetoDB, o escopo é desobedecido, trazendo registros fora do escopo.
Pergunto: existe alguma incompatibilidade entre o LetoDB e funções do tipo ? (Descend, Dtos, etc ...)
Encontrei nos fontes do LetoDB funções como Leto_SetScope() e Leto_Scope(), porém não conseguí decifrar seus parâmetros.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: LetoDB - Set Scope não está funcionando.

Mensagem por asimoes »

Olá Alamino,

Você chegou a testar Leto_SetScope() e Leto_Scope()?

[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: LetoDB - Set Scope não está funcionando.

Mensagem por sygecom »

Olá Alamino,
Tente assim:

Código: Selecionar todos

#include "DbInfo.ch"

nCODFOR:=222 // codigo do fornecedor que desejo filtrar
Filtro:
dbOrerInfo(DBOI_SCOPETOP, nCODFOR)
dbOrerInfo(DBOI_SCOPEBOTTOM,nCODFOR)
Limpa Filtro:

Código: Selecionar todos

dbOrerInfo(DBOI_SCOPETOPCLEAR)
dbOrerInfo(DBOI_SCOPEBOTTOMCLEAR)
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: LetoDB - Set Scope não está funcionando.

Mensagem por alaminojunior »

Asimões, a princípio não testei pois não entendí muito bem a função e seus parâmetros. Mas seguindo sua sugestão, incluí as chamadas no lugar de ordscope(), e retornaram erros na compilação, alegando falta da referida função. Acredito que estas funções são usadas internamente pela própria lib, sei lá.
Vamos aguardar para ver se mais alguém tem alguma sugestão.
Por hora, muito obrigado.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: LetoDB - Set Scope não está funcionando.

Mensagem por alaminojunior »

Então Leo, tentei conforme você sugeriu, mas a menos que eu esteja fazendo errado, não deu certo. Diría até que piorou ... hehehehe.
Antes o escopo era desrespeitado em alguns dias, agora desrespeitou até o ano.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: LetoDB - Set Scope não está funcionando.

Mensagem por sygecom »

Pelo que vi essas funções estão no lado servidor(source/server/), ou seja, quem executa é o proprio LetoDb. Temos que se ater apenas a FUNCTION do lado cliente, ou seja tudo que está em:
source/client/
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: LetoDB - Set Scope não está funcionando.

Mensagem por sygecom »

alaminojunior escreveu:Então Leo, tentei conforme você sugeriu, mas a menos que eu esteja fazendo errado, não deu certo. Diría até que piorou ... hehehehe.
Antes o escopo era desrespeitado em alguns dias, agora desrespeitou até o ano.
Buenas Dr.
Então temos um BUG ai, temos que reportar um exemplo para o Pai da criança(Alexander) resolver. Qual versão do xHarbour e do LetoDB você está usando ?
E post um exemplo de como está usando para tentar reproduzir o erro aqui.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: LetoDB - Set Scope não está funcionando.

Mensagem por alaminojunior »

Qual versão do xHarbour e do LetoDB você está usando ?
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633) (free.xHarbour.com)
Borland C++ 5.82 for Win32 Copyright (c) 1993, 2005 Borland
LetoDB v0.95 (peguei no Manage.exe)


O índice é criado:

Código: Selecionar todos

index on descend(dtos(pgrvnc)) tag indpgr02 to indpgr
este campo pgrvnc é tipo DATA, óbvio.
se visualizar com:

Código: Selecionar todos

ordscope(0,descend(dtos(fin)))
ordscope(1,descend(dtos(ini)))
o escopo não é obedecido, inclui alguns dias do mês
se for com:

Código: Selecionar todos

dbOrderInfo(DBOI_SCOPETOP,descend(dtos(fin)))
dbOrderInfo(DBOI_SCOPEBOTTOM,descend(dtos(ini)))
Pega todos os registros do dbf.


letodb.ini
[MAIN]
Port = 2812
DataPath = \alamino
Logfile = "letodb.log"
Default_Driver = CDX
Lower_Path = 0
EnableFileFunc = 1
EnableAnyExt = 1
Pass_for_Login = 0
Pass_for_Manage = 0
Pass_for_Data = 0
Crypt_Traffic = 1
cdpgr000.txt
Arquivo DBF em questão. É um .rar renomeado para .txt
(18.32 KiB) Baixado 142 vezes
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: LetoDB - Set Scope não está funcionando.

Mensagem por sygecom »

Alamino,
Faça um teste ai para nós.

Crie o indice assim:

Código: Selecionar todos

index on pgrvnc tag indpgr02 to indpgr
Filtro assim:

Código: Selecionar todos

ordscope(0,fin)
ordscope(1,ini)
ORDDESCEND(,, .T.)
E nos diga o que aconteceu.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: LetoDB - Set Scope não está funcionando.

Mensagem por alaminojunior »

Dessa maneira aí funcionou certinho ! Inclusive testei também com apenas o Dtos().
Deve ser alguma incompatibilidade com a Descend().
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: LetoDB - Set Scope não está funcionando.

Mensagem por sygecom »

Exato, o problema é nos indice com funções como Descend() ou talvez com funções particulares, eu desde o clipper evitava o uso de funções em INDICE, mas não quer dizer que não tenha que funcionar, vamos postar o problema no Forum do LetoDB do SoureForge.net
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: LetoDB - Set Scope não está funcionando.

Mensagem por sygecom »

Postei lá, espero que algum desenvolvedor possa testar, e já migrar o projeto para SVN. Vamos aguardar.
https://sourceforge.net/projects/letodb ... ic/4094802
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: LetoDB - Set Scope não está funcionando.

Mensagem por alaminojunior »

Eu ví lá.
Vamos aguardar.
Por hora, obrigado mais uma vez.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: LetoDB - Set Scope não está funcionando.

Mensagem por alxsts »

Olá!

Talvez eu esteja "falando" besteira mas, nos tempos do Clipper, tinhamos que colocar o famoso REQUEST Descend no programa de indexação de arquivos. Como será que o Harbour se comporta com respeito a isto? Creio que seja da mesma forma. Na hora de indexar ele trá que encontrar a função em algum lugar para executar a string de indexação.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: LetoDB - Set Scope não está funcionando.

Mensagem por sygecom »

Olá Alexandre,
Bem lembrado !
Só resta nosso colega Alamino testar se for possível.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder