},
as => {
type => 'Identifier',
- element1 => 'time',
+ args => [ 'time' ],
},
},
],
type => 'Alias',
value => {
type => 'Identifier',
- element1 => 'dual',
+ args => [ 'dual' ],
},
as => {
type => 'Identifier',
- element1 => 'duality',
+ args => [ 'duality' ],
},
},
}
args => [
{
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
{
type => 'Identifier',
- element1 => 'bar',
+ args => [ 'bar' ],
},
],
on => {
op => '=',
args => [
{
- type => 'Identifier',
- element1 => 'foo',
- element2 => 'col1',
+ type => 'Identifier',
+ args => [ 'foo', 'col1' ],
},
{
- type => 'Identifier',
- element1 => 'bar',
- element2 => 'col2',
+ type => 'Identifier',
+ args => [ 'bar', 'col2' ],
},
],
},
ast_version => 0.0001,
select => [
{
- type => 'Identifier',
- element1 => '*',
+ type => 'Identifier',
+ args => [ '*' ],
},
],
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
where => {
type => 'Operator',
op => '=',
args => [
{
- type => 'Identifier',
- element1 => 'name',
+ type => 'Identifier',
+ args => [ 'name' ],
},
{
- type => 'Value',
- subtype => 'String',
- element1 => 'John',
+ type => 'Value',
+ subtype => 'String',
+ value => 'John',
},
],
},
op => 'COUNT',
args => [
{
- type => 'Identifier',
- element1 => '*',
+ type => 'Identifier',
+ args => [ '*' ],
},
],
},
],
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
where => {
type => 'Operator',
op => '=',
args => [
{
- type => 'Identifier',
- element1 => 'name',
+ type => 'Identifier',
+ args => [ 'name' ],
},
{
- type => 'Value',
- subtype => 'String',
- element1 => 'John',
+ type => 'Value',
+ subtype => 'String',
+ value => 'John',
},
],
},
op => '=',
args => [
{
- type => 'Identifier',
- element1 => 'title',
+ type => 'Identifier',
+ args => [ 'title' ],
},
{
- type => 'Value',
- subtype => 'String',
- element1 => 'Mr',
+ type => 'Value',
+ subtype => 'String',
+ value => 'Mr',
},
],
},
op => '=',
args => [
{
- type => 'Identifier',
- element1 => 'abbrev',
+ type => 'Identifier',
+ args => [ 'abbrev' ],
},
{
- type => 'Value',
- subtype => 'String',
- element1 => 'Dr',
+ type => 'Value',
+ subtype => 'String',
+ vaue => 'Dr',
},
],
},
op => 'DISTINCT',
args => [
{
- type => 'Identifier',
- element1 => '*',
+ type => 'Identifier',
+ args => [ '*' ],
},
],
},
],
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
where => {
type => 'Operator',
op => '=',
args => [
{
- type => 'Identifier',
- element1 => 'name',
+ type => 'Identifier',
+ args => [ 'name' ],
},
{
- type => 'Value',
- subtype => 'String',
- element1 => 'John',
+ type => 'Value',
+ subtype => 'String',
+ value => 'John',
},
],
},
op => '=',
args => [
{
- type => 'Identifier',
- element1 => 'title',
+ type => 'Identifier',
+ args => [ 'title' ],
},
{
- type => 'Value',
- subtype => 'String',
- element1 => 'Mr',
+ type => 'Value',
+ subtype => 'String',
+ value => 'Mr',
},
],
},
op => '=',
args => [
{
- type => 'Identifier',
- element1 => 'abbrev',
+ type => 'Identifier',
+ args => [ 'abbrev' ],
},
{
type => 'Value',
subtype => 'String',
- element1 => 'Dr',
+ value => 'Dr',
},
],
},
select => [
{
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
{
type => 'Identifier',
},
{
type => 'Identifier',
- element1 => 'baz',
+ args => [ 'baz' ],
},
],
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
orderby => [
{
type => 'OrderbyComponent',
value => {
type => 'Identifier',
- element1 => 'bar',
+ args => [ 'bar' ],
},
dir => 'ASC',
},
type => 'OrderbyComponent',
value => {
type => 'Identifier',
- element1 => 'baz',
+ args => [ 'baz' ],
},
dir => 'DESC',
},
select => [
{
type => 'Identifier',
- element1 => '*',
+ args => [ '*' ],
},
],
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
value => {
type => 'select',
ast_version => 0.0001,
},
as => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
},
}
ast_version => 0.0001,
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
set => [
[
{
type => 'Identifier,
- element1 => 'col1',
+ args => [ 'col1' ],
},
{
type => 'Identifier,
- element1 => 'col2',
+ args => [ 'col2' ],
},
],
[
ast_version => 0.0001,
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
set => [
[
{
type => 'Identifier,
- element1 => 'col1',
+ args => [ 'col1' ],
},
{
type => 'Identifier,
- element1 => 'col2',
+ args => [ 'col2' ],
},
],
[
ast_version => 0.0001,
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
set => [
[
{
type => 'Identifier,
- element1 => 'col1',
+ args => [ 'col1' ],
},
],
[
ast_version => 0.0001,
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
set => [
[
{
type => 'Identifier,
- element1 => 'col1',
+ args => [ 'col1' ],
},
{
type => 'Identifier,
- element1 => 'col2',
+ args => [ 'col2' ],
},
],
[
ast_version => 0.0001,
tables => {
type => 'Identifier',
- element1 => 'foo',
+ args => [ 'foo' ],
},
where => {
type => 'Operator',
op => '=',
args => [
{
- type => 'Identifier',
- element1 => 'col1',
+ type => 'Identifier',
+ args => [ 'col1' ],
},
{
- type => 'Value',
- subtype => 'Number',
- value => 10,
+ type => 'Value',
+ subtype => 'Number',
+ value => 10,
},
],
},
}
+=item * INSERT INTO foo ( col1, col2 ) SELECT col1, col2 FROM bar;
+
+ {
+ type => 'insert',
+ ast_version => 0.0001,
+ tables => {
+ type => 'Identifier',
+ args => [ 'foo' ],
+ },
+ set => [
+ [
+ {
+ type => 'Identifier,
+ args => [ 'col1' ],
+ },
+ {
+ type => 'Identifier,
+ args => [ 'col2' ],
+ },
+ ],
+ [
+ {
+ type => 'select',
+ ast_version => 0.0001,
+ select => [
+ {
+ type => 'Identifier',
+ args => [ 'col1' ],
+ },
+ {
+ type => 'Identifier',
+ args => [ 'col2' ],
+ },
+ ],
+ tables => {
+ type => 'Identifier',
+ args => [ 'bar' ],
+ },
+ },
+ ],
+ ],
+ }
+
+
=back
=head1 AUTHORS