Hi, > Any progress to report on this?
Yes and no. I found a workaround: disable the optimization for IN(SELECT...) queries. To do that, set the system property h2.optimizeInJoin to false (or using version 1.0.79). However I couldn't solve the problem yet. Regards, Thomas > > On Feb 5, 1:46 pm, Wes Clark <[email protected]> wrote: >> Great. We'd like to move to the new version. >> >> On Feb 5, 1:42 pm, Thomas Mueller <[email protected]> >> wrote: >> >> > Hi, >> >> > I will have a look what the problem is. The query seems to be correct. >> > Here is a simpler test case: >> >> > select 1 from dual a where 1 in(select 1 from dual b where 1 in(select >> > 1 from dual c where a.x=1)); >> >> > Regards, >> > Thomas >> >> > On Mon, Feb 2, 2009 at 7:23 PM, Wes Clark <[email protected]> wrote: >> >> > > Here are the create table and create index statements that will >> > > reproduce the problem: >> > > create table cc_check (Status integer NOT NULL, CheckInstructions >> > > integer NULL, UpdateTime datetime NOT NULL, MailToAddress varchar(255) >> > > NULL, PendEscalationForBulk bit NULL, InvoiceNumber varchar(255) NULL, >> > > CreateTime datetime NOT NULL, DeliveryMethod integer NULL, >> > > CheckBatching integer NULL, BeanVersion integer NULL, CheckSetID >> > > integer NOT NULL, GroupID integer NULL, Retired integer NOT NULL, >> > > LoadCommandID integer NULL, extractready integer NULL, IssueDate >> > > datetime NULL, CheckNumber varchar(255) NULL, CreateUserID integer >> > > NULL, ScheduledSendDate datetime NULL, EnteredTime datetime NULL, >> > > DateOfService datetime NULL, PayToDenorm varchar(255) NULL, >> > > ClaimContactID integer NULL, PublicID varchar(20) NOT NULL, >> > > ServicePdEnd datetime NULL, ClaimID integer NOT NULL, BankAccount >> > > integer NULL, PaymentMethod integer NULL, Memo varchar(255) NULL, >> > > PortionID integer NULL, DeductionType integer NULL, >> > > BulkInvoiceItemInfoID integer NULL, CheckType integer NOT NULL, PayTo >> > > varchar(255) NULL, MailTo varchar(255) NULL, Comments varchar(255) >> > > NULL, ReportableAmount decimal(18,2) NULL, RecurringCheckID integer >> > > NULL, UpdateUserID integer NULL, Reportability integer NULL, >> > > ServicePdStart datetime NULL, ID integer NOT NULL); >> > > ALTER TABLE cc_check ADD PRIMARY KEY (ID); >> > > CREATE INDEX cc000000h9N0 ON cc_check (ScheduledSendDate); >> > > CREATE INDEX cc000000h9N1 ON cc_check (extractready); >> > > CREATE UNIQUE INDEX cc000000h9U2 ON cc_check (Status, Retired, ID, >> > > ScheduledSendDate); >> > > CREATE UNIQUE INDEX cc000000h9U3 ON cc_check (Status, Retired, >> > > EnteredTime, ID); >> > > CREATE UNIQUE INDEX cc000000h9U4 ON cc_check (CheckNumber, Retired, >> > > ClaimID, ID); >> > > CREATE UNIQUE INDEX cc000000h9U5 ON cc_check (InvoiceNumber, Retired, >> > > ClaimID, ID); >> > > CREATE UNIQUE INDEX cc000000h9U6 ON cc_check (CreateUserID, >> > > EnteredTime, Retired, ClaimID, PayToDenorm, Status, ID); >> > > CREATE UNIQUE INDEX cc000000h9U7 ON cc_check (GroupID, Retired, ID); >> > > CREATE UNIQUE INDEX cc000000h9U8 ON cc_check (ID, Retired, >> > > EnteredTime, ClaimID); >> > > CREATE UNIQUE INDEX cc000000h9U9 ON cc_check (PublicID, Retired); >> > > CREATE INDEX cc000000h9N10 ON cc_check (CheckSetID, Retired); >> > > CREATE INDEX cc000000h9N11 ON cc_check (ClaimContactID, Retired); >> > > CREATE INDEX cc000000h9N12 ON cc_check (ClaimID, Retired); >> > > CREATE INDEX cc000000h9N13 ON cc_check (PortionID, Retired); >> > > CREATE INDEX cc000000h9N14 ON cc_check (BulkInvoiceItemInfoID, >> > > Retired); >> > > CREATE INDEX cc000000h9N15 ON cc_check (RecurringCheckID, Retired); >> > > CREATE UNIQUE INDEX cc000000h9U16 ON cc_check (ID, extractready); >> >> > > create table cc_transaction (Status integer NOT NULL, PaymentType >> > > integer NULL, CheckID integer NULL, UpdateTime datetime NOT NULL, >> > > CreateTime datetime NOT NULL, Matter integer NULL, BeanVersion integer >> > > NULL, TransToClaimExchangeRate integer NULL, Currency integer NOT >> > > NULL, LoadCommandID integer NULL, Retired integer NOT NULL, >> > > extractready integer NULL, CostCategory integer NOT NULL, >> > > DoesNotErodeReserves bit NULL, TransactionSetID integer NOT NULL, >> > > CreateUserID integer NULL, ClaimContactID integer NULL, CostType >> > > integer NOT NULL, ClaimID integer NOT NULL, PublicID varchar(20) NOT >> > > NULL, ClaimToReportingExchangeRate integer NULL, ExposureID integer >> > > NULL, RecoveryCategory integer NULL, LifeCycleState integer NOT NULL, >> > > Subtype integer NOT NULL, ReserveLineID integer NOT NULL, SubmitDate >> > > datetime NULL, PayerDenormID integer NULL, CloseClaim bit NULL, >> > > Comments varchar(255) NULL, CloseExposure bit NULL, UpdateUserID >> > > integer NULL, ID integer NOT NULL); >> > > ALTER TABLE cc_transaction ADD PRIMARY KEY (ID); >> > > CREATE INDEX cc000000hvN0 ON cc_transaction (extractready); >> > > CREATE INDEX cc000000hvN1 ON cc_transaction (TransactionSetID, >> > > ClaimID); >> > > CREATE INDEX cc000000hvN2 ON cc_transaction (ExposureID, ClaimID); >> > > CREATE INDEX cc000000hvN3 ON cc_transaction (ExposureID, Subtype, >> > > Status); >> > > CREATE INDEX cc000000hvN4 ON cc_transaction (ClaimID, Retired, >> > > UpdateTime); >> > > CREATE UNIQUE INDEX cc000000hvU5 ON cc_transaction (CreateUserID, >> > > Retired, Subtype, ClaimID, ID); >> > > CREATE INDEX cc000000hvN6 ON cc_transaction (Subtype, CreateUserID, >> > > Retired, CreateTime, ClaimID); >> > > CREATE UNIQUE INDEX cc000000hvU7 ON cc_transaction (LifeCycleState, >> > > Subtype, Retired, ID); >> > > CREATE UNIQUE INDEX cc000000hvU8 ON cc_transaction (PublicID, >> > > Retired); >> > > CREATE UNIQUE INDEX cc000000hvU9 ON cc_transaction (PayerDenormID, >> > > Retired, Subtype, CreateTime, ClaimID, ID); >> > > CREATE INDEX cc000000hvN10 ON cc_transaction (CheckID, Retired); >> > > CREATE INDEX cc000000hvN11 ON cc_transaction (Matter, Retired); >> > > CREATE INDEX cc000000hvN12 ON cc_transaction >> > > (TransToClaimExchangeRate, Retired); >> > > CREATE INDEX cc000000hvN13 ON cc_transaction (TransactionSetID, >> > > Retired); >> > > CREATE INDEX cc000000hvN14 ON cc_transaction (ClaimContactID, >> > > Retired); >> > > CREATE INDEX cc000000hvN15 ON cc_transaction >> > > (ClaimToReportingExchangeRate, Retired); >> > > CREATE INDEX cc000000hvN16 ON cc_transaction (ExposureID, Retired); >> > > CREATE INDEX cc000000hvN17 ON cc_transaction (ReserveLineID, Retired); >> > > CREATE UNIQUE INDEX cc000000hvU18 ON cc_transaction (ID, >> > > extractready); >> >> > > create table cc_transactionoffsetonset (extractready integer NULL, >> > > OnsetID integer NULL, OffsetID integer NOT NULL, PublicID varchar(20) >> > > NOT NULL, BeanVersion integer NULL, TransactionID integer NOT NULL, ID >> > > integer NOT NULL, LoadCommandID integer NULL); >> > > ALTER TABLE cc_transactionoffsetonset ADD PRIMARY KEY (ID); >> > > CREATE UNIQUE INDEX cc000000j0U0 ON cc_transactionoffsetonset >> > > (OffsetID); >> > > CREATE UNIQUE INDEX cc000000j0U1 ON cc_transactionoffsetonset >> > > (PublicID); >> > > CREATE INDEX cc000000j0N2 ON cc_transactionoffsetonset (OnsetID); >> > > CREATE INDEX cc000000j0N3 ON cc_transactionoffsetonset (extractready); >> > > CREATE UNIQUE INDEX cc000000j0U4 ON cc_transactionoffsetonset >> > > (TransactionID); >> > > CREATE UNIQUE INDEX cc000000j0U5 ON cc_transactionoffsetonset >> > > (TransactionID, OffsetID, OnsetID); >> > > CREATE UNIQUE INDEX cc000000j0U6 ON cc_transactionoffsetonset >> > > (OffsetID, OnsetID); >> > > CREATE UNIQUE INDEX cc000000j0U7 ON cc_transactionoffsetonset (ID, >> > > extractready); >> >> > > On Jan 28, 11:02 pm, Thomas Mueller <[email protected]> >> > > wrote: >> > >> Hi, >> >> > >> Could you post your CREATE TABLE and CREATE INDEX statements as well >> > >> please? >> >> > >> Regards, >> > >> Thomas >> >> > >> On Tue, Jan 27, 2009 at 7:40 AM, Wes Clark <[email protected]> wrote: >> >> > >> > Could this be another manifestation of the problem with nested outer >> > >> > joins reported in >> > >> >http://groups.google.com/group/h2-database/browse_thread/thread/af436... >> >> > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "H2 Database" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/h2-database?hl=en -~----------~----~----~----~------~----~------~--~---
