Greyhound is a tiny ORM-ish for Free Pascal.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
contributed/jbsolucoes/ghPool Create ghPool.pas May 17, 2013
examples JSON Adapt optimization Sep 23, 2013
packages Start 0.2.0 Oct 17, 2013
src Fixed to FPC 2.6.5 Apr 25, 2014
test Clean up Jan 28, 2014
.gitignore Clean up Jan 1, 2014
AUTHORS.txt Cleanup. Nov 23, 2012
CHANGELOG.txt Links: auto scroll Oct 6, 2013
LGPL.2.1.txt The runtime package was created Nov 21, 2012
LICENSE.txt Clean up Nov 21, 2012
README.markdown Clean up Jan 1, 2014

README.markdown

#Greyhound

Greyhound is a tiny ORM-ish for Free Pascal.

It is fast, clean and simple to use.

program t1;
{$mode objfpc}{$H+}
uses
  SysUtils, ghSQL, ghSQLdbLib;
var
  Co: TghSQLConnector;
begin
  Co := TghSQLConnector.Create(TghSQLite3Lib);
  try
    Co.Database := 'DB.sqlite';
    with Co.Tables['compilers'] do
	begin
      Select('*').Where('lang = :lang');
	  Params['lang'].AsString := 'pascal';
	  Open;
      Append;
      Columns['name'].AsString := 'FPC';
      Columns['description'].AsString := 'FreePascal Compiler';
      Commit;
	end;
  finally
    Co.Free;
  end;
  writeln('Done.');

end.

##Features

  • It will help you with a thin layer to read/write data in a DBMS, but don't trying to simulate a pure object model;
  • It use SQL as query language and does not try to create a complex abstraction between objects and tables;
  • It implements relationship between tables using "Links" property (1-n, n-1, m-n... whatever you want);
  • It implements constraints for tables (default, check and unique);
  • It was inspired in ActiveRecord pattern;
  • It allows developers to have greater control of SQL rather than relying on the framework to generate it automatically;
  • It has easy transaction support;
  • It has the ability to add support for other databases libraries like SQLdb (default), ZEOS or whatever you want;
  • It works with IDENTITY columns (AutoInc) automatic and Sequence values (generators);

##System requirements Greyhound requires Free Pascal 2.6.2 or newer.

##Who uses?