MariaDb 10.5

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

Moderador: Moderadores

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

MariaDb 10.5

Mensagem por asimoes »

Novo release do MariaDb, com muitas novidades interessantes
https://mariadb.com/docs/release-notes/ ... -cs-10-5-4
►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

MariaDb 10.5

Mensagem por Itamar M. Lins Jr. »

Ola!
Isso é bom para quem usa alguma linguagem com IDE, tipo Lazarus...
Para nós harboreanos é sempre cada um por si. Se precisar adicionar algum parâmetro no drive do Harbour para usar essas funcionalidades, quem é que vai fazer ?
Tá froids...

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

MariaDb 10.5

Mensagem por JoséQuintas »

Sei lá se não tô entendendo as mudanças, mas me pareceram correções.
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

MariaDb 10.5

Mensagem por asimoes »

Tem novidade sim, uma é retornar o rowid quando faz um insert

INSERT ... RETURNING

É só olhar o changelog

Código: Selecionar todos

DELIMITER |
CREATE FUNCTION f(arg INT) RETURNS INT
    BEGIN
       RETURN (SELECT arg+arg);
    END|

DELIMITER ;

PREPARE stmt FROM "INSERT INTO t1 SET id1=1, animal1='Bear' RETURNING f(id1), UPPER(animal1)";

EXECUTE stmt;
+---------+----------------+
| f(id1)  | UPPER(animal1) |
+---------+----------------+
|       2 | BEAR           |
+---------+----------------+
►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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MariaDb 10.5

Mensagem por asimoes »

Itamar M. Lins Jr. escreveu:Ola!
Isso é bom para quem usa alguma linguagem com IDE, tipo Lazarus...
Para nós harboreanos é sempre cada um por si. Se precisar adicionar algum parâmetro no drive do Harbour para usar essas funcionalidades, quem é que vai fazer ?
Tá froids...
Ué, tá na documentação, além do changelog

https://mariadb.com/docs/reference/cs10 ... statements
►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)
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

MariaDb 10.5

Mensagem por Fernando queiroz »

asimoes escreveu:Tem novidade sim, uma é retornar o rowid quando faz um insert

INSERT ... RETURNING

É só olhar o changelog

Código: Selecionar todos

DELIMITER |
CREATE FUNCTION f(arg INT) RETURNS INT
    BEGIN
       RETURN (SELECT arg+arg);
    END|

DELIMITER ;

PREPARE stmt FROM "INSERT INTO t1 SET id1=1, animal1='Bear' RETURNING f(id1), UPPER(animal1)";

EXECUTE stmt;
+---------+----------------+
| f(id1)  | UPPER(animal1) |
+---------+----------------+
|       2 | BEAR           |
+---------+----------------+

EU utilizava assim , mas dessa forma ja traz o retorno no mesmo comando

oServer:Execute(cQuery1+cQuery2)
oQuery1:=oServer:Execute("SELECT LAST_INSERT_ID()")
oQuery1:Fields( "LAST_INSERT_ID()" ):Value
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MariaDb 10.5

Mensagem por JoséQuintas »

Eu coloquei na minha classe:

Código: Selecionar todos

   ::ExecuteCmd( cSQL )
   Rs := ::ExecuteCmd( "SELECT LAST_INSERT_ID()" )
   nValue := Rs:Fields( 0 ):Value
   IF ValType( nValue ) == NIL
      nValue := 1
   ENDIF
   Rs:Close()
No uso:

:QueryCreate()
:QueryAdd( "campo", valor )
:QueryAdd( "campo", valor )
nId := :QueryExecuteInsert( "tabela" )
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

MariaDb 10.5

Mensagem por asimoes »

JoséQuintas escreveu:Eu coloquei na minha classe:
Agora tem sintaxe nova com essa finalidade no select, e com a vantagem de retornar mais de uma coluna
►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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MariaDb 10.5

Mensagem por asimoes »

►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)
Responder