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çãosql.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 substringsql.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çãosql.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
ecycle
do módulotable.extra
e o módulostring.extra
completamente - [14/dez/2010] Lançamento da versão 1.3.1
Correção de bug na funçãosql.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
- Acréscimo da função de conveniência
sql.isinteger
- Acréscimo da função de depuração
table.extra.pfullconcat
- Mudança na hospedagem
- Acréscimo da função de conveniência
- [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
- Acréscimo da função de conveniência
- [05/out/2009] Lançamento da versão 1.1.0
- Acréscimo da função
wrap_connection
- Remoção da biblioteca
check
- Implantação via LuaRocks
- Acréscimo da função
- [29/set/2009] Lançamento da versão 1.0.1
Correção de bug na funçãosql.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!