On Tuesday, May 12, 2020 3:50:31 PM EDT Jens Rehsack wrote:
> > Am 12.05.2020 um 21:49 schrieb Provensal, Jerome <jproven...@virtu.com>:
> > Hi Jens,
> > I was hoping that you could help me with an issue I’m having with
> > SQL::Statement.
> > 
> > My goal is to make transitioning from Sybase to MySQL a breeze by
> > converting Sybase-like SQL statements into MySQL statements.  For
> > that, I was planning on using SQL::Statement.
> > 
> > While evaluating the module, I ran into an issue with the “IN”
> > predicate.  I posted a “request for help” on SO:
> > https://stackoverflow.com/questions/61743167/in-in-where-clause-is-not-being-parsed-correctly-using-sqlstatement
> > <https://stackoverflow.com/questions/61743167/in-in-where-clause-is-not-being-parsed-correctly-using-sqlstatement>
> > but so far without much luck.  I was hoping that going to the
> > “source” (i.e. you) would help.

I don't know about the source -- this is the DBI mailing list.  But...

I cannot reproduce your error:

    garry@tfr$ perl -MSQL::Statement -MData::Dumper -wle '
    $p=SQL::Parser->new("ANSI");
    $p->{RaiseError}=1;
    $p->{PrintError}=0;
    print Dumper(SQL::Statement->new("SELECT c1,co12 AS c2, c3 FROM table1 t1, 
table2 t2 WHERE t1.c1 = t2.c2 AND t1.c1 IN (11111, 22222, 33333) GROUP BY 
t1.c1",$p)->where_hash());
    '
    $VAR1 = {
              'neg' => 0,
              'arg2' => {
                          'op' => 'IN',
                          'arg1' => {
                                      'type' => 'column',
                                      'value' => 'table1.c1',
                                      'fullorg' => 't1.c1'
                                    },
                          'nots' => {},
                          'arg2' => [
                                      {
                                        'fullorg' => '11111',
                                        'type' => 'number',
                                        'value' => '11111'
                                      },
                                      {
                                        'value' => '22222',
                                        'type' => 'number',
                                        'fullorg' => '22222'
                                      },
                                      {
                                        'value' => '33333',
                                        'type' => 'number',
                                        'fullorg' => '33333'
                                      }
                                    ],
                          'neg' => 0
                        },
              'nots' => {},
              'arg1' => {
                          'arg1' => {
                                      'fullorg' => 't1.c1',
                                      'value' => 'table1.c1',
                                      'type' => 'column'
                                    },
                          'op' => '=',
                          'arg2' => {
                                      'type' => 'column',
                                      'value' => 'table2.c2',
                                      'fullorg' => 't2.c2'
                                    },
                          'nots' => {},
                          'neg' => 0
                        },
              'op' => 'AND'
            };

    garry@tfr$ perl -MSQL::Statement -wle 'print $SQL::Statement::VERSION'
    1.412
    garry@tfr$

-- 
Garry T. Williams

Reply via email to