Dado
Facilidades sobre a LuaSQL
english·português

Visão Geral

Dado é um pacote que oferece facilidades implementadas sobre objetos de conexão da LuaSQL. Seus principais objetivos são:

  • mensagens de erro melhores,
  • iteradores para acessar os resultados, e
  • mais homogeneidade em algumas operações comumente usadas sobre bancos de dados.

Dado é software livre e usa a mesma licença de Lua.

Abstrações sobre objetos

O pacote também contém um módulo de objetos que provê um meio de definir classes e objetos que representem linhas de tabelas do banco com um esforço mínimo. Dado não impõe um sistema de classes, ele sugere apenas um esquema com herança simples:

  • objetos com recuperação automática de atributos do banco de dados
  • métodos diferentes para a criação de objetos e para a definição de classes

O mecanismo default usa classes para representar tabelas do banco e instâncias para representar linhas de tabelas do banco. Entretanto é fácil definir atributos que não sejam relacionados com colunas de tabelas, ou classes que não sejam relacionadas com tabelas únicas.

Status

A versão atual é a 1.5.2. Ela foi desenvolvida para Lua 5.1 e Lua 5.2.

Download

Dado pode ser obtida de sua própria página.

Instalação

Dado é um conjunto de módulos para Lua 5 (compatível com todas as versões de Lua 5.X) que deve ser instalado no seu LUA_PATH, respeitando a estrutura de diretórios da pasta src do arquivo de distribuição.

LuaRocks pode ser usado para instalar o pacote, já que este é também distribuído como um rock.

Manual

Não há um manual de referência. A API é documentada através do LDoc e só está disponível em inglês.

Histórico

  • [15/oct/2013] Lançamento da versão 1.5.2
    Correção de bug na função sql.quote: ela não coloca aspas em strings formadas por parênteses duplos balanceados, como ((NULL)) ou ((select col from tab where cond)); ela não coloca aspas em números (embora coloque aspas em strings contendo números)
  • [4/oct/2013] Lançamento da versão 1.5.1
    • sql.escape agora segue estritamente o padrão SQL: não tenta mais escapar qualquer coisa, apenas o delimitador de strings '; além disso, não remove três caracteres especiais: TAB (\t ou \9), LINE FEED (\n ou \10) e CARRIAGE RETURN (\r ou \13)
    • sql.quote NÃO coloca aspas em números (embora coloque aspas em strings que contenham dígitos, como '12') NEM em strings formadas por parêntesis balanceados dentro dos quais exista: apenas um identificador (sem dígitos); ou uma string contendo 'select' como substring
    • sql.insert passa a aceitar uma única string como argumento, contendo todo o comando SQL (exceto as duas primeira palavras: insert into)
  • [23/jan/2013] Lançamento da versão 1.4.3
    Melhoria na função sql.escape: caracteres com códigos < 32 passam a ser removidos, para evitar problemas na geração de SQL
  • [13/nov/2012] Lançamento da versão 1.4.2
    • Reimplementação para tornar-se compatível com Lua 5.2.
    • Melhoria na função sql.escape: terceiro parâmetro passa a ser um padrão de substituição
  • [06/jun/2011] Lançamento da versão 1.4
    Limpeza de funções não usadas: arraytorecord, invert, copyto e cycle do módulo table.extra e o módulo string.extra completamente
  • [14/dez/2010] Lançamento da versão 1.3.1
    Correção de bug na função sql.quote: não estava colocando aspas em strings que começam e terminam com parênteses que não casam
  • [06/ago/2010] Lançamento da versão 1.3.0
  • [10/jun/2010] Lançamento da versão 1.2.0
    • Acréscimo da função de conveniência sql.AND
    • Acréscimo de documentação em português
  • [05/out/2009] Lançamento da versão 1.1.0
  • [29/set/2009] Lançamento da versão 1.0.1
    Correção de bug na função sql.quote
  • [20/abr/2008] Lançamento da versão 1.0

Créditos

Dado foi projetada por Tomás Guisasola e Eduardo Quintão com muitas contribuições importantes de Pedro Maia, Roberto Ierusalimschy, André Carregal, Raphael Pithan, Maurício Bonfim e Carla Ourofino. O logo foi criado por Carla Ourofino.

Dado foi desenvolvida para a PUC-Rio que detém o copyright. Foi implementada por Tomás Guisasola.

Fale conosco

Para maiores informações: fale conosco. Comentários são bem vindos!

Valid XHTML 1.0!

$Id: index.html,v 1.18 2013-10-15 19:25:08 tomas Exp $