Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-3807

Sql.expand not working in Sql.eachRow(GString sql, Closure metaClosure, Closure rowClosure)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.7-beta-1
    • 1.6.6, 1.7-rc-1
    • SQL processing
    • None

    Description

      The sample script below shows that Sql.expand does work for:
      Sql.eachRow(GString sql, Closure rowClosure)
      but NOT for
      Sql.eachRow(GString sql, Closure metaClosure, Closure rowClosure)

      -----------
      import groovy.sql.Sql

      import java.util.logging.*
      Logger.getLogger('groovy.sql').level=Level.FINE

      db = Sql.newInstance( 'jdbc:hsqldb:mem:GinA'
      , 'sa'
      , ''
      , 'org.hsqldb.jdbcDriver')
      db.execute "create table emp (name varchar(10))"

      def tableName = "Emp"

      // Line below logs: select * from Emp
      db.eachRow("select * from ${Sql.expand tableName}") {}

      // Line below logs: select * from groovy.sql.Sql$35@8ab08f
      db.eachRow("select * from ${Sql.expand tableName}", {} ) {}

      Attachments

        Activity

          People

            paulk Paul King
            albatross Albatross
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: