Skip to content

Tyil/perl6-SQL-QueryBuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

6 Commits

Repository files navigation

SQL::QueryBuilder

Interfaces defined

There are different interfaces for each type of query. Each of these interfaces have at least a Str sub defined, which is the sub used to convert the object into the actual query. These queries can in turn be used with a database interfacing module, such as DBIish.

SQL::QueryBuilder::Abstract::Use

subdb(Str:D$database-->self)

SQL::QueryBuilder::Abstract::Insert

subinto(Str:D$table-->self) subrecord(Any:D%record-->self) subrecords(Hash:D@records-->self)

SQL::QueryBuilder::Abstract::Select

subfrom(Str:D$table-->self) subselect(Str:D$column-->self) subselect(Str:D*@columns-->self) subselect-as(Pair:D$column-->self) subselect-as(Pair:D*@columns-->self) subwhere(Str:D$column, Any:D$value-->self) subwhere(Str:D$column, Str:D$check, Any:D$value-->self) suborder-by(Str:D$column, Str:D$direction="ASC"-->self) subskip(Int:D$amount-->self) subtake(Int:D$amount-->self)

SQL::QueryBuilder::Abstract::Update

subtable(Str:D$table-->self) subset(Str:D$column, Any:D$value-->self) subset(Pair:D*@records-->self) subset(Any:D%record-->self) subwhere(Str:D$column, Any:D$value-->self) subwhere(Str:D$column, Str:D$check, Any:D$value-->self)

SQL::QueryBuilder::Abstract::Delete

subfrom(Str:D$table-->self) subwhere(Str:D$column, Any:D$value-->self) subwhere(Str:D$column, Str:D$check, Any:D$value-->self)

SQL::QueryBuilder::Abstract::CreateTable

subname(Str:D$table-->self) subprimary-key(Str:D$column-->self) # Column typessubstr(Str:D$name, Int:D:$length=50, Bool:D:$nullable=False, Str:$default-->self) subint(Str:D$name, Bool:D:$nullable=False, Int:$default-->self) subuint(Str:D$name, Bool:D:$nullable=False, Int:$default-->self) subfloat(Str:D$name, Bool:D:$nullable=False, Num:$default-->self) subdate(Str:D$name, Bool:D:$nullable=False, Date:$default-->self)

SQL::QueryBuilder::Abstract::DropTable

subname(Str:D$table-->self)

License

This module is distributed under the terms of the LGPL version 3.0. See the LICENSE file in this repository for more details.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Other100.0%