Pular para o conteúdo principal

Configuração e constantes

Referência operacional derivada do repositório: manifesto Boss, tipo de driver e condicionais de compilação. Não substitui a leitura do código em Source/Core/ quando o comportamento for ambíguo.

Pacote Boss

CampoValor (raiz do repositório)
Nome do pacoteFluentSQL
Instalação em projeto consumidorboss install FluentSQL
Caminho das units (mainsrc)./Source

Versão publicada no manifesto: ver boss.json na raiz do repositório.

Constante de dialeto (CreateFluentSQL / TCQ)

O primeiro argumento da fábrica é do tipo TFluentSQLDriver, definido em FluentSQL.Interfaces.pas:

ConstanteUso típico
dbnMSSQLMicrosoft SQL Server
dbnMySQLMySQL
dbnFirebirdFirebird
dbnSQLiteSQLite
dbnInterbaseInterBase
dbnDB2IBM DB2
dbnOracleOracle
dbnInformixInformix
dbnPostgreSQLPostgreSQL
dbnADSAdvantage Database Server
dbnASASQL Anywhere (ASA)
dbnAbsoluteDBAbsolute Database
dbnMongoDBSerialização orientada a MQL (estado do driver conforme roadmap)
dbnElevateDBElevateDB
dbnNexusDBNexusDB

O registo concreto de serializadores, Select e funções por dialeto ocorre em FluentSQL.Register.pas (nem todo dialeto da enum precisa estar ativo na sua build).

Search path (Delphi / Lazarus)

Inclua no path do projeto, no mínimo:

  • Source/Core/
  • Source/Drivers/ (ou apenas os drivers que você compila)

Quando usar Boss como dependência, o gestor costuma ajustar caminhos conforme a configuração do seu projeto pai.

Compilação condicional e registo de drivers

Alguns drivers só entram no registo global se o símbolo correto estiver definido antes da cadeia de uses que carrega o núcleo (por exemplo {$DEFINE MSSQL}, ORACLE, DB2, INTERBASE, conforme o seu .dpr e FluentSQL.Register).

Se em runtime aparecer erro de select do dialeto não registrado, veja Erros comuns e a issue #14.

API pública vs nomes legados

UseEvite (legado)
CreateFluentSQL(dbn…) ou TCQ(dbn…)CQuery, TCQL.New
uses FluentSQL, FluentSQL.Interfacesuses CQL, CQL.Interfaces
Pacote Boss FluentSQLCQuery4D, nomes antigos do ecossistema

Tabela de migração: CHANGELOG.md, entrada [1.0.0].

Cache Distribuído (Redis)

O FluentSQL suporta cache de strings SQL para evitar serializações repetitivas. A configuração é feita através da injeção de um provedor que implemente IFluentSQLCacheProvider (FluentSQL.Cache.Interfaces.pas).

O provedor padrão Redis (TFluentSQLRedisCacheProvider em FluentSQL.Cache.Redis.pas) requer uma função de execução de comandos compatível com o seu driver Redis.

MétodoFinalidadePadrão
.WithCache(AProvider)Ativa o cache para a instância da query.nil (desativado)
.WithTTL(ASeconds)Define o tempo de vida da entrada no cache.3600 (1 hora)

Constraints e Chaves Estrangeiras (DDL)

A partir da v1.2.0, o builder DDL suporta metadados estendidos:

  • Primary Key: .PrimaryKey (define chave primária).
  • Not Null: .NotNull (obrigatoriedade).
  • Default Value: .DefaultValue(AValue) (valor padrão).
  • Chaves Estrangeiras: .References(ATable, AColumn) (vínculo com outra tabela).

Variáveis de ambiente

Não há variáveis de ambiente obrigatórias documentadas para o uso da biblioteca em tempo de compilação ou runtime.