Opened 15 years ago

Closed 15 years ago

#1204 closed defect (fixed)

Unknown column 'pos.reporter_id' in 'field list' when using 'merge on reporter' in BioAssaySetExporter

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: critical Milestone: BASE 2.9.1
Component: coreplugins Version:
Keywords: Cc:


  1. From any experiment with data, select a bioassay set and then the 'Export' button.
  2. Select 'BASEFile' as the file format on the first screen.
  3. On the second screen, set 'Average on reporters' to true and select for example ch(1) and ch(2) in the fields list. Do not select any reporter-related formula or anything from the 'Reporter' list.
  4. Continue the wizard until the end and wait for the job to begin.

It will end with:

net.sf.basedb.core.BaseException: Unknown column 'pos.reporter_id' in 'field list'
at net.sf.basedb.core.QueryExecutor.getFutureResult(
at net.sf.basedb.core.QueryExecutor.executeQuery(
at net.sf.basedb.core.AbstractSqlQuery.iterate(
at net.sf.basedb.core.DynamicQuery.iterate(
at net.sf.basedb.plugins.BioAssaySetExporter.exportBaseFileSectionSpots(
at net.sf.basedb.plugins.BioAssaySetExporter.exportBaseFileMatrix(
at net.sf.basedb.plugins.BioAssaySetExporter.performExport(
at net.sf.basedb.core.PluginExecutionRequest.invoke(
at net.sf.basedb.core.InternalJobQueue$
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'pos.reporter_id' in 'field list'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
at java.lang.reflect.Constructor.newInstance(
at com.mysql.jdbc.Util.handleNewInstance(
at com.mysql.jdbc.Util.getInstance(
at com.mysql.jdbc.SQLError.createSQLException(
at com.mysql.jdbc.SQLError.createSQLException(
at com.mysql.jdbc.MysqlIO.checkErrorPacket(
at com.mysql.jdbc.MysqlIO.checkErrorPacket(
at com.mysql.jdbc.MysqlIO.sendCommand(
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(
at com.mysql.jdbc.ConnectionImpl.execSQL(
at com.mysql.jdbc.PreparedStatement.executeInternal(
at com.mysql.jdbc.PreparedStatement.executeQuery(
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(
at net.sf.basedb.core.QueryExecutor$
at net.sf.basedb.core.QueryExecutor$
at java.util.concurrent.FutureTask$Sync.innerRun(
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
at java.util.concurrent.ThreadPoolExecutor$
... 1 more

The generated SQL is:

SELECT AVG(`spt`.`ch1`) AS `a19101568`, 
   AVG(`spt`.`ch2`) AS `a24804944`, 
   `pos`.`reporter_id` AS `_position`, 
   `spt`.`column` AS `_column` 
FROM `base29dynamic`.`D2Spot` `spt` 
WHERE `spt`.`cube` = 1 AND `spt`.`layer` = 2 
GROUP BY `spt`.`column`, `pos`.`reporter_id` 
ORDER BY `pos`.`reporter_id` ASC, `spt`.`column` ASC

Eg. it is missing a join to the 'D2Pos' table which contains the 'pos.reporter_id' column.

Change History (2)

comment:1 by Nicklas Nordborg, 15 years ago

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:2 by Nicklas Nordborg, 15 years ago

Resolution: fixed
Status: assignedclosed

(In [4694]) Fixes #1204: Unknown column 'pos.reporter_id' in 'field list' when using 'merge on reporter' in BioAssaySetExporter

Note: See TracTickets for help on using tickets.