Toad Data Point: System.OutOfMemoryException

Hi toad-data-point community,

I have got a System.OutOfMemoryException when trying to create a MaterializedView with 2,500,000 records (and the software crashed). See below for details.

I am using Toad Data Point 3.4.0.2038, base edition.

Does anyone know a solution?

Thanks in advance.

Regards, Nanny Kempers

Details of error-message:

System.OutOfMemoryException

Exception of type ‘System.OutOfMemoryException’ was thrown.

Stack Trace:

at Quest.Toad.Trl.BaseSqlTrl.OnFetchException(Exception exc, Boolean notificationManager)

at Quest.Toad.Trl.BaseSqlTrl.ExecuteQuery()

at Quest.Toad.Trl.BaseSqlTrl.Execute()

at Quest.Toad.Trl.BaseSqlTrl.CreateData(ILiveCache entry, IFilterLiveCache filter, FilterInfo filterInfo)

at Quest.Toad.Trl.BaseSqlTrl.GetData(Boolean filtered, FilterInfo filterInfo, Boolean bCacheDasta, Boolean bIsDeferredCall)

at Quest.Toad.Trl.BaseSqlTrl.GetData(Boolean filtered, FilterInfo filterInfo)

at Quest.Toad.Oracle.Doe.MaterializedView.MaterializedViewQueryControl.FillColumnList()

at Quest.Toad.Oracle.Doe.MaterializedView.MaterializedViewQueryControl.ValidateQuery()

at Quest.Toad.Oracle.Doe.MaterializedView.MaterializedViewEditForm.GetScript()

at Quest.Toad.Doe.BaseDoeForm.UpdateScript()

at Quest.Toad.Doe.BaseDoeForm.selectPageList_SelectedValueChanged(Object sender, EventArgs e)

at DevExpress.XtraEditors.BaseListBoxControl.RaiseSelectedValueChanged()

at DevExpress.XtraEditors.BaseListBoxControl.OnSelectionChanged()

at DevExpress.XtraEditors.BaseListBoxControl.SelectedIndexCollection.Changed()

at DevExpress.XtraEditors.BaseListBoxControl.SelectedIndexCollection.Set(Int32 value)

at DevExpress.XtraEditors.ListBoxControlHandler.SingleSelectState.SetSelectedIndex(Int32 newIndex)

at DevExpress.XtraEditors.ListBoxControlHandler.OnSetSelectedIndex(Int32 newIndex)

at DevExpress.XtraEditors.BaseListBoxControl.SetSelectedIndexCore(Int32 index)

at DevExpress.XtraEditors.BaseListBoxControl.set_SelectedIndex(Int32 value)

at DevExpress.XtraEditors.ImageListBoxControl.SetItemCore(Object item)

at DevExpress.XtraEditors.BaseListBoxControl.OnSetItem(Object item)

at DevExpress.XtraEditors.BaseListBoxControl.set_SelectedItem(Object value)

at Quest.Toad.Doe.BaseDoeForm.set_ActivePage(DoePageControl value)

at Quest.Toad.Doe.BaseDoeForm.buttonPanelControl_OKButtonClick(Object sender, EventArgs e)

at Quest.Toad.Controls.ButtonPanelControl.DoOkButtonClicked(Object sender, EventArgs args)

at System.Windows.Forms.Control.OnClick(EventArgs e)

at DevExpress.XtraEditors.BaseButton.OnClick(EventArgs e)

at DevExpress.XtraEditors.BaseButton.OnMouseUp(MouseEventArgs e)

at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

at System.Windows.Forms.Control.WndProc(Message& m)

at DevExpress.Utils.Controls.ControlBase.WndProc(Message& m)

at DevExpress.XtraEditors.BaseControl.WndProc(Message& msg)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Thank you for reporting the issue.

I created QAT -2691 to track it.

Regards

Aleksey

You can avoid the issue with the following way around

  1. Add to your query where clause the following condition ROWNUM < 2 that limit the number of return rows.
  2. Fill out the Create Materialized View Form
  3. Go to Sql Script press Open script in editor button. Don’t press Executed button.
  4. In the SQL Editor remove ROWNUM < 2 condition and
  5. Execute the CREATE MATERIALIZED VIEW statement.
    It should help you

Aleksey

Hi Aleksey,

Thanks a lot; your work-around works!

I guess the way the Create Materialized View Form works causes the problem?

Entering and running the sql-statement Create Materialized View, without adding/deleting the Rownum<2 statement, works well.

Thanks for your help.

Regards,

Nanny

I mean:

Entering and running the sql-statement Create Materialized View, without adding/deleting the Rownum<2 statement, STRAIGHT INTO THE SQL- EDITOR works well.

Nanny