The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Doodle::Grammar

ABSTRACT

Doodle Grammar Base Class

SYNOPSIS

  use Doodle::Grammar;

  my $self = Doodle::Grammar->new(%args);

DESCRIPTION

Doodle::Grammar determines how Command classes should be interpreted to produce the correct DDL statements.

METHODS

This package implements the following methods.

create_column

  create_column(Command $command) : Str

Generate SQL statement for column-create Command.

create_column example
  my $create_column = $self->create_column;

create_constraint

  create_constraint(Column $column) : Str

Returns the SQL statement for the create constraint command.

create_constraint example
  $self->create_constraint($column);

  # 

create_index

  create_index(Command $command) : Str

Generate SQL statement for index-create Command.

create_index example
  my $create_index = $self->create_index;

create_schema

  create_schema(Command $command) : Str

Generate SQL statement for schema-create Command.

create_schema example
  my $create_schema = $self->create_schema;

create_table

  create_table(Command $command) : Str

Generate SQL statement for table-create Command.

create_table example
  my $create_table = $self->create_table;

delete_column

  delete_column(Command $command) : Str

Generate SQL statement for column-delete Command.

delete_column example
  my $delete_column = $self->delete_column;

delete_constraint

  delete_constraint(Column $column) : Str

Returns the SQL statement for the delete constraint command.

delete_constraint example
  $self->delete_constraint($column);

  # 

delete_index

  delete_index(Command $command) : Str

Generate SQL statement for index-delete Command.

delete_index example
  my $delete_index = $self->delete_index;

delete_schema

  delete_schema(Command $command) : Str

Generate SQL statement for schema-delete Command.

delete_schema example
  my $delete_schema = $self->delete_schema;

delete_table

  delete_table(Command $command) : Str

Generate SQL statement for table-delete Command.

delete_table example
  my $delete_table = $self->delete_table;

exception

  exception(Str $message) : ()

Throws an exception using Carp confess.

exception example
  $self->exception($message);

execute

  execute(Command $command) : Statement

Processed the Command and returns a Statement object.

execute example
  my $statement = $self->execute($command);

rename_column

  rename_column(Command $command) : Str

Generate SQL statement for column-rename Command.

rename_column example
  my $rename_column = $self->rename_column;

rename_table

  rename_table(Command $command) : Str

Generate SQL statement for table-rename Command.

rename_table example
  my $rename_table = $self->rename_table;

render

  render(Command $command) : Str

Returns the SQL statement for the given Command.

render example
  my $sql = $self->render($command);

update_column

  update_column(Any @args) : Object

Generate SQL statement for column-update Command.

update_column example
  my $update_column = $self->update_column;