Forums » Toad for SQL Server Beta

Thread: Message displayed when running large scripts

This question is not answered. Helpful answers available: 2. Answered answers available: 1.


Permlink Replies: 7 - Pages: 1 - Last Post: Jun 7, 2012 10:33 AM by: Stanislav
lstatie

Posts: 23
Registered: 3/28/07
Message displayed when running large scripts
Posted: May 1, 2012 11:16 AM
 
  Click to reply to this thread Reply

I tried to run a large script that contains a lot of update statements and change 4 fields in the same table for many records where the primary id is specified in every statement.

I keep getting this message when I run the script:

Function 5117 (QP5_SHL_INT_CHUNKER): Handle (0x0C248008) passed to API is NOT of any known QP5 object type.

YES = continue, NO = continue and stop bugging me, CANCEL = abort program.

This message is shown in a dialog with header: API Guard (QP5 version 5.216.12111.13957)

What is up with this? Did I run into an error, is this trying to warn me about something, did I miss doing something, what knowledge do I gain from this message?



Valentine


Posts: 437
Registered: 12/7/06
Re: Message displayed when running large scripts
Posted: May 2, 2012 1:54 AM   in response to: lstatie
 
  Click to reply to this thread Reply

lstatie,

we already have a couple of reports similar to yours.
Can you reproduce the problem on demand? if so, would it be possible to share your script with me? it will help us to ensure your case is covered by the fix we are going to apply. The fix should be a part of next beta.

Regards, Valentine /R&D @ DELL
Valentine


Posts: 437
Registered: 12/7/06
Re: Message displayed when running large scripts
Posted: May 2, 2012 1:58 AM   in response to: lstatie
 
  Click to reply to this thread Reply

I forgot to mention, the error message you see is internal Toad message, advising that something bad happened with Code Completion/Parser components and they may give you wrong results (sometimes these components keep working fine).

Regards, Valentine /R&D @ DELL
planomax

Posts: 17
Registered: 12/4/11
Re: Message displayed when running large scripts
Posted: May 2, 2012 6:55 AM   in response to: lstatie
 
  Click to reply to this thread Reply

I'm getting the same in Toad for Data Analysts. Hope this helps pinpoint.


lstatie

Posts: 23
Registered: 3/28/07
Re: Message displayed when running large scripts
Posted: May 16, 2012 3:00 PM   in response to: lstatie
 
  Click to reply to this thread Reply

I can reproduce the issue on demand. All I need to do is try to run my script. It is a simple insert script with 60,000 statements like the one below:

INSERT INTO [dbo].[CodeDiagnosisTree] values(715907, 109332, 109332, 28894083, 'May 10 2012  4:40PM', 28894083, 'May 10 2012  4:40PM', 0, 1)

only the first 3 columns of data change, the others do not change from record to record.

another script I have has 60,000 lines like the one below:

INSERT INTO [dbo].[CodeDiagnosis] values(109332, 'A00', 'Cholera', 'Dec  5 2011 12:00AM', null, 1, null, 28894083, 'May 10 2012  4:40PM', 28894083, 'May 10 2012  4:40PM', 1, 0, 0)

only the first 3 columns of the records change, the rest are the same from record to record.

"Whenever I see "Large Script Mode", I can expect out of memory errors.

The errors I get include:

System.OutOfMemoryException
Exception of type 'System.OutOfMemoryException' was thrown.
Stack Trace:
   at System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity)
   at System.Text.StringBuilder.GetNewString(String currentString, Int32 requiredLength)
   at System.Text.StringBuilder.Append(Char[] value, Int32 startIndex, Int32 charCount)
   at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
   at System.String.Format(IFormatProvider provider, String format, Object[] args)
   at Quest.Toad.Db.ToadDataAdapter.get_Description()
   at Quest.Toad.Db.ScriptEngine.InternalDescription()
   at Quest.Toad.Db.ScriptEngine.get_Description()
   at Quest.Toad.Editor.EditorForm.DocumentHint()
   at Quest.Toad.Gui.MdiDocumentForm.GetTabTooltip()
   at Quest.Toad.Gui.MainForm.UpdateDocumentHeader(MdiDocumentForm parent)
   at Quest.Toad.Gui.MainForm.UpdateEditControlCaption(DocumentForm editControl)
   at Quest.Toad.Gui.MainForm.EditControlChanged(Object sender, EventArgs args)
   at Quest.Toad.Gui.MainForm.LazyIdle(Object sender, EventArgs args)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at Quest.Toad.Notification.NotificationManager.LazyIdle(Object sender)
   at Quest.Toad.Gui.MainForm.Application_Idle(Object sender, EventArgs e)



