Running a simple column analysis with a pattern fails on a MySQL database.
On the sample table 'contract' on schema 'crm' from tutorials 1 to 5 in the Talend Open Studio for Data Quality tutorials, which that can be imported to any database (I imported it to MySQL) , I defined a column analysis on column 'duration' with just one pattern: 'Duration'.
This is the pattern defined in tutorial 3 () to be first '^30$' and then '^30$|^60$|^120$|^180$|^300$'.
This simple analysis is failing upon execution. It brings up a box telling that there is an internal error that occurred during: "Run Analysis" targetIndex=9, size=9.
I am running TOS_DQ-20161026_1219-V6.3.0 on windows 10, which I downloaded from the site a couple of days ago.
The following is the stack dump I can find on the log file:
!ENTRY org.eclipse.core.jobs 4 2 2016-12-05 16:52:51.023
!MESSAGE An internal error occurred during: "Run Analysis".
!STACK 0
java.lang.IndexOutOfBoundsException: targetIndex=9, size=9
at org.eclipse.emf.common.util.BasicEList.move(BasicEList.java:658)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doMove(NotifyingListImpl.java:1329)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.move(NotifyingListImpl.java:1314)
at org.eclipse.emf.common.util.AbstractEList.move(AbstractEList.java:535)
at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyReference(EcoreUtil.java:793)
at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyReferences(EcoreUtil.java:688)
at org.talend.dq.helper.EObjectHelper.preDeepCopy(EObjectHelper.java:511)
at org.talend.dq.helper.EObjectHelper.deepCopy(EObjectHelper.java:477)
at org.talend.dq.helper.AnalysisExecutorHelper.hotCopyPatterns(AnalysisExecutorHelper.java:430)
at org.talend.dq.helper.AnalysisExecutorHelper.checkMatchingIndicator(AnalysisExecutorHelper.java:390)
at org.talend.dq.helper.AnalysisExecutorHelper.checkPatternMatchingIndicator(AnalysisExecutorHelper.java:368)
at org.talend.dq.helper.AnalysisExecutorHelper.checkDependentFiles(AnalysisExecutorHelper.java:236)
at org.talend.dq.helper.AnalysisExecutorHelper.check(AnalysisExecutorHelper.java:205)
at org.talend.dq.analysis.AnalysisExecutor.check(AnalysisExecutor.java:255)
at org.talend.dq.analysis.ColumnAnalysisExecutor.check(ColumnAnalysisExecutor.java:244)
at org.talend.dq.analysis.AnalysisExecutor.execute(AnalysisExecutor.java:108)
at org.talend.dq.analysis.AnalysisExecutorSelector.executeAnalysis(AnalysisExecutorSelector.java:167)
at org.talend.dataprofiler.core.ui.action.actions.RunAnalysisAction$1.runInWorkspace(RunAnalysisAction.java:215)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Other column analysis not having to do with patterns work fine: this really has to do with patterns. I created new patterns, changed the pattern from 'default' to MySQL', etc. Nothing seems to work. I must have something strange on my install (by the way, when i look at my installation details, on installation history I get a null pointer exception. The stack of this failure in the log is
!ENTRY org.eclipse.core.jobs 4 2 2016-12-05 17:19:36.199
!MESSAGE An internal error occurred during: "Fetching Elements".
!STACK 0
java.lang.NullPointerException
at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.internalLockProfile(SimpleProfileRegistry.java:861)
at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.internalGetProfileStateProperties(SimpleProfileRegistry.java:1215)
at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.getProfileStateProperties(SimpleProfileRegistry.java:1208)
at org.eclipse.equinox.internal.p2.ui.model.ProfileSnapshots.getChildren(ProfileSnapshots.java:52)
at org.eclipse.equinox.internal.p2.ui.model.ProfileSnapshots.fetchDeferredChildren(ProfileSnapshots.java:91)
at org.eclipse.equinox.internal.p2.ui.viewers.ProvElementContentProvider$1.run(ProvElementContentProvider.java:59)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)