Opened 14 years ago

Closed 14 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 Changed 14 years ago by Nicklas Nordborg

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:2 Changed 14 years ago by Nicklas Nordborg

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.