Valentine


Posts: 437
Registered: 12/7/06
Re: Message displayed when running large scripts
Posted: May 17, 2012 2:46 AM   in response to: lstatie
 
  Click to reply to this thread Reply

lstatie,

1 can you please confirm you are using latest beta build, if not - what version you are on?
2 can you please say if you can just open toad, this script and get the error? or you need to open some other parts of toad, if so which one and what's your scenario?
3 can you please specify how many objects in your database? tables/views/procedures and functions.
4 can you turn off large script mode and open your script - do you get the same out of memory error?

Many thanks in advance for your help with this issue. Looking forward for your answers!

Regards, Valentine /R&D @ DELL
lstatie

Posts: 23
Registered: 3/28/07
Re: Message displayed when running large scripts
Posted: May 22, 2012 8:54 AM   in response to: Valentine
 
  Click to reply to this thread Reply

This is one of many errors I get with large scripts.

All I have to do is: Open Toad, open the script and run it. The errors are generated when I run large scripts.

I am using the latest beta. 5.7.0.527. The same happened when I tried 5.7.0.483.

System.OutOfMemoryException
Exception of type 'System.OutOfMemoryException' was thrown.
Stack Trace:
   at System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity)
   at System.Text.StringBuilder.GetNewString(String currentString, Int32 requiredLength)
   at System.Text.StringBuilder.Append(String value)
   at Quest.Toad.Editor.EditorForm.DocumentHint()
   at Quest.Toad.Gui.MdiDocumentForm.GetTabTooltip()
   at Quest.Toad.Gui.MainForm.UpdateDocumentHeader(MdiDocumentForm parent)
   at Quest.Toad.Gui.MainForm.UpdateEditControlCaption(DocumentForm editControl)
   at Quest.Toad.Gui.MainForm.EditControlChanged(Object sender, EventArgs args)
   at Quest.Toad.Gui.MainForm.LazyIdle(Object sender, EventArgs args)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at Quest.Toad.Notification.NotificationManager.LazyIdle(Object sender)
   at Quest.Toad.Gui.MainForm.Application_Idle(Object sender, EventArgs e)

When I turn Large Script Mode off, I get the out of memory error as soon as I load the script.

System.OutOfMemoryException
Exception of type 'System.OutOfMemoryException' was thrown.
Stack Trace:
   at g.a(Document A_0, Int32 A_1, TextRange A_2)
   at g.h()
   at ActiproSoftware.SyntaxEditor.SyntaxEditor.a(f A_0)
   at ActiproSoftware.SyntaxEditor.SyntaxEditor.set_SplitType(SyntaxEditorSplitType value)
   at Quest.Toad.Editor.EditorControl.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at System.Windows.Forms.ContainerControl.Dispose(Boolean disposing)
   at ActiproSoftware.WinUICore.UIContainerControl.Dispose(Boolean disposing)
   at ActiproSoftware.UIStudio.Dock.ToolWindow.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at ActiproSoftware.UIStudio.Dock.DockManager.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.ComponentModel.Container.Dispose(Boolean disposing)
   at System.ComponentModel.Container.Dispose()
   at Quest.Toad.Editor.EditorForm.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Control.Dispose(Boolean disposing)
   at System.Windows.Forms.ContainerControl.Dispose(Boolean disposing)
   at System.Windows.Forms.Form.Dispose(Boolean disposing)
   at DevExpress.XtraEditors.XtraForm.Dispose(Boolean disposing)
   at Quest.Toad.Gui.MdiDocumentForm.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at System.Windows.Forms.Form.WmClose(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at DevExpress.XtraEditors.XtraForm.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)

The script has 60,000 simple insert statements in it. Another one has 21,000 simple uodate statements, changing 3 columns when the ID column has a certain value. Nothing complicated, no sub query. All simple 1 liner stuff.



Stanislav

Posts: 51
Registered: 6/16/11
Re: Message displayed when running large scripts
Posted: Jun 7, 2012 10:33 AM   in response to: lstatie
 
  Click to reply to this thread Reply

Hello Istatie,

We just posted a new beta build (5.7.0.577) where number of fixed were made that are related to the mentioned issues. Please try it and let us know if you still have any of these issues.

Thank you much for participation!


Regards, Stanislav | R&D • Quest Software (now part of DELL)
Legend
Guru: 2001 + pts
Expert: 751 - 2000 pts
Enthusiast: 31 - 750 pts
Novice: 0 - 30 pts
Moderators
Helpful answer (5 pts)
Answered (10 pts)

Point your RSS reader here for a feed of the latest messages in all forums