Atualizações do Harbour em 2021 até 10/04/2021

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Atualizações do Harbour em 2021 até 10/04/2021

Mensagem por Itamar M. Lins Jr. »

Olá!
Basicamente atualizações das bibliotecas SQL.
Detalhe para quem usa Firebird, foi adicionado um sétimo parâmetro para o COLLATE(Página de código)

Código: Selecionar todos

2021-04-10 23:32 UTC+0200 Aleksander Czajczynski (hb fki.pl)
  * contrib/hbfbird/firebird.c
    + added optional <cCollate> as 7-th parameter of FBCREATEDB( <cDB>,
       <cUser>, <cPass> <iPageSize>, <cCharSet>, <nDialect> [, <cCollate> ] )
      Based on request and example code from Ivanil Marcelino (#240)

  * contrib/hbpgsql/tpostgre.prg
    % var assignment readability

  * ChangeLog.txt
    ! corrected wrong date in prev entry

2021-04-02 20:37 UTC+0200 Aleksander Czajczynski (hb fki.pl)
  * contrib/hbpgsql/tpostgre.prg
    ! reverted previous commit 2021-04-01 15:55 UTC-0300 as invalid
      together with a little cleanup plus another minor cleanup

2021-04-01 15:55 UTC-0300 Marco Aurelio V (marcoprodata/at/gmail.com)
  * contrib/hbpgsql/tpostgre.prg
    ! corrected buggy in refresh method when execute commands to change
      struct 
      [REVERTED]

2021-03-31 23:43 UTC+0200 Aleksander Czajczynski (hb fki.pl)
  * contrib/hbpgsql/postgres.c
    ! guard PQEXECPARAMS() wrapper from generating unrecoverable error
      on empty parameter array "hb_xgrab requested to allocate zero bytes"

  * contrib/hbpgsql/tpostgre.prg
    ! corrected buggy parameter order in TPQserver():Query()

    * make TPQQuery, TPQRow classes more aware of NIL to NULL conversions,
      added support for inserting and updating empty xBase date value
      should fix issue #234, oRow:FieldPut( <n>, NIL ) also looks good

2021-03-31 21:26 UTC+0200 Aleksander Czajczynski (hb fki.pl)
  * contrib/hbpgsql/hbpgsql.hbx
  * contrib/hbpgsql/postgres.c
  * contrib/hbpgsql/postgres.ch
    + add most new wrappers from this repository of Petr Chornyj:
      https://github.com/petr-ch/hbpgsql9
      Version guards have been added and "params" functions reworked
      to accept hashes instead of two arrays. Other minor corrections
      to fit into the contrib env.
    + add PQsslAttribute()
    * some existing functions were modified to make the parameter
      check (and fail if wrong) even if the underlying API is not
      available, instead of silently returning a default value.
    ; all of the above was build-tested only and some features
      require at least postgresql 8, 9 or 9.1

    + add PQlibVersion() -> <nVersion> (returns 0 for pre-9.1 postresql versions)
      Ref: https://github.com/harbour/core/pull/127/ by @VerchenkoAG

    + PQEXECPARAMS(): add 4th parameter to set <resultFormat>
      Refs:
        https://www.postgresql.org/docs/9.1/sta ... -exec.html
        https://groups.google.com/d/msg/harbour ... DGLIiUAwAJ

    + add PQresStatus( <nNum> ) -> <cString>

    + added wrapper function
      PQresultErrorField( result, nFieldCode ) -> cString
      based on: https://groups.google.com/d/msg/harbour ... SL32fYpl4J
    + added PG_DIAG_* constants

    + added pg_encoding_to_char() wrapper to convert numeric
      encoding ID to string

    ! fixed to use hb_fopen() instead of fopen()

    + TPQserver():New(): all parameters are now optional
    ! TPQserver():New(): fixed to escape connect parameter values
    + TPQserver():New(): added 7th optional hash parameter to pass custom
      connection parameters (e.g. SSL)
         https://www.postgresql.org/docs/devel/s ... nnect.html

  * contrib/hbpgsql/tests/test.prg
    + use pg_encoding_to_char(), plus some more feedback regarding encodings

  * contrib/hbpgsql/tests/dbf2pg.prg
    + use VF IO
    + support more source field types

  ; synced with Viktor's 3.4 branch at https://github.com/vszakats/hb
    2017-02-15 15:14 UTC Viktor Szakats (vszakats users.noreply.github.com)
    2016-09-05 18:55 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-09-05 10:43 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-09-02 01:58 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2016-06-20 22:50 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2015-07-19 11:56 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2015-04-06 18:39 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2015-03-31 23:31 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2014-11-29 02:47 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
    2014-07-08 13:21 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
    2014-02-11 18:18 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
    ; tons of cleanups in this library, many thanks

2021-03-31 20:38 UTC+0200 Aleksander Czajczynski (hb fki.pl)
  * contrib/hbpgsql/hbpgsql.h
  * contrib/hbpgsql/postgres.c
  * contrib/hbpgsql/tpostgre.prg
    + recognize NAMEOID columns
    + added :SetNull( <lSet> ) to TPQServer class
      and a param to :Query( <cQuery>, [ <lNull> ] )
      TPQQuery class constructor is also extended.

      With :SetNull( .T. ) retains NULL information as NIL. Standard
      behaviour of hbpgsql library, until now, was to substitute NULL
      as blank xBase value - thus :SetNull( .F. ) is the default setting.

  ; changes imported from https://github.com/alcz/harbour
    2015-05-07 22:24 UTC+0200 Aleksander Czajczynski (hb fki.pl)

2021-01-26 18:27 UTC+0200 Oleksii Myronenko (m.oleksa ukr.net)
  * src/debug/dbgtarr.prg
  * src/debug/dbgthsh.prg
    ! fixed RTE when press enter in empty array or empty hash
      https://github.com/harbour/core/pull/225

2021-01-25 02:45 UTC+0100 Phil Krylov (phil a t newstar.rinet.ru)
  * contrib/hbct/dattime3.c
    ! Fixed building with glibc 2.31+ (stime() is no longer exported).

2020-11-03 10:37 UTC+0100 Aleksander Czajczynski (hb fki.pl)
  * src/rtl/arc4.c
    * updated to the current state of glibc, versions >= 2.30 have
      no sysctl(). Should fix build issues on current Linux distros
      like Fedora 33, etc.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Atualizações do Harbour em 2021 até 10/04/2021

Mensagem por alxsts »

Olá!

Parece que tem um novo colaborador no desenvolvimento: Aleksander Czajczynski. Bom trabalho!
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Atualizações do Harbour em 2021 até 10/04/2021

Mensagem por JoséQuintas »

Mais um pouco hoje, também puxando do 3.4

Código: Selecionar todos

2021-04-14 22:25 UTC+0200 Aleksander Czajczynski (hb fki.pl)

  + src/rtl/vfilehi.prg
  * src/rtl/Makefile
  * src/harbour.def
  * include/harbour.hbx
    + added FILE API counterparts to hb_DirBuild() and hb_FNameExists()
      hb_vfDirBuild( <cDir> ) -> <lSuccess>
      hb_vfDirUnbuild( <cDir> ) -> <lSuccess>
      hb_vfNameExists( <cName> ) -> <lExists>
    ; their implementations are imported from 3.4
      https://github.com/vszakats/hb/blob/master/src/rtl/hbfilehi.prg
      but were renamed to fit in the hb_vf* namespace

  * src/rtl/hbfilehi.prg
    * use hb_LeftEq() instead of Left() ==
    ; partial merge of 3.4
      2015-07-27 14:26 UTC+0200 Viktor Szakats
    ! fix several sloppy checks where Empty() were
      used on strings while in fact a zero length
      check would have been correct.
    ; Empty() is a "weasel-word" when used on strings,
      should be used carefully and sparingly.

  * ChangeLog.txt
    % avoid spaces before EOLs
Sei não sobre Empty()...
Empty() não testa apenas vazio, também vale pra Nil, e se trocar pra testar somente tamanho zero... vai dar erro quando Nil.
Não olhei qual foi a alteração, apenas veio o aviso dessa mudança.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Atualizações do Harbour em 2021 até 10/04/2021

Mensagem por JoséQuintas »

José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Atualizações do Harbour em 2021 até 10/04/2021

Mensagem por asimoes »

Daqui a pouco 3.2 vai ficar igual ou mais atualizado que o 3.4
é bom saber que ainda tem gente que se interessa em manter o projeto vivo
►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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Atualizações do Harbour em 2021 até 10/04/2021

Mensagem por Itamar M. Lins Jr. »

Olá!
Atualizei cedo aqui. Já com GCC 10.3

Código: Selecionar todos

itamar@itamar-desktop:~$ harbour -build
Harbour 3.2.0dev (r2104142025)
Copyright (c) 1999-2021, https://harbour.github.io/

Harbour Build Info
---------------------------
Version: Harbour 3.2.0dev (r2104142025)
Compiler: GNU C 10.3 (64-bit)
Platform: Linux 5.11.0-14-generic x86_64
PCode version: 0.3
ChangeLog last entry: 2021-04-14 22:25 UTC+0200 Aleksander Czajczynski (hb fki.pl)
ChangeLog ID: 4d1c9711984909f43129d0703750636589b4bed6
Built on: Apr 15 2021 03:40:37
Build options: (Clipper 5.3b) (Clipper 5.x undoc) 
Quero ver a resposta do Aleksander para o Viktor...
Vamos ver se eles se entendem e parte para as modificações mas profundas das funções do Harbour.
Se entendi bem a conversa e sobre ter essas duas variedades de funções agora no harbour.
if file() e if hb_vfExists() ou fopen e hb_vfopen ...
Pelo que entendi o harbour 32 e 34 chama internamente as novas funções hb_vf* quando usamos as antigas ou tradicionais funções.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Atualizações do Harbour em 2021 até 10/04/2021

Mensagem por JoséQuintas »

Itamar M. Lins Jr. escreveu:Pelo que entendi o harbour 32 e 34 chama internamente as novas funções hb_vf* quando usamos as antigas ou tradicionais funções.
Sim, e pelo que entendi há exceções aonde alguém ainda pode precisar do formato "antigo".
A alteração interna foi pra aonde era seguro fazer isso, porque ainda podem existir exceções.
E na situação atual, ou repete as novas funções, ou aproveita e já altera tudo, alertando sobre essas possíveis exceções.
Inclusive citou uma parte, que foi feita na alteração atual, mas que faltou no 3.4.

E o que me chamou a atenção foi que o Viktor está acompanhando as alterações, inclusive nas anteriores.

Talvez.... volte a ser um único Harbour, quem sabe....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Atualizações do Harbour em 2021 até 10/04/2021

Mensagem por Itamar M. Lins Jr. »

Olá!
Apenas mais uma coisa.
Se entendi direito as funções hb_vf* podem ser usadas via TCP(rede) coisa que as outras funções não podem.
If hb_vfexists("\...") isso sem precisar mapear rede.
Antigamente usávamos "run net use..." if file("f:\xxx.xxx")

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Atualizações do Harbour em 2021 até 10/04/2021

Mensagem por JoséQuintas »

Itamar M. Lins Jr. escreveu:If hb_vfexists("\...") isso sem precisar mapear rede.
Antigamente usávamos "run net use..." if file("f:\xxx.xxx")
Uso aquele EXE intermediário, que busca a versão mais atual do aplicativo.
Usei pra eliminar BAT, e com essas mudanças internas, funciona normalmente sem mapeamento.
Isso elimina qualquer configuração extra, basta estar compartilhado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder