tag:blogger.com,1999:blog-29777267968556479842024-03-12T19:08:28.745-07:00The Developer's Digest - Spend your day here.Programming help in Java , JavaScript, .Net, PHP, webservices , XML, Jquery etc.,Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.comBlogger70125tag:blogger.com,1999:blog-2977726796855647984.post-32996281642271715492012-08-01T17:46:00.000-07:002012-08-01T17:47:51.313-07:00Clearcase administration basic concepts<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
This article provides an overview of some of the concepts and resources to help you get started with ClearCase administration. There are many resources available that address ClearCase administration. Finding the right information can be an overwhelming task for administrators new to ClearCase. This article assumes no prior knowledge of ClearCase. The first few sections of the article cover concepts and provide examples to help you get familiar with ClearCase administration. Later sections of the article cover planning and ongoing administration activities.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
This article takes the approach of learning by experimentation. The article gives a brief description for each example command and provides references for further details. The examples use command line interface to illustrate greater details for deeper understanding. The article provides references to GUI wizards without going into much detail.</div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="1" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N10047"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 1. What is ClearCase?</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
ClearCase is Rational's market-leading solution for software configuration management system. ClearCase is a powerful system for managing versions of files and directories, generally refers to as <i>elements</i>. Virtually any project artifact can be stored in ClearCase repository called Versioned Object Base or simply <i>VOB</i>. One unique feature of ClearCase is the ability to version directory elements. This capability proved to be invaluable for code restructuring which commonly occurs during development and new releases.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
ClearCase provides a rich set of access methods and controls to its repositories. All element access must go through a <i>view</i>. A view specifies a configuration, or <i>config_spec</i>, for selecting elements within a VOB. ClearCase tightly integrates with the underlying operating system to track changes and control access. The ClearCase administrator is the most powerful user having full control of a site installation. On Unix, this would be the superuser, UID=0, on the VOB server. On Windows, it is any user who is a member of the <i>clearcase</i> domain group.<br />
<br />
read more here...<br />
<a name='more'></a><br /></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
ClearCase provides powerful command line and graphical interfaces. In addition, ClearCase integrates well with Windows explorer and many other major IDE in the market.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
ClearCase is powerful in many ways; however, a common misconception is to treat it as a build and release system. ClearCase does provide convenience utilities such as clearmake, clearaudit, or omake to facilitate integration of your build and release system with ClearCase. These utilities in themselves do not make ClearCase a build and release system.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
You can find general product information about ClearCase from <a href="http://www-140.ibm.com/developerworks/rational/products/clearcase" style="color: #996699;" target="new">Rational.com</a>. More technical information is available here on the Rational Developer Network. Additional resource references are available in section 10 below.<br />
<br /></div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="2" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div class="ibm-alternate-rule" style="background-color: white; background-image: url(http://1.www.s81c.com/i/solid.gif); background-repeat: repeat no-repeat; clear: both; height: 1px;">
</div>
<div class="ibm-ind-link ibm-back-to-top" style="background-color: white; clear: both; font-family: arial, sans-serif; font-size: 0.76em; height: 15px; padding: 5px; text-align: right;">
<a class="ibm-anchor-up-link" href="http://www.ibm.com/developerworks/rational/library/1111.html#ibm-pcon" style="background-image: url(http://1.www.s81c.com/i/v16/icons/u_bold.gif); background-position: 0px -1px; background-repeat: no-repeat no-repeat; color: #996699; display: inline; font-weight: bold; margin: 0px; padding: 0px 0px 0px 18px; text-decoration: none;">Back to top</a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N10077"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 2: Where do I get ClearCase?</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Let's get started with the real product. If you already have ClearCase installed and have administrative privilege, skip to the next section. If you don't already have ClearCase installed or would like to create your own sandbox environment for experimentation, then this section may be useful for you.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
There are three flavors of ClearCase: ClearCase LT, full ClearCase, and ClearCase Multisite. Refer to the <a href="http://www-3.ibm.com/software/awdtools/clearcase/cclt/" style="color: #996699;" target="new">Rational ClearCase LT</a> product information for the differences. This article assumes you install and configure the full ClearCase version.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Download the latest version of ClearCase. Extract the compressed file and change directory to the installation image. Follow the<a href="http://www.rational.com/docs/v2002/cc/ccase_nt/cpfinstall/index.html" style="color: #996699;" target="new">Installation Guide</a> manual for installation of ClearCase onto your local system. You will need either temporary or permanent license to use ClearCase. For temporary license, submit a request to <a href="http://www.rational.com/support/forms/license-request-form.jsp" style="color: #996699;" target="new">Rational Support</a>. For permanent license, the FAQ article contains instructions on how to obtain permanent licenses.</div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="3" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div class="ibm-alternate-rule" style="background-color: white; background-image: url(http://1.www.s81c.com/i/solid.gif); background-repeat: repeat no-repeat; clear: both; height: 1px;">
</div>
<div class="ibm-ind-link ibm-back-to-top" style="background-color: white; clear: both; font-family: arial, sans-serif; font-size: 0.76em; height: 15px; padding: 5px; text-align: right;">
<a class="ibm-anchor-up-link" href="http://www.ibm.com/developerworks/rational/library/1111.html#ibm-pcon" style="background-image: url(http://1.www.s81c.com/i/v16/icons/u_bold.gif); background-position: 0px -1px; background-repeat: no-repeat no-repeat; color: #996699; display: inline; font-weight: bold; margin: 0px; padding: 0px 0px 0px 18px; text-decoration: none;">Back to top</a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N1009C"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 3: My first VOB and view</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
ClearCase stores project artifacts in a VOB. A VOB is a repository for storing versioned project artifacts and metadata. Project artifacts are source, binary, or other contents that is checked into ClearCase. Metadata refers to attributes, internal object references, audit trail, and other information managed by ClearCase. A VOB is a boundary unit for managing security, performance, and Multisite. Until you actually store your project artifacts in your VOB, you can freely create and remove your test VOB. Let's create a VOB for experimental purpose. The Windows installation of Clearcase comes with a convenient Create VOB wizard in the Rational Administrative Tools folder within the Start menu. The command line interface is available on both Windows and Unix.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Before creating a VOB, you must share a directory for holding the repository. Launch <install_dir>\etc\SvrStor.exe to share a folder and publish the storage location. You can achieve the same result by sharing a folder using Windows explorer and running <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/mkstgloc.html" style="color: #996699;" target="new">cleartool mkstgloc</a> command. You can find this and other commands in the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/index.html" style="color: #996699;" target="new">Command Reference manual</a>.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Using the storage location above, let's create a VOB. Use the Create VOB wizard or type the following command:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool mkvob -tag \myFirstVOB -stgloc -auto</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
That's it! You have just created a VOB capable of storing project artifacts. Let's examine the command a bit closer. The <i>cleartool</i>program is a command-line interface utility for invoking many ClearCase controls. Both administrators and developers can use this program for day-to-day activities. The <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/mkvob.html" style="color: #996699;" target="new">mkvob</a> command is one of many commands supported by the cleartool program. This command requires a tag parameter and a storage location parameter. Type the following command to see other parameters:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool man mkvob</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
The man command brings up the manual similar in content to the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/mkvob.html" style="color: #996699;" target="new">Command Reference manual</a>. You can use the man command to show the online manual of any cleartool commands.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
In order to store or retrieve data, you must create a view to access VOB elements. A view specifies the configuration or version selection within one or more VOBs. You can create either a snapshot view or a dynamic view. A snapshot view is a copy of files selected by your <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/config_spec.html" style="color: #996699;" target="new">config_spec</a> similar to a CVS and other SCM workspace. This mode is convenient for off-line work where network connectivity to the ClearCase server may not be available. A dynamic view is a network-mapped storage similar to NFS or SMB file system. It has the benefit of automatic updates and more. Dynamic view does consume significant network bandwidth and require constant network availability. It is very convenient for administrators since creating or deleting a dynamic view is fast. Let's create a dynamic view to access the VOB you have just created.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool mkview -tag myFirstView -stgloc -auto</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Similar to the VOB creation above, you must specify a storage location to store the view repository. The storage location for both VOBs and Views are reserved for ClearCase to manage. As a ClearCase administrator, you may have to occasionally fix VOB and View repositories to recover an abnormal condition.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Let's make use of the VOB and view you just created. Dynamic views on Windows are mapped to a network drive. ClearCase by default uses the M: drive as root for all active dynamic views on your system. Directly within the view directory are mounted VOB tags. If you do not see the \myFirstVOB in the M:\myFirstView directory, mount the VOB with the following command:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool mount \myFirstVOB</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Browse to the M:\myFirstView\myFirstVOB folder. This is the top-level directory for accessing and storing project artifacts. Use Windows explorer or any other shell to add files and directories in the VOB. Refer to the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/mkelem.html" style="color: #996699;" target="new">mkelem</a> manual page for more details.</div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="4" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div class="ibm-alternate-rule" style="background-color: white; background-image: url(http://1.www.s81c.com/i/solid.gif); background-repeat: repeat no-repeat; clear: both; height: 1px;">
</div>
<div class="ibm-ind-link ibm-back-to-top" style="background-color: white; clear: both; font-family: arial, sans-serif; font-size: 0.76em; height: 15px; padding: 5px; text-align: right;">
<a class="ibm-anchor-up-link" href="http://www.ibm.com/developerworks/rational/library/1111.html#ibm-pcon" style="background-image: url(http://1.www.s81c.com/i/v16/icons/u_bold.gif); background-position: 0px -1px; background-repeat: no-repeat no-repeat; color: #996699; display: inline; font-weight: bold; margin: 0px; padding: 0px 0px 0px 18px; text-decoration: none;">Back to top</a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N100FD"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 4: My first UCM project</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Unified Change Management or UCM is a set of policies and processes on top of base ClearCase. Prior to ClearCase version 4.0, many ClearCase shops would develop their own set of triggers and scripts to enforce policies and processes. UCM tightly integrates with ClearCase to provide a standard set of policies and processes. Rational supports both base ClearCase and UCM mode of operations. UCM is an excellent solution for software development groups new to ClearCase or those requiring a more integrated change management solution.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
ClearCase stores UCM metadata in a specialized VOB called project VOB. A project VOB can store files and directories just like any other VOB. Let's create a project VOB using the same storage location defined earlier. Type the following command:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool mkvob -tag \myFirstPVOB -ucmproject -stgloc -auto</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
This command creates a VOB capable of storing UCM metadata. Notice the additional -ucmproject flag enables the myFirstPVOB to hold UCM metadata. No UCM project is created at this point. Let's create a component VOB to store project artifacts:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool mkvob -tag \myFirstComp -stgloc -auto</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
The myFirstComp VOB is just a regular VOB at this point. Converting the myFirstComp into a component VOB requires us to create a component in the project VOB. A view context is required in this process. Let's reuse the view created earlier. Enter the following command sequence to convert myFirstComp VOB into a UCM component VOB:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>M:<br />M:\>cd myFirstView<br />M:\myFirstView>cleartool mount \myFirstPVOB<br />M:\myFirstView>cleartool mount \myFirstComp<br />M:\myFirstView>cleartool mkcomp -root myFirstComp myFirstComp@\myFirstPVOB</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
You can verify the association between the project VOB and the component VOB by typing the following command:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool describe \myFirstPVOB<br />C:\>cleartool describe \myFirstComp</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
The AdminVOB hyperlink is used by ClearCase to associate component VOBs to a project VOB. Now that you have a component defined, let's create the UCM project and stream. Type the following:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool mkproject -mod myFirstComp@\myFirstPVOB -in RootFolder<br />myUCMProject@\myFirstPVOB<br />C:\>cleartool mkstream -integration -in myUCMProject@\myFirstPVOB<br />myUCMProject_Integration@\myFirstPVOB</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
In order to access UCM-managed project artifacts, you need to create a UCM view. A UCM view is attached to a stream. Type the following to create a dynamic integration view:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool mkview -tag myIntegrationView -stream<br />myUCMProject_Integration@\myFirstPVOB -stgloc -auto</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
The main difference between a normal view and a UCM view is the config_spec. You can display the config_spec of the myIntegrationView by typing the following command:</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">C:\>cleartool catcs -tag myIntegrationView</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
As a ClearCase administrator, there may be occasions where you may edit a UCM config_spec. For the most part, UCM view config_spec should not be manually changed.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
The processes above can be done simpler using the Create VOB wizard and the Project Explorer program. You can create additional test VOBs and projects using the wizard. You can clean up your experimental VOBs and views later simply by removing your test VOBs and views. Refer to the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/rmvob.html" style="color: #996699;" target="new">rmvob</a> and <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/rmview.html" style="color: #996699;" target="new">rmview</a> commands for more details.</div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="5" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div class="ibm-alternate-rule" style="background-color: white; background-image: url(http://1.www.s81c.com/i/solid.gif); background-repeat: repeat no-repeat; clear: both; height: 1px;">
</div>
<div class="ibm-ind-link ibm-back-to-top" style="background-color: white; clear: both; font-family: arial, sans-serif; font-size: 0.76em; height: 15px; padding: 5px; text-align: right;">
<a class="ibm-anchor-up-link" href="http://www.ibm.com/developerworks/rational/library/1111.html#ibm-pcon" style="background-image: url(http://1.www.s81c.com/i/v16/icons/u_bold.gif); background-position: 0px -1px; background-repeat: no-repeat no-repeat; color: #996699; display: inline; font-weight: bold; margin: 0px; padding: 0px 0px 0px 18px; text-decoration: none;">Back to top</a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N1016E"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 5: Rollout Plan of ClearCase to small development group</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Now that you have some experience with ClearCase administration, let's rollout ClearCase to a small development group. The first thing that you need to do is to identify the following servers:</div>
<ul style="background-color: white; font-size: 0.76em; margin-bottom: 0px; margin-top: 0px; padding-bottom: 5px; padding-right: 5px; padding-top: 0px;">
<li style="font-family: arial, sans-serif; margin-bottom: 0px; margin-top: 0px; padding-bottom: 3px; padding-right: 5px; padding-top: 0px;">ClearCase license server</li>
<li style="font-family: arial, sans-serif; margin-bottom: 0px; margin-top: 0px; padding-bottom: 3px; padding-right: 5px; padding-top: 0px;">ClearCase registry server</li>
<li style="font-family: arial, sans-serif; margin-bottom: 0px; margin-top: 0px; padding-bottom: 3px; padding-right: 5px; padding-top: 0px;">ClearCase VOBs and Views server</li>
</ul>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
If your organization already has a ClearCase license server and there are sufficient licenses available, you can simply make use of it. Otherwise you need to identify a machine to host ClearCase license. Typical ClearCase shops combine both the license and registry servers onto one machine. For initial rollout, you can also put VOBs and Views on the same server. You can later migrate the VOBs and Views to another server if you experience performance problems.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
If your development platform is Windows, make sure all the development machines are in the same Windows domain as your VOBs and Views server. Create a clearcase_albd domain user, a vobadm domain user and a clearcase domain group. Add vobadm, clearcase_albd, and your domain accounts to the clearcase group.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
If your development platform is Unix, make sure all the development machines are in a common NIS/NIS+ domain as your VOBs and Views server. Create a vobadm account and a common group, i.e., clearcase_users. Set vobadm primary group to clearcase_users and add all developer accounts to the clearcase_users group. I will discuss the significance of these groups in<a href="http://www.ibm.com/developerworks/rational/library/1111.html#9" style="color: #996699;">Section 9 below</a>. More detailed information is available in the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccadmin/index.html" style="color: #996699;" target="new">Administrator's Guide for Rational ClearCase</a>.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
ClearCase comes with a site_prep program to prepare a release area for ClearCase client or server installation. This program prompts for configuration defaults and saves the responses in a sitedefs.dat file. You will need to specify the license server, registry server, region, albd account and password (Windows only), and a few other options. Make sure the servers and accounts are correct. Make sure the region is the same for the client and server machines.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Once the release area is ready, share the location as read-only so that everyone can install ClearCase onto his or her machine. Be sure to remove write permission to prevent inadvertent corruption of your release area. Refer to the <a href="http://www.rational.com/docs/v2002/cc/ccase_nt/cpfinstall/index.html" style="color: #996699;" target="new">Installation Guide for Rational ClearCase manual for Windows</a> or <a href="http://www.rational.com/docs/v2002/cc/ccase_ux/cpfinstall/index.html" style="color: #996699;" target="new">Unix</a> for installation details.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Prepare a training session for your developers. You can find typical issues developers may experience in the <i>Catch-22: Rookie Mistakes in ClearCase</i> article. The ClearCase community is a large and actively helpful group. If you run into ClearCase issue, you may find help on the <a href="http://www.rational.net/WebX?13@208.OEXdaVK6fnW.0@.ee86d1d" style="color: #996699;">ClearCase discussion forums</a> on the Rational Developer Network.</div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="6" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div class="ibm-alternate-rule" style="background-color: white; background-image: url(http://1.www.s81c.com/i/solid.gif); background-repeat: repeat no-repeat; clear: both; height: 1px;">
</div>
<div class="ibm-ind-link ibm-back-to-top" style="background-color: white; clear: both; font-family: arial, sans-serif; font-size: 0.76em; height: 15px; padding: 5px; text-align: right;">
<a class="ibm-anchor-up-link" href="http://www.ibm.com/developerworks/rational/library/1111.html#ibm-pcon" style="background-image: url(http://1.www.s81c.com/i/v16/icons/u_bold.gif); background-position: 0px -1px; background-repeat: no-repeat no-repeat; color: #996699; display: inline; font-weight: bold; margin: 0px; padding: 0px 0px 0px 18px; text-decoration: none;">Back to top</a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N101B6"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 6: Configure Web interface</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Powerful capabilities usually lead to complexity. Native ClearCase interface provides powerful access methods and controls for development. Many ClearCase features that are crucial for software development may not be necessary for other stakeholders within a project. ClearCase provides a simple Web interface called ccweb access for access to the repository. This interface is convenient for managers, document writers, or those who needing casual access to ClearCase. The ccweb interface reduces complexity arise during development such as branching, merging, or defect tracability.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
You should allocate a dedicated machine for serving ClearCase Web service. This machine should not be your VOB, view, or license server due to resource contentions. The machine need not be very powerful unless you plan to have many concurrent users. Configuration of ccweb involves setting up a Web server, a static html virtual directory, and a cgi-bin directory. The<a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccadmin/web_ccase.html" style="color: #996699;" target="new">Administrator's Guide for Rational ClearCase</a> manual provides details for configuring ccweb with Apache, IIS, and iPlanet Web servers.</div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="7" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div class="ibm-alternate-rule" style="background-color: white; background-image: url(http://1.www.s81c.com/i/solid.gif); background-repeat: repeat no-repeat; clear: both; height: 1px;">
</div>
<div class="ibm-ind-link ibm-back-to-top" style="background-color: white; clear: both; font-family: arial, sans-serif; font-size: 0.76em; height: 15px; padding: 5px; text-align: right;">
<a class="ibm-anchor-up-link" href="http://www.ibm.com/developerworks/rational/library/1111.html#ibm-pcon" style="background-image: url(http://1.www.s81c.com/i/v16/icons/u_bold.gif); background-position: 0px -1px; background-repeat: no-repeat no-repeat; color: #996699; display: inline; font-weight: bold; margin: 0px; padding: 0px 0px 0px 18px; text-decoration: none;">Back to top</a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N101CE"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 7: Ongoing Administration and Troubleshooting</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Once ClearCase is in production use, there are ongoing administration tasks. One of the most important tasks for ClearCase administration is backup and restore of VOB storage. Views typically do not need to be backed up since they can be easily recreated. Refer to the Backup and <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccadmin/vob_backup.html" style="color: #996699;" target="new">Restoring VOBs section</a> of the Administrator's Guide for Rational ClearCase manual for further details.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
There are many triggers that have been developed over the years to simply ClearCase administration. Perhaps the most important one is the change-owner trigger to prevent administrative operations such as rmelem on elements. Change directory to the path below and type the following command to create this trigger.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<b style="font-size: 1em;">M:\myFirstView\myFirstVOB>cleartool mktrtype -element -all -postop mkelem -nc -exec "cleartool protect -chown DOMAIN\vobadm -chgrp DOMAIN\users \"%CLEARCASE_PN%\"" mkelem_postop</b></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
This trigger is launched on the client's machine immediately after an element is added. A variation of this trigger and several other useful triggers is available in the <i>Ten Best Triggers</i> article.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
There are many ClearCase resources available to help you along the way. You may find answers to some frequent questions in the <i>Rational ClearCase FAQs</i>. <a href="http://www.ibm.com/software/rational/support/contact.html" style="color: #996699;">Rational Technical Support</a> is another good resource to help resolve your ClearCase issues. In addition, the CCIUG mailing list is a very active International user group for ClearCase discussions. You can find answers to many technical ClearCase-related questions in this community.</div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="8" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div class="ibm-alternate-rule" style="background-color: white; background-image: url(http://1.www.s81c.com/i/solid.gif); background-repeat: repeat no-repeat; clear: both; height: 1px;">
</div>
<div class="ibm-ind-link ibm-back-to-top" style="background-color: white; clear: both; font-family: arial, sans-serif; font-size: 0.76em; height: 15px; padding: 5px; text-align: right;">
<a class="ibm-anchor-up-link" href="http://www.ibm.com/developerworks/rational/library/1111.html#ibm-pcon" style="background-image: url(http://1.www.s81c.com/i/v16/icons/u_bold.gif); background-position: 0px -1px; background-repeat: no-repeat no-repeat; color: #996699; display: inline; font-weight: bold; margin: 0px; padding: 0px 0px 0px 18px; text-decoration: none;">Back to top</a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N101FC"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 8: Scaling and Customization</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
As your project grows you may need to increase the hardware to improve response time. Addressing performance issues require knowing how ClearCase works. ClearCase is inherently a client-server application. Rational recommends that all the client machines and the ClearCase servers should be on the same local 100 Mbps network, preferably running full duplex. ClearCase performance drops drastically when the network latency is high.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Each VOB or view consumes resource on the server. If you find that the server is low on hardware resource, you can scale up vertically or horizontally. If your hardware is upgradeable, you can add more hardware to the existing server. You can also transfer load to another server by migrating VOBs and views to another server. Refer to the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccadmin/index.html" style="color: #996699;" target="new">Administrator's Guide for Rational ClearCase manual</a> for migration instructions. If a VOB is large and highly used, consider splitting it into two VOBs. Refer to the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/relocate.html" style="color: #996699;" target="new">relocate command</a> for more information.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
ClearCase uses up to 7 open file handles per VOB. By defaults, ClearCase allows a maximum of 1024 open file handles per VOB server. If your VOB count exceeds 100 per server, consider tuning the ClearCase Lock Manager parameter. Refer to<a href="http://solutions.rational.com/solutions/display.jsp?solutionId=704" style="color: #996699;" target="new">Technical Solutions article #704</a> for more details.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
You may still see performance problems even though the network and server resources are fine. Verify that no single VOB is being overloaded. You can migrate elements within a VOB to another VOB to distribute the load. Use the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/relocate.html" style="color: #996699;" target="new">relocate</a> command to preserve element history. The Administrator's Guide also contains a chapter on using the relocate command to split a VOB. Refer to the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccadmin/vob_relocate.html" style="color: #996699;" target="new">Splitting VOBs with relocation</a> chapter for more details. <i>The Magical World of VOB Sizing</i> article provides some guidelines for VOB boundary.</div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="9" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div class="ibm-alternate-rule" style="background-color: white; background-image: url(http://1.www.s81c.com/i/solid.gif); background-repeat: repeat no-repeat; clear: both; height: 1px;">
</div>
<div class="ibm-ind-link ibm-back-to-top" style="background-color: white; clear: both; font-family: arial, sans-serif; font-size: 0.76em; height: 15px; padding: 5px; text-align: right;">
<a class="ibm-anchor-up-link" href="http://www.ibm.com/developerworks/rational/library/1111.html#ibm-pcon" style="background-image: url(http://1.www.s81c.com/i/v16/icons/u_bold.gif); background-position: 0px -1px; background-repeat: no-repeat no-repeat; color: #996699; display: inline; font-weight: bold; margin: 0px; padding: 0px 0px 0px 18px; text-decoration: none;">Back to top</a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N10231"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 9: Segregation and Security Considerations</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
There are infrastructure security and ClearCase configurations that you should consider before rolling ClearCase out to large development groups. If there is little or no interaction between the groups, consider separating the groups by ClearCase registry regions. A region is a namespace for VOBs and view tags. Separating each group by region keeps VOB and view listings confined to that project. For each development group, create a separate release area with the group region name set in the default configuration. If a VOB server hosts VOBs from multiple projects, all the VOBs on that server must be created in the server's default region. Use cleartool hostinfo to display a machine's default region. You may need to create a VOB tag in the group region whenever you create a VOB. Refer to the man page for the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/mktag.html" style="color: #996699;" target="new">mktag</a> command for more details.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Separating development groups by regions provide some isolation. Since many cleartool commands allows overriding the default listing with a -region option, isolation by region is not strictly enforceable. The <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/permissions.html" style="color: #996699;" target="new">permissions page</a> in the Command Reference manual describes the access control of administrative commands. In general the superuser, VOB owner or vobadm are administrative users. Protect these accounts with strong password. Protect the Windows domain by monitoring users of clearcase and Domain Admins group. Anyone with Domain Admins group can modify your clearcase domain group to become a ClearCase administrator. Do not use autohome for the vobadm account. Do not allow automatic rlogins as vobadm from untrusted hosts.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
Assuming the administrative accounts are secured, you should restrict checkouts for each VOB. ClearCase determines whether or not a user can checkout based on his/her group membership and the groups in the VOB. You can find the VOB groups using the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/describe.html" style="color: #996699;" target="new">describe</a> command. You can change the VOB groups using the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/protectvob.html" style="color: #996699;" target="new">protectvob</a> command.</div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
You can restrict VOB access further by protecting elements within a VOB. Use the <a href="http://www.rational.com/docs/v2002/cc/ccase_all/ccref/protect.html" style="color: #996699;" target="new">protect</a> command to change element permissions. ClearCase uses Unix-style security on files and directory. If you want to completely remove read, browse, or write access to everyone outside of a group, remove others permission from the VOB root element. You can even restrict access to just yourself by removing group and others permission from the VOB root element.</div>
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="10" style="background-color: white;"></a><span style="background-color: white;"></span><br />
<div class="ibm-alternate-rule" style="background-color: white; background-image: url(http://1.www.s81c.com/i/solid.gif); background-repeat: repeat no-repeat; clear: both; height: 1px;">
</div>
<div class="ibm-ind-link ibm-back-to-top" style="background-color: white; clear: both; font-family: arial, sans-serif; font-size: 0.76em; height: 15px; padding: 5px; text-align: right;">
<a class="ibm-anchor-up-link" href="http://www.ibm.com/developerworks/rational/library/1111.html#ibm-pcon" style="background-image: url(http://1.www.s81c.com/i/v16/icons/u_bold.gif); background-position: 0px -1px; background-repeat: no-repeat no-repeat; color: #996699; display: inline; font-weight: bold; margin: 0px; padding: 0px 0px 0px 18px; text-decoration: none;">Back to top</a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="N10263"><span class="atitle" style="font-size: 1.5em; font-weight: bold;">Section 10: Summary</span></a></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 0.76em; padding: 0.3em 5px 0.7em;">
ClearCase is a powerful and flexible software configuration management solution. ClearCase scales well to large complex software development projects including aerospace, telecommunications, and defense projects. ClearCase can also be configured with ease of use for a small development groups. The ccweb interface allows simple access to documents and other artifacts in ClearCase. The Unified Change Management provides a quick and powerful change set management policies. There is a wide range of customizable solutions packed into ClearCase. There are many articles available in the Rational Developer Network to help you plan, design, and customize to fit your organization. The ClearCase administrator has the ultimate flexibility in configuring ClearCase to fit organizational requirements.</div>
<br />
<br />
Thanks to IBM for this wonderful article.</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com1tag:blogger.com,1999:blog-2977726796855647984.post-89068235956207052412012-05-09T20:00:00.003-07:002012-05-15T22:58:23.960-07:00ClearCase Overview for Beginners<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: -webkit-auto;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="ClearCase" style="background-color: white;"><b><span lang="EN-US" style="font-size: 14pt;">What is ClearCase?</span></b></a></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">ClearCase is a program for software configuration management and version control of all types of files & directories (elements).<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">It enables parallel development on geographically distributed sites.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">ClearCase runs in both Unix and Windows. There is two interfaces in UNIX, command line (CLI) and graphical (GUI).<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">It enables access to files and directories as usual, but if you would like to change elements you must use ClearCase.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">The method to work with elements is check-out/edit/check-in.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="whvob"><b><span lang="EN-US" style="font-size: 14pt;">What is a VOB?</span></b></a><b><span lang="EN-US" style="font-family: 'Ericsson Sans'; font-size: 14pt;"></span></b><b><span lang="EN-US" style="font-family: 'Ericsson Sans'; font-size: 14pt;"><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol; font-size: 14pt;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">A</span><b><span lang="EN-US" style="font-family: 'Ericsson Sans'; font-size: 14pt;"> </span></b><span lang="EN-US">VOB (Version Object Base) is a database (repository) that stores version-controlled elements, such as source files, binary files, directories etc.</span><b><span lang="EN-US" style="font-family: 'Ericsson Sans'; font-size: 14pt;"><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol; font-size: 14pt;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">You must mount a VOB (make a connection) before accessing the elements in it.</span><b><span lang="EN-US" style="font-family: 'Ericsson Sans'; font-size: 14pt;"><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol; font-size: 14pt;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">A VOB can be mounted on some or all workstations. A project can have more than one VOB.</span><b><span lang="EN-US" style="font-family: 'Ericsson Sans'; font-size: 14pt;"><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">ClearCase protects files in the VOB from accidental modification, thereby all the elements is stored as read-only.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">Each VOB must have a descriptive name, called a VOB-tag. When accessing elements or working with VOBs, you use the VOB-tag. When listing VOBs you see the tag and the storage path like this:<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="EN-US"> /vobs/cc_vobtest /net/wrnsg03/export/vobs/vob1/cc_vobtest.vbs<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<i><span lang="EN-US"> </span><span lang="SV">VOB-tag</span></i><b><i><span lang="SV" style="font-family: 'Ericsson Sans'; font-size: 14pt;"> </span></i></b><i><span lang="SV">Storage path<o:p></o:p></span></i></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-US" style="font-size: 14pt;">What is a</span></b><a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="view_"></a><b view?=""><span lang="EN-US" style="font-size: 14pt;"> view</span></b><br />
<a name='more'></a><br />
<b><span lang="EN-US" style="font-size: 14pt;"></span></b><br />
<b><span lang="EN-US" style="font-size: 14pt;">Read More...<br /><br /><span style="font-family: 'Ericsson Sans';"><o:p></o:p></span></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">A filter to access files in a VOB.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">You must set a view (make it active) before you can access files.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">You specify what you want to see in your view (which version of the file/directory), by the rules in your config spec.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">A view only shows one version of each file/directory.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">Each user may have multiple views. As for example, a view for new development, a view for bug fixing etc.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">There are two types of views:<b><o:p></o:p></b></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">Dynamic views – displays versions held in the VOB. Provide immediate, transparent access to the data in the VOBs.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">Snapshot views – copies the elements to your local file system.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">Most common is dynamic views.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">Each view must have a descriptive name, called a view-tag. When working with views, you use the view-tag. When listing views you see the tag and the storage path like this:<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="EN-US"> cc_viewtest /net/wrnsg03/export/views/view1/cc_viewtest.vws<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="EN-US"> </span><i><span lang="EN-AU">View-tag Storage path</span></i><span lang="EN-US"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<span style="background-color: white; text-align: -webkit-auto;"></span><span style="background-color: white; text-align: -webkit-auto;"></span><br />
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-AU" style="font-size: 14pt;">What is an element?</span></b><b><span lang="EN-AU"><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<ul style="background-color: white; margin-bottom: 0cm; margin-top: 0cm; text-align: -webkit-auto;" type="disc">
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">An element is a file or directory placed under control with ClearCase.<o:p></o:p></span></li>
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">An element consists of a structure of organized versions, called a version tree.<o:p></o:p></span></li>
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">Elements can have any number of versions.</span><b><span lang="EN-AU" style="font-size: 14pt;"><o:p></o:p></span></b></li>
</ul>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-AU" style="font-size: 14pt;">What is a version </span></b><a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="v_tree"></a><b><span lang="EN-AU" style="font-size: 14pt;">tree<o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">A version tree is a representation of the different versions of a file or directory.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-AU" style="font-family: Symbol; font-size: 14pt;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">A version tree can include multiple branches, of which each represents an independent line of development</span><b><span lang="EN-AU" style="font-size: 14pt;"><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-AU" style="font-size: 14pt;"> </span><span lang="SV"><img height="246" src="http://hem.passagen.se/ibc.osd/cc_overview_files/image001.gif" v:shapes="_x0000_i1025" width="171" /></span></b><b><span lang="EN-US"> <o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-US"> <o:p></o:p></span></b></div>
<h1 style="background-color: white; font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto;">
<span lang="EN-US"> </span><span lang="EN-US" style="font-size: 10pt; font-weight: normal;">Fig. Version tree<o:p></o:p></span></h1>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: auto; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: auto; text-align: -webkit-auto;">
<span lang="EN-US">What is a</span><a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="branch"><span lang="EN-US"> branch?</span></a></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">A new element will be placed on the “main” branch.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">New projects and when working with a bug fix, usually gets their own branch.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">The figure is showing a version tree of the file <i>hello.c</i>, with different branches<b>.<o:p></o:p></b></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="SV"><img height="306" src="http://hem.passagen.se/ibc.osd/cc_overview_files/image003.gif" v:shapes="_x0000_i1026" width="576" /><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<h1 style="background-color: white; font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto;">
<span lang="EN-US" style="font-size: 10pt; font-weight: normal;">Fig: Version tree with branches</span></h1>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-US" style="font-size: 14pt;">What </span></b><a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="label"></a><b><span lang="EN-US" style="font-size: 14pt;">is a label?<o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol; font-size: 14pt;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">You label versions </span><span lang="EN-US">of special interest</span><span lang="EN-AU">, for example versions that </span><span lang="EN-US">are</span><span lang="EN-AU"> a part of a release of your product.</span><span lang="EN-US" style="font-size: 14pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol; font-size: 14pt;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-US">Labels are always written in uppercase.</span><span lang="EN-US" style="font-size: 14pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="EN-US"> </span><span lang="SV"><img height="265" src="http://hem.passagen.se/ibc.osd/cc_overview_files/image004.gif" v:shapes="_x0000_i1027" width="227" /><o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="SV"> </span><span lang="EN-US"> </span><span lang="EN-US" style="font-size: 10pt;">Fig. Version tree with labels<o:p></o:p></span></div>
<span style="background-color: white; text-align: -webkit-auto;"></span><span style="background-color: white; text-align: -webkit-auto;"></span><br />
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto;">
<span lang="EN-US">What is a config spec (Configuration specification)?</span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol; font-weight: normal;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-AU" style="font-size: 12pt; font-weight: normal;">Rules that determines which version of the elements (folders, files) that are visible in a view.</span></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol; font-weight: normal;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-AU" style="font-size: 12pt; font-weight: normal;">Each view has its own config spec.</span><span lang="EN-AU"></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="SV"><img height="379" src="http://hem.passagen.se/ibc.osd/cc_overview_files/image005.gif" v:shapes="_x0000_i1028" width="552" /><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="EN-US" style="font-size: 10pt;">Fig. The rules in the config spec decides which version of the elements, that will be shown in the view.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<span style="background-color: white; text-align: -webkit-auto;"></span><span style="background-color: white; text-align: -webkit-auto;"></span><br />
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: avoid; text-align: -webkit-auto;">
<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="view_private_file"><span lang="EN-US">What is a </span></a><a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="view_private"><span lang="EN-US">view-private file?</span></a></div>
<ul style="background-color: white; margin-bottom: 0cm; margin-top: 0cm; text-align: -webkit-auto;" type="disc">
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">A private file not made to an element, will only be visible in this view.<o:p></o:p></span></li>
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">A checked out file will become view-private.<o:p></o:p></span></li>
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">A file that exists only in a particular view. A private file is not version-controlled, except insofar as it is separate from private files in other views.<o:p></o:p></span></li>
</ul>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-US" style="font-size: 14pt;">What is <a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="checkout">a</a> checkout?</span></b><b><span lang="EN-US" style="font-size: 14pt;"><o:p></o:p></span></b></div>
<ul style="background-color: white; margin-bottom: 0cm; margin-top: 0cm; text-align: -webkit-auto;" type="disc">
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">To be able to edit elements (change a file or directory) you have to do a “checkout”.<o:p></o:p></span></li>
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">There are two types of checkouts:<o:p></o:p></span></li>
<ul style="margin-bottom: 0cm; margin-top: 0cm;" type="circle">
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">Reserved – A checkout is <i>reserved</i> as default. An element can only have one reserved checkout for the same bra<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="_Hlt520256930">n</a>ch at a time. Prevents checking in from other users.<o:p></o:p></span></li>
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">Unreserved - Can be done regardless other checkouts of the element. Many unreserved checkouts of an element can exist. Must be m<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="_Hlt519922670">e</a>rged with the latest version before checking in, if there has been a former check-in of the element on the branch. See below.<o:p></o:p></span></li>
</ul>
</ul>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 54pt; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<ul style="background-color: white; margin-bottom: 0cm; margin-top: 0cm; text-align: -webkit-auto;" type="disc">
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">If you regret your checkout you can do an uncheckout. You will prompted to save your modification in a view-private file with a .keep extension</span><b><span lang="EN-US">.<o:p></o:p></span></b></li>
</ul>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: auto; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: auto; text-align: -webkit-auto;">
<span lang="EN-US">What is <a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="checkin"></a>checking in?</span></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 18pt; margin-right: 0cm; margin-top: 0cm; page-break-after: auto; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; page-break-after: auto; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-AU" style="font-family: Symbol; font-size: 12pt; font-weight: normal;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-AU" style="font-size: 12pt; font-weight: normal;">When you check-in a file or directory there will be a new version in the VOB.<o:p></o:p></span></div>
<ul style="background-color: white; margin-bottom: 0cm; margin-top: 0cm; text-align: -webkit-auto;" type="disc">
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-AU">The editable version copy of the file is removed from your view.<o:p></o:p></span></li>
</ul>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; page-break-after: auto; text-align: -webkit-auto;">
<span lang="EN-US">What<a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="merging_"> </a>is </span><span lang="EN-US">merging?</span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; page-break-after: auto; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-US" style="font-family: Symbol; font-weight: normal;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-AU" style="font-size: 12pt; font-weight: normal;">Combining contents of files or directories.</span></div>
<div class="H3" style="background-color: white; font-size: 14pt; font-weight: bold; margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; page-break-after: auto; text-align: -webkit-auto; text-indent: -18pt;">
<span lang="EN-AU" style="font-family: Symbol; font-size: 12pt; font-weight: normal;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><span lang="EN-AU" style="font-size: 12pt; font-weight: normal;">The differences are pointed out and the user decides which changes to be done.<o:p></o:p></span></div>
<ul style="background-color: white; margin-bottom: 0cm; margin-top: 0cm; text-align: -webkit-auto;" type="disc">
<li class="MsoNormal" style="font-size: 12pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"><span lang="EN-US">The merge can be done from any branch to another.<o:p></o:p></span></li>
</ul>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-US"> </span><span lang="SV"><img height="384" src="http://hem.passagen.se/ibc.osd/cc_overview_files/image006.gif" v:shapes="_x0000_i1029" width="303" /><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-US"> </span></b><span lang="EN-AU" style="font-size: 10pt;">Fig. Checking in / merging an unreserved checkout</span><span lang="EN-US" style="font-size: 14pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-US" style="font-size: 14pt;">Graphic </span></b><a href="http://www.blogger.com/blogger.g?blogID=2977726796855647984" name="interface"></a><b><span lang="EN-US" style="font-size: 14pt;">interface</span></b><b><span lang="EN-US"><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="EN-US">The File Browser shows files and directories from a VOB. From here, you can checkout, check-in, display the version tree of files etc. Your views config spec decides what and which versions of the elements you see in the file browser.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
</div>
<table align="left" cellpadding="0" cellspacing="0"><tbody>
<tr><td height="0" width="29"></td></tr>
<tr><td></td><td><img height="224" src="http://hem.passagen.se/ibc.osd/cc_overview_files/image008.gif" v:shapes="_x0000_s1027" width="493" /></td></tr>
</tbody></table>
<br />
<br />
<br />
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<b><span lang="EN-US"> </span></b><span lang="EN-US" style="font-size: 10pt;">Fig. File Browser</span><b><span lang="EN-US"><o:p></o:p></span></b></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="EN-US">The Vtree Browser shows all the versions of an element. From here you can check-out, edit and check-in files. There are also options for comparing different versions of files with a “diff tool” and possibilities to merge files.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
</div>
<table align="left" cellpadding="0" cellspacing="0"><tbody>
<tr><td height="0" width="41"></td></tr>
<tr><td></td><td><img height="266" src="http://hem.passagen.se/ibc.osd/cc_overview_files/image010.jpg" v:shapes="_x0000_s1026" width="467" /></td></tr>
</tbody></table>
<br />
<br />
<br />
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="EN-US" style="font-size: 10pt;"> Fig. Vtree Browser<o:p></o:p></span></div>
<b style="background-color: white; text-align: -webkit-auto;"><span lang="EN-US" style="font-size: 12pt;"><br clear="all" style="page-break-before: always;" /></span></b><span style="background-color: white; text-align: -webkit-auto;"></span><br />
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="EN-US">The History Browser describes the changes made to en element, like creating, checking-out etc.<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="SV"><img height="382" src="http://hem.passagen.se/ibc.osd/cc_overview_files/image012.gif" v:shapes="_x0000_i1031" width="576" /><o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<span lang="SV" style="font-size: 10pt;">Fig. History Browser<o:p></o:p></span></div>
<div class="MsoNormal" style="background-color: white; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: -webkit-auto;">
<br /></div>
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com7tag:blogger.com,1999:blog-2977726796855647984.post-48309272708712429992012-05-09T04:58:00.000-07:002012-05-09T04:58:00.004-07:00Perl Video tutorial for beginners<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
Excellent Video Tutorial on Perl for beginners. Perl scripting , variables , example programs etc., are very well explained.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/1pVolaKhxVM?feature=player_embedded' frameborder='0'></iframe></div>
<br /></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-77625085999442267582012-05-09T04:54:00.004-07:002012-05-09T04:58:42.031-07:00Unix tutorial for beginners<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
This is a step-by-step video tutorial for beginners on Unix Operating system.</div>
<div class="separator" style="clear: both; text-align: left;">
File navigation , listing files , directories and other basic commands are explained here.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/NX44RQVw0s0?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<br /></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com1tag:blogger.com,1999:blog-2977726796855647984.post-74556335133391723742012-05-09T04:48:00.003-07:002012-05-09T04:59:27.637-07:00Rational ClearCase - A quick start tutorial<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
If you have prior understanding of other version control systems , but has joined a new team that uses clearcase - here is a quick start for the SCM engineers in ClearCase</div>
<div>
<br /></div>
<br />
<h3 style="background-color: white; border-bottom-color: rgb(21, 49, 126); border-bottom-style: solid; border-bottom-width: 1px; color: #15317e; font-family: Arial, sans-serif; font-size: 16px; line-height: 19px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 694px;">
Concepts</h3>
<ul style="background-color: white; color: #3d3d3d; font-family: Arial, sans-serif; font-size: 14px; line-height: 19px; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 20px; padding-right: 5px; padding-top: 0px;">
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><b style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">VOB or Versioned Object Base:</b> This is the permanent data repository of a development tree or subtree storing all file system elements. It is typically hosted on in the network on a remote host and mounted as an MVFS file system on the user’s machine.</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><b style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">View:</b> A view is what you use to access a VOB transparently. Without a view, the VOB appears to be empty.</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><b style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">Elements,Branches,and Versions:</b> A versioned file system object in a VOB is called an element. There can be multiple versions of each element logically organized into a hierarchical version tree containing multiple branches/sub-branches.</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><b style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">Config Spec:</b> A config spec is a document that contains a set of rules that is used by the view for selecting the versions of elements. A simplified explanation would be that a config spec is a filter that determines what versions of elements from the vob gets loaded into a view. Typically the Clearcase admin or project lead will provide you with a config spec and it looks somewhat like this:</li>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
########################################<br />
# config spec:<br />
# line1 - Select any files I have checked out<br />
# line 2 - Ignore lost+found.<br />
# line 3 - Select the LATEST element on the main branch<br />
########################################<br />
element * CHECKEDOUT<br />
element …/lost+found/… -none<br />
element * /main/LATEST</div>
</blockquote>
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Of course, a real config spec is much larger and more complicated.<br />
<br />
<a name='more'></a>Read More..</div>
</ul>
<h3 style="background-color: white; border-bottom-color: rgb(21, 49, 126); border-bottom-style: solid; border-bottom-width: 1px; color: #15317e; font-family: Arial, sans-serif; font-size: 16px; line-height: 19px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 694px;">
Usage</h3>
<ul style="background-color: white; color: #3d3d3d; font-family: Arial, sans-serif; font-size: 14px; line-height: 19px; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 20px; padding-right: 5px; padding-top: 0px;">
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">So to get started, get your vob tag from your clearcase admin and activate your vob. Note: You may not need to perform this step as this process may have already been completed when your clearcase client installation was completed. Also note that you will need cleartool (ct) in your path.<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct mount vob_tag</div>
</blockquote>
</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">Then create a view (say my_view) specifying where you want your view storage location.<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct mkview -tag my_view /path/to/location/the_view.vws</div>
</blockquote>
</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">Now set the config spec.<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct setcs your_config_spec</div>
</blockquote>
</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">You are now ready to check out your file.<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct co -c ‘add your comment here’ <filename></div>
</blockquote>
</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">After you have modified the file, you can check it in using the following command:<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct ci -nc <filename></div>
</blockquote>
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Use the -nc option if you do not want to add any comments.</div>
</li>
</ul>
<div style="background-color: white; color: #3d3d3d; font-family: Arial, sans-serif; font-size: 14px; line-height: 19px; margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
Other common commands:</div>
<ul style="background-color: white; color: #3d3d3d; font-family: Arial, sans-serif; font-size: 14px; line-height: 19px; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 20px; padding-right: 5px; padding-top: 0px;">
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">Undo checkout:<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct unco <filename></div>
</blockquote>
</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">Check out a file but dont reserve it<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct co -unres <filename></div>
</blockquote>
</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">List all files checked out:<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct lsco -all -cview</div>
</blockquote>
</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">Diff a file with its previous version<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct diff -pred <filename></div>
</blockquote>
</li>
<li style="list-style-type: disc; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">See the history of a file<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
</div>
<blockquote style="background-attachment: initial; background-clip: initial; background-color: #f1f1f1; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(33, 117, 155); border-bottom-style: dashed; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(33, 117, 155); border-left-style: dashed; border-left-width: 1px; border-right-color: rgb(33, 117, 155); border-right-style: dashed; border-right-width: 1px; border-top-color: rgb(33, 117, 155); border-top-style: dashed; border-top-width: 1px; font-family: 'Courier New'; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 564px;">
<div style="margin-bottom: 10px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;">
ct lshist <filename></div>
</blockquote>
</li>
</ul>
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com3tag:blogger.com,1999:blog-2977726796855647984.post-49405339226606462572012-04-16T02:35:00.000-07:002012-04-16T02:36:03.155-07:00Maven Plug-in For Eclipse<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
Work with maven inside your eclipse IDE with this maven plug-in for eclipse.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/xE2F4Z_wKCU/0.jpg" height="266" width="320"><param name="movie" value="http://www.youtube.com/v/xE2F4Z_wKCU&fs=1&source=uds" />
<param name="bgcolor" value="#FFFFFF" />
<embed width="320" height="266" src="http://www.youtube.com/v/xE2F4Z_wKCU&fs=1&source=uds" type="application/x-shockwave-flash"></embed></object></div>
<br /></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-41088686997865255752012-04-16T02:22:00.001-07:002012-04-16T02:22:07.535-07:00Creating a maven project with eclipse<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
This Video Demonstrate how you create a maven project with eclipse , how do you deploy using maven</div>
<div class="separator" style="clear: both; text-align: left;">
Lot of useful tips for the beginners.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/uv9tXFrTLtI?feature=player_embedded' frameborder='0'></iframe></div>
<br /></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-7106394019740141072012-04-02T06:48:00.000-07:002012-04-02T06:48:15.083-07:00Build Automation and Continous Integration with TFS 2010<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
This is a wonderful tutorial on Build Automation and Continous Integration with Team Foundation Server </div>
<div class="separator" style="clear: both; text-align: center;">
2010.</div>
<div class="separator" style="clear: both; text-align: center;">
The Topics Covered :</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Build Definition</div>
<div class="separator" style="clear: both; text-align: center;">
Build Process templates</div>
<div class="separator" style="clear: both; text-align: center;">
Check-in Policies</div>
<div class="separator" style="clear: both; text-align: center;">
Work Flows</div>
<div class="separator" style="clear: both; text-align: center;">
MS Build Integration </div>
<div class="separator" style="clear: both; text-align: center;">
Work Item Tracking</div>
<div class="separator" style="clear: both; text-align: center;">
TFS Source Control / Version Control System</div>
<div class="separator" style="clear: both; text-align: center;">
Gated Check-ins</div>
<div class="separator" style="clear: both; text-align: center;">
and many more features.....</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
They are all very well discussed and is great help for everyone.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/oxJUhIQfzlA?feature=player_embedded' frameborder='0'></iframe></div>
<br /></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-20395231599173971852012-04-02T06:42:00.001-07:002012-04-02T06:43:43.323-07:00TFS 2010 Installation<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
In this tutorial - you can find details about the following :</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
IIS installation</div>
<div class="separator" style="clear: both; text-align: center;">
TFS Installation and lot of installation steps and scenarios.</div>
<div class="separator" style="clear: both; text-align: center;">
Hope you like the tutorial.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/9jkZBOMUbqo?feature=player_embedded' frameborder='0'></iframe></div>
<br /></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-49708802710402848722012-03-26T00:19:00.001-07:002012-03-26T00:23:15.184-07:00Apache Ant Step-by-step tutorial<div dir="ltr" style="text-align: left;" trbidi="on">I have tried to give here a detailed step by tutorial on ANT for all<br />
It can help you set up ANT from scratch.<br />
<br />
The steps include download ANT , set up environment variables,<br />
write sample build script and execute .<br />
<br />
Find the article here<br />
<br />
<a name='more'></a><br />
<br />
<br />
<br />
<table border="1" cellpadding="2" cellspacing="2" style="width: 989px;"><tbody>
<tr><td style="vertical-align: top; width: 619px;">hy use Apache Ant?<br />
The Eclipse IDE is fairly powerful with much automation task. This is until I start to deploy my java programs. Especially those java web application where they have a unqiue file structure from normal standalone java applications. I had to manually setup and copy files for deployment. There are so many steps, and the only way to remember what to do is to have them documented step by step. This is the reason I have built up www.siongboon.com, which is my documentation site. As things get more and more complex, the process gets longer and more tedious than before. I had to repeat the tasks for each deployment testing.<br />
Apache Ant is the solution to all my problem. It is an automated script that allows programmer to do various type of task. Almost any task can be automated. For example compile, build, copy, delete files and directory. The script releases me from the tedious and repective tasks, deploying and testing my codes. The step by step automated script can also become the documentation for deploying my project.<br />
The ant script "build.xml" contains instruction to execute a sequence of tasks. The sequence of tasks actually provides the documentation of how the java project should be build and subsequently deployed.<br />
It is rather difficult for me to learn at first. Once you go through the tutorial, it will become easier. I had included many comment in the build.xml file for learning purposes.<br />
<br />
<br />
</td></tr>
<tr><td style="vertical-align: top; width: 222px;"><span style="color: #006600; text-decoration: underline;">Running Ant</span><br />
1- Download & Setup Apache Ant</td><td style="vertical-align: top; width: 619px;"><span style="text-decoration: underline;"><a href="http://ant.apache.org/"><img alt="apache ant" src="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/logo_apache_ant.gif" style="border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: solid; border-left-width: 0px; border-right-style: solid; border-right-width: 0px; border-top-style: solid; border-top-width: 0px; height: 65px; width: 250px;" /></a><a href="http://ant.apache.org/"><img alt="apache ant" src="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/logo_apache_ant2.gif" style="border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: solid; border-left-width: 0px; border-right-style: solid; border-right-width: 0px; border-top-style: solid; border-top-width: 0px; height: 65px; width: 105px;" /></a></span><br />
<br />
- Download <a href="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/apache-ant-1.8.1-bin.zip">Apache Ant1.8.1</a><br />
Please visit the website <a href="http://ant.apache.org/">http://ant.apache.org/</a> to download the lastest version.<br />
<br />
- Unzip Apache Ant. For this example, I copy the unzipped directory "apache-ant-1.8.1" to<br />
"C:\Program Files\Apache Software Foundation\"<br />
<br />
- Setup the environment variables in Windows OS<br />
Go to Start>Control Panel>System Properties>Advanced>Environment Variables...>System variables<br />
<span style="color: #999999;">or press shortcut key "Windows Key" + "Pause"</span><br />
<br />
<div style="text-align: center;"><code><a href="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var1.jpg"><img alt="" border="0" height="474" src="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var1.jpg" style="border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: solid; border-left-width: 0px; border-right-style: solid; border-right-width: 0px; border-top-style: solid; border-top-width: 0px; height: 474px; width: 426px;" width="426" /></a></code></div><br />
Create a New System Variable:<br />
Variable name: "<code>ANT_HOME"</code> Variable value: <code>"C:\Program Files\Apache Software Foundation\apache-ant-1.8.1"<br />
</code><br />
<div style="text-align: right;"><div style="text-align: center;"><code></code><code><a href="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var3.jpg"><img alt="" src="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var3.jpg" style="border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: solid; border-left-width: 0px; border-right-style: solid; border-right-width: 0px; border-top-style: solid; border-top-width: 0px; height: 153px; width: 357px;" /></a></code></div><code></code></div><code><br />
</code>Add/Modify to Path Variable:<br />
Variable name: "<code>PATH</code><code>"</code> append the following to Variable value: ";<code>%ANT_HOME%\bin</code><code>"<br />
</code><br />
<div style="text-align: center;"><code></code><code><a href="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var2.jpg"><img alt="" border="0" height="436" src="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var2.jpg" style="border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: solid; border-left-width: 0px; border-right-style: solid; border-right-width: 0px; border-top-style: solid; border-top-width: 0px; height: 436px; width: 394px;" width="394" /></a><br />
<br />
<a href="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var4.jpg"><img alt="" src="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var4.jpg" style="border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: solid; border-left-width: 0px; border-right-style: solid; border-right-width: 0px; border-top-style: solid; border-top-width: 0px; height: 153px; width: 357px;" /></a></code><code></code></div><code><br />
</code>Create a New System Variable:<br />
Variable name: "<code>JAVA_HOME</code><code>"</code> Variable value: <code>"C:\Program Files\Java\jdk1.6.0_21"<br />
<Java JDK installed directory>"</code><br />
<div style="text-align: center;"><a href="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var5.jpg"><img alt="" src="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var5.jpg" style="border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: solid; border-left-width: 0px; border-right-style: solid; border-right-width: 0px; border-top-style: solid; border-top-width: 0px; height: 153px; width: 357px;" /></a></div><br />
Add/Modify to Path Variable:<br />
Variable name: "<code>PATH</code><code>"</code> append the following to Variable value: "<code>;%JAVA_HOME%\bin"</code><br />
<div style="text-align: center;"><a href="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var6.jpg"><img alt="" src="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var6.jpg" style="border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: solid; border-left-width: 0px; border-right-style: solid; border-right-width: 0px; border-top-style: solid; border-top-width: 0px; height: 153px; width: 357px;" /></a></div><br />
You may need to reset the computer system for the setup to take effect.<br />
<br />
To test if the Java environment is setup correctly, key in the following at command prompt,<br />
<span style="color: #666666;">C:\Users\LSB>javac -version</span><br />
The following output reponse indicates that the Java development environment is setup correctly,<br />
<span style="color: #666666;"> javac 1.6.0_21</span><br />
<br />
To test if the Apache Ant environment is setup correctly, key in the following at command prompt,<br />
<span style="color: #666666;">C:\Users\LSB>ant -version</span><br />
The following output reponse indicates that the Apache Ant script environment is setup correctly,<br />
<span style="color: #666666;">Apache Ant version 1.8.1 compiled on April 30 2010</span><br />
<br />
<div style="text-align: center;"><a href="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var7.jpg"><img alt="" src="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/env_var7.jpg" style="border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: solid; border-left-width: 0px; border-right-style: solid; border-right-width: 0px; border-top-style: solid; border-top-width: 0px; height: 215px; width: 645px;" /></a></div><br />
If you get error message, please ensure again that the environment variable is setup correctly.<br />
You may need to reset the computer system for the environment variables to take effect.<br />
<br />
</td></tr>
<tr><td style="vertical-align: top; width: 222px;">2- Setup a java project example</td><td style="vertical-align: top; width: 619px;">example: <a href="http://www.siongboon.com/projects/2009-06-28%20Java%20and%20Eclipse/5_apache_ant/testAnt.zip">testAnt.zip</a><br />
Ant script example: build.xml file inside the zip file. It is located at the root of the project folder.<br />
Unzip the testAnt.zip onto a directory for the ant tutorial.<br />
<br />
Before you begin the tutorial, ensure that you have properly setup your java compiler & environment.</td></tr>
<tr><td style="vertical-align: top; width: 222px;"><br />
</td><td style="vertical-align: top; width: 619px;">a) cd.... to your project<br />
b) command to build the java project. (compile and copy files)<br />
<span style="color: #333333; font-family: Courier; font-weight: bold;">ant build</span><br />
"build" is the name of the task, or in Ant it is call a target.<br />
c) command to run the default task.<br />
<span style="color: #333333; font-family: Courier; font-weight: bold;">ant</span><br />
By keying only "ant" as the command, the default target will be run. In this example, the default target is configured to be "build". Therefore, in this Ant script, the command "ant build" is the same as "ant".<br />
d) command to run multiple task in sequence.<br />
<span style="color: #333333; font-family: Courier; font-weight: bold;">ant task1 task2 task3</span></td></tr>
</tbody></table></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-28796108401246627102012-03-01T05:27:00.000-08:002012-03-01T05:27:03.674-08:00Jira 5 - overview<div dir="ltr" style="text-align: left;" trbidi="on">Over view of Jira 5 - All the basic steps are detailedly explained here.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/ca8n9uW3afg?feature=player_embedded' frameborder='0'></iframe></div><br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-21104727833247615742012-03-01T05:25:00.000-08:002012-03-01T05:25:49.306-08:00Jira - Adminstration , Integration and Bug Tracking<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;">Good Tutorial on Jira Adminstration , Jira Integration , Bug Tracking / Issue Tracking with Jira</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/ylMqfFIebuw?feature=player_embedded' frameborder='0'></iframe></div><br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-50909539159588376772012-02-28T01:08:00.000-08:002012-02-28T01:08:52.951-08:00Interview Questions - Build Automation, SCM , Continous Integration part-1<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<div class="MsoNormal"><b><span style="color: #c0504d; font-size: 12pt; line-height: 115%;">Interview Questions – Build Automation, Configuration Management, Continous Integration<o:p></o:p></span></b></div><div class="MsoNoSpacing"><br />
</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">1.<span style="font-size: 7pt;"> </span>What factors influence the opening of a feature branch?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">2.<span style="font-size: 7pt;"> </span>What is the purpose of continuous integration for a development team?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">3.<span style="font-size: 7pt;"> </span>Describe a branch structure for a highly iterative web product?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">4.<span style="font-size: 7pt;"> </span>Please describe what you consider to be the three most important Software Configuration Management Best Practices?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">5.<span style="font-size: 7pt;"> </span>What do you consider to be the essential Source Code Administration tasks that need to be done?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">6.<span style="font-size: 7pt;"> </span>Can you describe the Software Development Lifecycle Method that you find to be the most effective?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">7.<span style="font-size: 7pt;"> </span>Please name and describe in detail the five most important aspects of the software build process?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">8.<span style="font-size: 7pt;"> </span>What do you think about configuration management?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">9.<span style="font-size: 7pt;"> </span>What do you understand about Change Management?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">10.<span style="font-size: 7pt;"> </span>Explain different types of branching methodologies</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;"><br />
</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">Read More >></div><a name='more'></a><br />
<br />
<div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">11.<span style="font-size: 7pt;"> </span>Concept of Merging and Why do we need?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">12.<span style="font-size: 7pt;"> </span>What do you think about build Management?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">13.<span style="font-size: 7pt;"> </span>What are the key benefit of build Automation and what are the key inputs to automate the build process in the project?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">14.<span style="font-size: 7pt;"> </span>Discuss about tools and technology which help to automate the entire build cycle. </div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">15.<span style="font-size: 7pt;"> </span>What is Continuous Build Integration and How this is useful for the project?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">16.<span style="font-size: 7pt;"> </span>What is daily build & nightly builds and what are the process need to set up to Automate & monitor consistently.</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">17.<span style="font-size: 7pt;"> </span>Explain in details for writing build sciprt for any project</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">18.<span style="font-size: 7pt;"> </span>What do you think about release Management?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">19.<span style="font-size: 7pt;"> </span>Talk about Release Management on several platforms?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">20.<span style="font-size: 7pt;"> </span>What do you understand about Packaging and Deployment?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">21.<span style="font-size: 7pt;"> </span>How to Automate Remote Deployment of Builds on Development & Test Servers?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">22.<span style="font-size: 7pt;"> </span>What is workflow management. exmplain this in details.</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">23.<span style="font-size: 7pt;"> </span>What do you understand about Code Coverage? Describe repective tools & utilities.</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">24.<span style="font-size: 7pt;"> </span>Describe the Integrate Packaging scripts & Test Automation scripts with build & Monitor build verification test status and tools.</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">25.<span style="font-size: 7pt;"> </span>What do you understand about multisite project</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">26.<span style="font-size: 7pt;"> </span>How SCM team perform integration and co-ordination between Dev and QA</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">27.<span style="font-size: 7pt;"> </span>Explain Troubleshooting in Build Server and Process</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">28.<span style="font-size: 7pt;"> </span>Explain Troubleshooting in Configuration Server and Process</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">29.<span style="font-size: 7pt;"> </span>Explain Troubleshooting inMost popular java Comipler issues in build server </div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">30.<span style="font-size: 7pt;"> </span>Explain Troubleshooting inMost popular C++ compiler issues in build server </div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">31.<span style="font-size: 7pt;"> </span>software packaging tools if they will be packaging or writing the installations for the releases.</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">32.<span style="font-size: 7pt;"> </span>Overview of Batch Scripts and top 25 commands</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">33.<span style="font-size: 7pt;"> </span>Discuss about Web Servers and Application servers</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">34.<span style="font-size: 7pt;"> </span>What do you think about distributed and multi-site environment</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">35.<span style="font-size: 7pt;"> </span>Can you name some software development methodologies and describe them?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">36.<span style="font-size: 7pt;"> </span>What are Bug /Issue Tatcking tools available and descibe them</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">37.<span style="font-size: 7pt;"> </span>How does Subversion handle binary files?</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">38.<span style="font-size: 7pt;"> </span>What are the difference Between Bea Weblogic IBM Websphere</div><div class="MsoNoSpacing" style="margin-left: .25in;"><b><span style="color: red;">Perforce :<o:p></o:p></span></b></div><div class="MsoNoSpacing"><br />
</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">39.<span style="font-size: 7pt;"> </span>What are basic skills required for Perforce administration including Command Line info.</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">40.<span style="font-size: 7pt;"> </span>How we can develop Build summary reports for Mgmt team and what are the key inputs for report.</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">41.<span style="font-size: 7pt;"> </span>Explain the best practice for Setup process & maintain the Archive of software releases (internal & external) & license management of Third Party Libraries</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">42.<span style="font-size: 7pt;"> </span>Identify the Cdeployment tools for major/minor/patch releases in different environment.</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">43.<span style="font-size: 7pt;"> </span>Explain Red Hat Linux and some of daily used features.</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">44.<span style="font-size: 7pt;"> </span>Explain Perforce & Multisite</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">45.<span style="font-size: 7pt;"> </span>Concept of labeling, branching and merging</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">46.<span style="font-size: 7pt;"> </span>labeling, branching and merging in perforce</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">47.<span style="font-size: 7pt;"> </span>Talk about Release Process</div><div class="MsoNoSpacing"><br />
</div><div class="MsoNoSpacing" style="margin-left: .25in;"><b><span style="color: red;">General :</span></b><span style="color: red;"><o:p></o:p></span></div><div class="MsoNoSpacing"><br />
</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">48.<span style="font-size: 7pt;"> </span>Difference Between CVS and SVN</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">49.<span style="font-size: 7pt;"> </span>Difference Between perforce and SVN</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">50.<span style="font-size: 7pt;"> </span>Difference Between perforce and Clearcasee</div><div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">51.<span style="font-size: 7pt;"> </span>Difference Between VSS and TFSC</div><div class="MsoNoSpacing"><br />
</div></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com1tag:blogger.com,1999:blog-2977726796855647984.post-22865607496325119882012-02-09T06:12:00.000-08:002012-02-09T06:12:42.694-08:00Continous integration with Hudson / Jenkins<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/6k0S4O2PnTc?feature=player_embedded' frameborder='0'></iframe></div><br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-62078246352440522252012-02-07T04:02:00.000-08:002012-02-07T04:02:26.465-08:00Setting Up Cruise Control<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<h3 style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;">Downloading and Setting Up Cruise Control.</h3><br style="background-color: white; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; text-align: -webkit-auto;" /><span style="background-color: white; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; text-align: -webkit-auto;">Download a release of Cruise Control from </span><a class="jive-link-external" href="http://cruisecontrol.sourceforge.net/" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; color: #2e5e8d; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; text-decoration: none; vertical-align: baseline;" target="_newWindow">http://cruisecontrol.sourceforge.net</a><span style="background-color: white; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; text-align: -webkit-auto;">. </span><br style="background-color: white; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; text-align: -webkit-auto;" /><span style="background-color: white; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; text-align: -webkit-auto;">On windows workstations run the cruisecontrol.bat which runs the cruisecontrol web deployments inside a jetty(</span><a class="jive-link-external" href="http://www.mortbay.org/jetty/" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; color: #2e5e8d; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; text-decoration: none; vertical-align: baseline;" target="_newWindow">http://www.mortbay.org/jetty/</a><span style="background-color: white; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; text-align: -webkit-auto;">) runtime.</span><div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; margin-bottom: 15px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;">Test the deployment by typing <a class="jive-link-external" href="http://localhost:8080/" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; color: #2e5e8d; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_newWindow">http://localhost:8080</a> . It will show a 404 Page Not Found but with a list of deployed contexts. Invoke <a class="jive-link-external" href="http://locahost:8080/dashboard" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; color: #2e5e8d; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_newWindow">http://locahost:8080/dashboard</a> to view the Cruise Control dashboard which shows the build status. </div><div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; margin-bottom: 15px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;">It also provides a link to the cc-config JNLP network installer which would install and launch the thick client. The cc-config java thick client provides an easy to use management tool that lets you edit the configuration files or you can use<a class="jive-link-external" href="http://localhost:8080/cruisecontrol/" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; color: #2e5e8d; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_newWindow">http://localhost:8080/cruisecontrol/</a> to review the configuration and build logs.</div><div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; margin-bottom: 15px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;"><br />
</div><div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; line-height: 15px; margin-bottom: 15px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;"><br />
</div><br class="Apple-interchange-newline" /><br />
<br />
<br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-18253099792063220292012-02-04T07:42:00.001-08:002012-02-04T07:42:40.963-08:00SVN Merge and Branching<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/4WC44T89VrY?feature=player_embedded' frameborder='0'></iframe></div><br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-24681300921122156512012-02-04T07:32:00.000-08:002012-02-04T07:32:07.996-08:00Subversion ( SVN) command line - part 2 of 2<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/I94Ft201qEw?feature=player_embedded' frameborder='0'></iframe></div><br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-29798746698433173642012-02-04T07:30:00.003-08:002012-02-04T07:30:25.140-08:00SVN command line - part 1 of 2<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/7mhN9C3C-2I?feature=player_embedded' frameborder='0'></iframe></div><br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-5860198445337221292012-01-30T02:58:00.000-08:002012-01-30T02:58:47.320-08:00SVN - Checkout, Add, Commit, Update operations<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/4sUYnEylvU0?feature=player_embedded' frameborder='0'></iframe></div><br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-16889644740832111732011-07-05T09:01:00.000-07:002011-07-05T09:01:01.872-07:00Welcome to the world of Stored Procedures- Oracle, MS SQL,MySQL<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<div align="center" style="text-align: center;"><b style="mso-bidi-font-weight: normal;"><span style="font-size: 16.0pt;">Welcome to Stored Procedures<o:p></o:p></span></b></div>A stored procedure is a precompiled group of Transact-SQL statements, and is saved to the database .Programmers and administrators can execute stored procedures either from the SQL Server Management Studio or from within an application as required. <br />
Once the stored procedure has been "stored", client applications can execute the stored procedure over and over again without sending it to the database server again and without compiling it again.<br />
Stored procedures improve performance by reducing network traffic and CPU load.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_UnsaF_9tW-QxIzHMcQtjEZ7dj_st7gd1xbKXabN-hEEP-_S6apLYHhcu3H8y0vaZ4WPj1mLANuiRpLv56U1GhygM6TzHPbznkJm3yUb0FOC0luQsfOphgTcJgsjJyvp30KGmcZc01jDT/s1600/4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_UnsaF_9tW-QxIzHMcQtjEZ7dj_st7gd1xbKXabN-hEEP-_S6apLYHhcu3H8y0vaZ4WPj1mLANuiRpLv56U1GhygM6TzHPbznkJm3yUb0FOC0luQsfOphgTcJgsjJyvp30KGmcZc01jDT/s400/4.JPG" width="400" /></a></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><br />
</div><table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #EEEEEE; border-collapse: collapse; border: none; margin-left: 15.0pt; mso-border-bottom-alt: solid #CCCCCC .75pt; mso-yfti-tbllook: 1184; width: 95.0%;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="background: #CCCCCC; border-bottom: none; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: solid #CCCCCC 1.0pt; mso-border-right-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 2.25pt 15.0pt 2.25pt 2.25pt; width: 16.26%;" width="16%"> <div class="MsoNormal" style="line-height: 12.75pt; margin-bottom: 15.0pt; margin-left: 0in; margin-right: 0in; margin-top: 15.0pt;"><b><span style="color: #333333; font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Benefit<o:p></o:p></span></b></div></td> <td style="background: #CCCCCC; border-bottom: none; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: solid #CCCCCC 1.0pt; mso-border-right-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 2.25pt 15.0pt 2.25pt 2.25pt;"> <div class="MsoNormal" style="line-height: 12.75pt; margin-bottom: 15.0pt; margin-left: 0in; margin-right: 0in; margin-top: 15.0pt;"><b><span style="color: #333333; font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Explanation of benefit<o:p></o:p></span></b></div></td> </tr>
<tr style="mso-yfti-irow: 1;"> <td style="border-bottom: none; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: solid #CCCCCC 1.0pt; mso-border-right-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 2.25pt 15.0pt 2.25pt 2.25pt;" valign="top"> <div class="MsoNormal" style="line-height: 12.75pt; margin-bottom: 15.0pt; margin-left: 0in; margin-right: 0in; margin-top: 15.0pt;"><span style="color: #333333; font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Modular programming<o:p></o:p></span></div></td> <td style="border-bottom: none; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: solid #CCCCCC 1.0pt; mso-border-right-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 2.25pt 15.0pt 2.25pt 2.25pt;" valign="top"> <div class="MsoNormal" style="line-height: 12.75pt; margin-bottom: 15.0pt; margin-left: 0in; margin-right: 0in; margin-top: 15.0pt;"><span style="color: #333333; font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">You can write a stored procedure once, then call it from multiple places in your application.<o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 2;"> <td style="border-bottom: none; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: solid #CCCCCC 1.0pt; mso-border-right-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 2.25pt 15.0pt 2.25pt 2.25pt;" valign="top"> <div class="MsoNormal" style="line-height: 12.75pt; margin-bottom: 15.0pt; margin-left: 0in; margin-right: 0in; margin-top: 15.0pt;"><span style="color: #333333; font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Performance<o:p></o:p></span></div></td> <td style="border-bottom: none; border-left: none; border-right: solid #CCCCCC 1.0pt; border-top: solid #CCCCCC 1.0pt; mso-border-right-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 2.25pt 15.0pt 2.25pt 2.25pt;" valign="top"> <div class="MsoNormal" style="line-height: 12.75pt; margin-bottom: 15.0pt; margin-left: 0in; margin-right: 0in; margin-top: 15.0pt;"><span style="color: #333333; font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Stored procedures provide faster code execution and reduce network traffic. <o:p></o:p></span></div><ul type="disc"><li class="MsoNormal" style="color: #333333; line-height: 12.75pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Faster execution: Stored procedures are parsed and optimized as soon as they are created and the stored procedure is stored in memory. This means that it will execute a lot faster than sending many lines of SQL code from your application to the SQL Server. Doing that requires SQL Server to compile and optimze your SQL code every time it runs. <o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; line-height: 12.75pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Reduced network traffic: If you send many lines of SQL code over the network to your SQL Server, this will impact on network performance. This is especially true if you have hundreds of lines of SQL code and/or you have lots of activity on your application. Running the code on the SQL Server (as a stored procedure) eliminates the need to send this code over the network. The only network traffic will be the parameters supplied and the results of any query.<o:p></o:p></span></li>
</ul></td> </tr>
<tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes;"> <td style="border-left: none; border: solid #CCCCCC 1.0pt; mso-border-bottom-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 2.25pt 15.0pt 2.25pt 2.25pt;" valign="top"> <div class="MsoNormal" style="line-height: 12.75pt; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="color: #333333; font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Security<o:p></o:p></span></div></td> <td style="border-left: none; border: solid #CCCCCC 1.0pt; mso-border-bottom-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #CCCCCC .75pt; mso-border-top-alt: solid #CCCCCC .75pt; padding: 2.25pt 15.0pt 2.25pt 2.25pt;" valign="top"> <div class="MsoNormal" style="line-height: 12.75pt; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="color: #333333; font-family: "Verdana","sans-serif"; font-size: 8.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">Users can execute a stored procedure without needing to execute any of the statements directly. Therefore, a stored procedure can provide advanced database functionality for users who wouldn't normally have access to these tasks, but this functionality is made available in a tightly controlled way.<o:p></o:p></span></div></td> </tr>
</tbody></table><br />
<br />
You can find detailed stored procedures of popular database systems here:<br />
a. Oracle : <a href="http://codingbasics.blogspot.com/2011/07/stored-procedures-in-ms-sql.html">http://codingbasics.blogspot.com/2011/07/stored-procedures-in-ms-sql.html</a><br />
b. MSSQL : <a href="http://codingbasics.blogspot.com/2011/07/stored-procedures-in-oracle.html">http://codingbasics.blogspot.com/2011/07/stored-procedures-in-oracle.html</a><br />
c. MySQL : <a href="http://codingbasics.blogspot.com/2011/07/stored-procedures-in-mysql.html">http://codingbasics.blogspot.com/2011/07/stored-procedures-in-mysql.html</a></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-1042538001984096932011-07-05T08:52:00.000-07:002011-07-05T08:53:16.971-07:00Stored Procedures in MS-SQL<div dir="ltr" style="text-align: left;" trbidi="on"><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 24px; font-weight: bold;">Creating a Stored Procedure</span><br />
<div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">You create stored procedures in the SQL Server Management Studio using the <i>CREATE PROCEDURE</i> statement, followed by the code that makes up the stored procedure.<o:p></o:p></span></div><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">CREATE PROCEDURE StoredProcedureName AS<o:p></o:p></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">...<o:p></o:p></span></pre><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">The following code creates a stored procedure called "MyStoredProcedure":<o:p></o:p></span></div><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">CREATE PROCEDURE MyStoredProcedure AS<o:p></o:p></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">SET ROWCOUNT 10<o:p></o:p></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">SELECT Products.ProductName AS TenMostExpensiveProducts, Products.UnitPrice<o:p></o:p></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">FROM Products<o:p></o:p></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">ORDER BY Products.UnitPrice DESC<o:p></o:p></span></pre><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">Once you run this code in the SQL Server Management Studio, the stored procedure is created and appears under the "Stored Procedures" node.<o:p></o:p></span></div><h2 style="mso-line-height-alt: 12.75pt;"><span style="font-family: Verdana, sans-serif;">Modifying a Stored Procedure</span><span style="color: black; font-family: Verdana, sans-serif; font-size: 11.5pt;"><o:p></o:p></span></h2><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">If you need to modify an existing stored procedure, you simply replace the CREATE with ALTER.<o:p></o:p></span></div><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">ALTER PROCEDURE MyStoredProcedure AS<o:p></o:p></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">...<o:p></o:p></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">more</span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;"><a name='more'></a></span></pre><h2 style="mso-line-height-alt: 12.75pt;"><span style="font-family: Verdana, sans-serif;">Running a Stored Procedure</span><span style="color: black; font-family: Verdana, sans-serif; font-size: 11.5pt;"><o:p></o:p></span></h2><div><span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 11px; line-height: 17px;">You can run a stored procedure by using <i>EXECUTE</i> or <i>EXEC</i>. For example, to run the above stored procedure, type the following:</span></div><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">EXEC MyStoredProcedure<o:p></o:p></span></pre><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">If the stored procedure has spaces in its name, enclose it between double quotes: <o:p></o:p></span></div><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">EXEC "My Stored Procedure"<o:p></o:p></span></pre><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">If your stored procedure accepts any parameters, they are placed after the procedure name:<o:p></o:p></span></div><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">EXEC MyStoredProcedure @ParameterName="MyParameter"<o:p></o:p></span></pre><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">So, here's an example:<o:p></o:p></span></div><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">EXEC SalesByCategory @CategoryName ="Beverages"
<o:p></o:p></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;">
</span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;"><b><span class="Apple-style-span" style="color: red;">GUI based Approach</span></b></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;"><b><span class="Apple-style-span" style="color: red;"><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">You can also use the graphical user interface to initiate the
execution of a stored procedure. <o:p></o:p></span></div><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">To initiate a stored procedure this way:<o:p></o:p></span></div><div class="MsoNormal" style="line-height: 12.75pt; margin-left: .5in; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">1.<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">Navigate to the stored procedure <o:p></o:p></span></div>2. <span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt; line-height: 115%;">Right click on the stored procedure and select "Execute Stored Procedure...":</span></span></b></span></pre><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgksOPq3qQITbe_CaWDZj2GEYsNCpHJXZl7LbcaDCrkk_Oh7kDEFVWhYyQbUVJ6sEDes3HvPWJVDLTBaPAZyKYgJ1OazxN0ybpZXdNPR0mZUZpaBbOXFV5RCbLsZCZxDWK27x-JzyfHPVfH/s1600/1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgksOPq3qQITbe_CaWDZj2GEYsNCpHJXZl7LbcaDCrkk_Oh7kDEFVWhYyQbUVJ6sEDes3HvPWJVDLTBaPAZyKYgJ1OazxN0ybpZXdNPR0mZUZpaBbOXFV5RCbLsZCZxDWK27x-JzyfHPVfH/s400/1.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: left;">3. <span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 11px; line-height: 12px;">A dialog will appear. Enter your chosen parameter values etc:</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 11px; line-height: 12px;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTL7XpmnUHFUY2Mz26XoYAVi7flGAyVy3yBMHMAecJxdm_BNdjjnbOM1vSKDZSKW1zwOpWhePHlWfC7ENoxznj4GHmTTsjP186US07D1SgMtVA3M9iKLyOci2hQdcypFP1q0ivVo3YW7hw/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTL7XpmnUHFUY2Mz26XoYAVi7flGAyVy3yBMHMAecJxdm_BNdjjnbOM1vSKDZSKW1zwOpWhePHlWfC7ENoxznj4GHmTTsjP186US07D1SgMtVA3M9iKLyOci2hQdcypFP1q0ivVo3YW7hw/s400/2.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: left;">4.<span class="Apple-style-span" style="line-height: 17px;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;"><span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">Click "OK"</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="line-height: 17px;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;"><br />
</span></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="line-height: 17px;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">5. </span></span><span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 11px; line-height: 12px;">SQL Server will now generate the SQL code and execute the stored procedure:</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 11px; line-height: 12px;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiflNVNX_ob4Cj3cnsYRGgrBg6tcaS1aJXwrOIwVdGGMxH4NKsb3QcJw8sYW9H3KGK5imzgq5ZNcBD0p_F4GMHZ_ifGCl_TIG9Fj0y4W-3868F_-ex3Phj0TnZ06Ta6azGUtkCVszWrB49u/s1600/3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiflNVNX_ob4Cj3cnsYRGgrBg6tcaS1aJXwrOIwVdGGMxH4NKsb3QcJw8sYW9H3KGK5imzgq5ZNcBD0p_F4GMHZ_ifGCl_TIG9Fj0y4W-3868F_-ex3Phj0TnZ06Ta6azGUtkCVszWrB49u/s400/3.JPG" width="400" /></a></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 11px; line-height: 12px;"><br />
</span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="line-height: 17px;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;"><br />
</span></span></div><div class="MsoNormal" style="line-height: 12.75pt; margin-left: .5in; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;"><br />
<o:p></o:p></span></div><div class="separator" style="clear: both; text-align: left;"><span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 11px; line-height: 12px;"><br />
</span></div><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;"><b><span class="Apple-style-span" style="color: red;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt; line-height: 115%;">
</span></span></b></span></pre><pre style="background: white; line-height: 12.75pt;"><span style="font-size: 10.5pt;"><b><span class="Apple-style-span" style="color: red;">
</span></b></span><h2 style="mso-line-height-alt: 12.75pt;"><span style="font-family: Verdana, sans-serif;">Parameters</span><span style="color: black; font-family: Verdana, sans-serif; font-size: 11.5pt;"><o:p></o:p></span></h2><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">A parameter is a value that your stored procedure uses in order
to perform it's task. When you write a stored procedure, you can specify the
parameters that need to be supplied from the user. For example, if you write a
stored procedure to select the address details about an individual, your stored
procedure needs to know which individual to select. In this case, the user can
provide an IndividualId or UserId to tell the stored procedure which individual
to look up.<o:p></o:p></span></div><h2 style="mso-line-height-alt: 12.75pt;"><span style="font-family: Verdana, sans-serif;">System Stored Procedures</span><span style="color: black; font-family: Verdana, sans-serif; font-size: 11.5pt;"><o:p></o:p></span></h2><div style="line-height: 12.75pt;"><span style="color: #333333; font-family: Verdana, sans-serif; font-size: 8.5pt;">SQL Server includes a large number of system stored procedures
to assist in database administration tasks. Many of the tasks you can perform
via SQL Server Management Studio can be done via a system stored procedure. For
example, some of the things you can do with system stored procedures include:<o:p></o:p></span></div><ul type="disc"><li class="MsoNormal" style="color: #333333; line-height: 12.75pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="font-family: Verdana, sans-serif; font-size: 8.5pt;">configure security accounts <o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; line-height: 12.75pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="font-family: Verdana, sans-serif; font-size: 8.5pt;">set up linked servers <o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; line-height: 12.75pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="font-family: Verdana, sans-serif; font-size: 8.5pt;">create a database maintenance plan <o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; line-height: 12.75pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="font-family: Verdana, sans-serif; font-size: 8.5pt;">create full text search catalogs <o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; line-height: 12.75pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="font-family: Verdana, sans-serif; font-size: 8.5pt;">configure replication <o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; line-height: 12.75pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="font-family: Verdana, sans-serif; font-size: 8.5pt;">set up scheduled jobs <o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; line-height: 12.75pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"><span style="font-family: Verdana, sans-serif; font-size: 8.5pt;">and much more. <o:p></o:p></span></li>
</ul></pre><br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com1tag:blogger.com,1999:blog-2977726796855647984.post-67255465793934214092011-07-05T08:44:00.001-07:002011-07-05T08:54:03.443-07:00Stored Procedures in MySQL<div dir="ltr" style="text-align: left;" trbidi="on"><h2 style="text-indent: .5in;"><br />
Working with Stored Procedures in MySQL</h2><div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span class="Apple-style-span" style="line-height: 25px;"><b style="mso-bidi-font-weight: normal;"><span style="color: #333333; font-family: Georgia, serif; font-size: 13.5pt;">Writing the first stored procedure</span></b></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">The first stored </span><span class="ilad1"><span style="font-family: Arial, sans-serif; font-size: 10pt;">procedure</span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"> is very simple. It retrieves all </span><span class="ilad1"><span style="font-family: Arial, sans-serif; font-size: 10pt;">products from</span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"> <em>products </em>table. First let’s take a look at the stored procedure </span><span class="ilad1"><span style="font-family: Arial, sans-serif; font-size: 10pt;">source code</span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"> below:<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DELIMITER // </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">2</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CREATE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">PROCEDURE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">GetAllProducts() </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">3</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> BEGIN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">4</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><span style="color: #222222; font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"> <code>SELECT</code></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">* FROM</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">products; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">5</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> END</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">// </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">6</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DELIMITER ;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">The first command you see is DELIMITER //. This command is not related to the stored procedure. DELIMITER statement in MySQL is used to change the standard delimiter (semicolon) to another. In this case, the delimiter is changed from semicolon(;) to //, so you can have multiple SQL statements inside stored procedure which can be separated by the semicolon. After the END keyword we use delimiter // to show the end of the stored procedure. The last command changes the delimiter back to the standard one (semicolon).<o:p></o:p></span><br />
<span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">more</span><br />
<span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"></span><br />
<a name='more'></a><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"><br />
</span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">In order to create a new stored procedure you use CREATE PROCEDURE statement. After the CREATE PROCEDURE statement you can specify the name of stored procedure, in this case it is <em>GetAllProducts.</em><o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">The body part of the stored procedure started with between BEGIN and END block. You can write declarative SQL code here. We can analysis more details of each part later. Now we have created a new stored procedure, but we also need to know however to invoke it in program or in command line of MySQL.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 18.75pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;"><span style="color: #333333; font-family: Georgia, serif; font-size: 13.5pt;">Calling the stored procedure<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">In order to invoke a stored procedure we use the following SQL command:<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CALL STORED_PROCEDURE_NAME()</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">For example, we can call the stored procedure we have created like this<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><span style="color: #222222; font-family: Consolas; font-size: 10pt;"><object classid="CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000" data="file:///C:/DOCUME~1/GNIRAN~1/LOCALS~1/Temp/msohtmlclip1/01/clip_ocxstg001.mso" height="16" id="highlighter_566714_clipboard" width="16"></object><o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CALL GetAllProducts();</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">We get all products in the <em>products</em> database table.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">In this tutorial, you’ve learn how to change the delimiter by using DELIMITER statement. It allows you to type multiple SQL statements inside stored procedure. You’ve also learn how to write a simple stored procedure by using CREATE PROCEDURE statement and call it from command line by using CALL statement.<o:p></o:p></span></div><div style="background: white; border-bottom: solid #DEDEDE 1.0pt; border: none; mso-border-bottom-alt: solid #DEDEDE .75pt; mso-element: para-border-div; padding: 0in 0in 8.0pt 0in;"><div class="MsoNormal" style="background: white; border: none; line-height: 18.75pt; margin-bottom: 7.5pt; mso-border-bottom-alt: solid #DEDEDE .75pt; mso-outline-level: 2; mso-padding-alt: 0in 0in 8.0pt 0in; padding: 0in;"><span style="color: #dc5519; font-family: Georgia, serif; font-size: 16.5pt;">MySQL Stored Procedure Parameters<o:p></o:p></span></div></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in;"><span class="ilad1"><b><span style="font-family: Arial, sans-serif; font-size: 10pt;">Summary</span></b></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">: <em>In this tutorial, you will learn how to write MySQL stored procedures with parameters. We will also give you a couple of stored </em></span><span class="ilad2"><i><span style="font-family: Arial, sans-serif; font-size: 10pt;">procedure</span></i></span><em><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"> examples to help you </span></em><span class="ilad2"><i><span style="font-family: Arial, sans-serif; font-size: 10pt;">understand</span></i></span><em><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"> more about using parameters in stored procedures.</span></em><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">Almost stored procedures you develop require parameters. Parameters make the stored procedure more flexible and useful. In MySQL, a parameter has one of three modes IN, OUT and INOUT.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 15.0pt; margin-right: 0in; margin-top: 0in; mso-list: l2 level1 lfo1; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #222222; font-family: Wingdings; font-size: 10pt;">§<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">IN this is the default mode. IN indicates that a parameter can be passed into stored procedures but any modification inside stored procedure does not change parameter. Suppose you pass parameter <em>Id,</em> which is equal 10, into stored procedure <em>GetAll(Id)</em>, after executing the stored procedure the value of Id is still 10 even though the <em>GetAll</em> stored procedure can change the value of it.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 15.0pt; margin-right: 0in; margin-top: 0in; mso-list: l2 level1 lfo1; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #222222; font-family: Wingdings; font-size: 10pt;">§<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">OUT this mode indicates that stored procedure can change this parameter and pass back to the calling program.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 15.0pt; margin-right: 0in; margin-top: 0in; mso-list: l2 level1 lfo1; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #222222; font-family: Wingdings; font-size: 10pt;">§<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">INOUT obviously this mode is combined of IN and OUT mode; you can pass parameter into stored procedure and get it back with the new value from calling program.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">The syntax of defining a parameter in stored procedure is as follows:<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">MODE param_name param_type(param_size)<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">MODE could be IN, OUT or INOUT depending on the purpose of parameter you specified.<br />
param_name is the name of the parameter. The name must not be the same as the column name of tables and following naming convention. Followed the parameter name is the type of parameter and its size.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">Each parameter is separated by a comma if the stored procedure more than one parameter.<br />
<br />
Let’s practice with following examples to understand more.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">The first example is a stored procedure to get all offices in a country. Here is the SQL source code:<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DELIMITER // </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">2</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> CREATE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">PROCEDURE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">GetOfficeByCountry(IN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">countryName VARCHAR(255)) </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">3</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> BEGIN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">4</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SELECT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">city, phone </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">5</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> FROM</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">offices </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">6</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> WHERE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">country = countryName; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">7</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> END</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">// </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">8</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DELIMITER ;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">As you can see we use countryName as the IN parameter with its type is varchar and its size is 255. In body part of stored procedure, we retrieve all offices which its country is the <em>countryName.</em><br />
Suppose you want to retrieve all office in USA, just pass the value to the stored procedures like this:<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CALL GetOfficeByCountry('USA')</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">It returns all offices in USA<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">To get all offices in France just call pass France to the stored procedure like following:<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CALL GetOfficeByCountry(‘France’)</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">It returns all offices in USA<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">The second example, we will write a store procedure to count the order in a specific order status such as shipped, resolved, cancelled, on hold, disputed or in process. Here is the stored procedure<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">01</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DELIMITER $$ </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">02</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CREATE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">PROCEDURE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CountOrderByStatus( </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">03</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> IN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">orderStatus VARCHAR(25), </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">04</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> OUT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">total INT) </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">05</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> BEGIN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">06</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SELECT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">count(orderNumber) </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">07</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> INTO</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">total </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">08</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> FROM</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">orders </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">09</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> WHERE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">status = orderStatus; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">10</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> END$$ </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">11</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DELIMITER ;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">The CountOrderByStatus stored procedure has two parameters:<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 15.0pt; margin-right: 0in; margin-top: 0in; mso-list: l1 level1 lfo2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #222222; font-family: Wingdings; font-size: 10pt;">§<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">orderStatus parameter is IN parameter; we pass order status such as shipped or on hold in to get the number of it<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 15.0pt; margin-right: 0in; margin-top: 0in; mso-list: l1 level1 lfo2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #222222; font-family: Wingdings; font-size: 10pt;">§<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">total parameter is the OUT parameter which we use to get the total order by a specified status back.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">So to get number of shipped orders, we just perform following statements<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CALL CountOrderByStatus('Shipped',@total);</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">To get number of in process we do the same as above<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CALL CountOrderByStatus('in process',@total); </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">2</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">SELECT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">@total AS</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">total_in_process;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">In the third procedure, we will demonstrate the INOUT parameter. The stored procedure capitalizes all words in a string and returns it back to the calling program. The stored procedure source code is as follows:<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">01</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DELIMITER $$ </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">02</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CREATE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">PROCEDURE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">`Capitalize`(INOUT str VARCHAR(1024)) </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">03</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">BEGIN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">04</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DECLARE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">i INT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DEFAULT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">05</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DECLARE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">myc, pc CHAR(1); </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">06</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DECLARE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">outstr VARCHAR(1000) DEFAULT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">str; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">07</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> WHILE i <= CHAR_LENGTH(str) DO </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">08</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SET</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">myc = SUBSTRING(str, i, 1); </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">09</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SET</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">pc = CASE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">WHEN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">i = 1 THEN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">' '</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> <o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">10</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> ELSE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">SUBSTRING(str, i - 1, 1) </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">11</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> END; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">12</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> IF pc IN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">(' ', '&', '''', '_', '?', ';', ':', '!', ',', '-', '/', '(', '.') THEN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">13</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SET</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">outstr = INSERT(outstr, i, 1, UPPER(myc)); </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">14</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> END</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">IF; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">15</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SET</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">i = i + 1; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">16</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> END</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">WHILE; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">17</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SET</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">str = outstr; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">18</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">END$$ </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">19</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DELIMITER ;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">Here is the usage of the Capitalize stored procedure<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">SET</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">@str = 'mysql stored procedure tutorial'; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">2</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CALL Capitalize(@str); </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">3</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">SELECT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">@str;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">And the @str value is ‘Mysql Stored Procedure Tutorial’<o:p></o:p></span></div><div style="background: white; border-bottom: solid #DEDEDE 1.0pt; border: none; mso-border-bottom-alt: solid #DEDEDE .75pt; mso-element: para-border-div; padding: 0in 0in 8.0pt 0in;"><div class="MsoNormal" style="background: white; border: none; line-height: 18.75pt; margin-bottom: 7.5pt; mso-border-bottom-alt: solid #DEDEDE .75pt; mso-outline-level: 2; mso-padding-alt: 0in 0in 8.0pt 0in; padding: 0in;"><span style="color: #dc5519; font-family: Georgia, serif; font-size: 16.5pt;">SQL Cursor in Stored Procedures<o:p></o:p></span></div></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in;"><span class="ilad1"><b><span style="font-family: Arial, sans-serif; font-size: 10pt;">Summary</span></b></span><em><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">:In this </span></em><span class="ilad2"><i><span style="font-family: Arial, sans-serif; font-size: 10pt;">tutorial</span></i></span><em><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">, you will learn how to use database cursor in stored </span></em><span class="ilad2"><i><span style="font-family: Arial, sans-serif; font-size: 10pt;">procedure</span></i></span><em><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"> to loop over a result set in MySQL.</span></em><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">MySQL supports cursor in stored procedures, functions and triggers. Cursor is used to iterate through a set of rows, which returned by a query, and process individual row. Currently with all versions greater 5.x, MySQL cursor has following properties:<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 15.0pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo3; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #222222; font-family: Wingdings; font-size: 10pt;">§<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">Read only: it means you cannot update the cursor.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 15.0pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo3; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #222222; font-family: Wingdings; font-size: 10pt;">§<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">Non-scrollable: it only can traverse in one direction and cannot skip, move back or forth in result set.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 15.0pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo3; tab-stops: list .5in; text-indent: -.25in;"><span style="color: #222222; font-family: Wingdings; font-size: 10pt;">§<span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">Asensitive: you should avoid update table while open a cursor on that table otherwise you may get unexpected results.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">MySQL supports following statements for working with cursor.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">First you have to declare a cursor using DECLARE statement:<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DECLARE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">cursor_name CURSOR</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">FOR</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">SELECT_statement;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">Second you have to open the cursor using OPEN statement. You must open cursor before fetching rows from it.<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">OPEN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">cursor_name;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">Next you can retrieve next row from cursor and move the cursor to the following row in a result set by using FETCH statement.<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">FETCH</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">cursor_name INTO</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">variable list;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">And finally, you must close the cursor to deactivate it and release the memory associated with that cursor. To close the cursor you use CLOSE statement:<o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">1</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CLOSE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">cursor_name;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">One of the most important point when working with cursor is you should use a NOT FOUND handler to avoid raising a fatal “no data to fetch” condition. <br />
We use a stored procedure example below to demonstrate cursor. <o:p></o:p></span></div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">01</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DELIMITER $$ </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">02</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DROP</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">PROCEDURE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">IF EXISTS CursorProc$$ </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">03</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> CREATE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">PROCEDURE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CursorProc() </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">04</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> BEGIN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">05</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DECLARE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">no_more_products, quantity_in_stock INT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">DEFAULT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">0; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">06</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DECLARE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">prd_code VARCHAR(255); </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">07</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DECLARE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">cur_product CURSOR</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">FOR</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> <o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">08</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SELECT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">productCode FROM</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">products; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">09</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DECLARE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">CONTINUE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">HANDLER FOR</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">NOT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">FOUND </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">10</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SET</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">no_more_products = 1; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">11</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> <o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">12</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> /* for</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">loggging information */ </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">13</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> CREATE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">TABLE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">infologs ( </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">14</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> Id int(11) NOT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">NULL</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">AUTO_INCREMENT, </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">15</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> Msg varchar(255) NOT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">NULL, </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">16</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> PRIMARY</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">KEY</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">(Id) </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">17</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> ); </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">18</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> OPEN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">cur_product; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">19</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> <o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">20</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> FETCH</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">cur_product INTO</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">prd_code; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">21</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> REPEAT </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">22</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SELECT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">quantityInStock INTO</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">quantity_in_stock </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">23</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> FROM</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">products </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">24</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> WHERE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">productCode = prd_code; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">25</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> <o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">26</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> IF quantity_in_stock < 100 THEN</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">27</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> INSERT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">INTO</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">infologs(msg) </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">28</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> VALUES</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">(prd_code); </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">29</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> END</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">IF; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">30</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> FETCH</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">cur_product INTO</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">prd_code; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">31</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> UNTIL no_more_products = 1 </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">32</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> END</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">REPEAT; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">33</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> CLOSE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">cur_product; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">34</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> SELECT</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">* FROM</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">infologs; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">35</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td colspan="2" style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DROP</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">TABLE</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"> </span><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">infologs; </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">36</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> END$$ </span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 13.2pt; vertical-align: baseline;"><br />
</div><table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;"><tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;"> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;">37</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> <td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal"><code><span style="color: #222222; font-size: 10pt; line-height: 115%;"> DELIMITER;</span></code><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">The stored procedure is very simple and can archive the same result by SQL query. We use it only for demonstrating how cursors work.<o:p></o:p></span></div><div class="MsoNormal" style="background: white; line-height: 15.0pt;"><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt;">We use a cursor for <em>products</em> table and loop though the products result set. If the quantity in stock of a product is less than 100, we log it into to a temporary table and after the loop we select all products to print it on screen.<o:p></o:p></span></div><span style="color: #222222; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;">Remember you must declare cursor first and then declare a NOT FOUND handler; otherwise you will get an error.</span></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-54209693929758678722011-07-05T00:21:00.000-07:002011-07-05T00:21:26.764-07:00Stored Procedures in Oracle<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<h2 style="text-indent: .5in;">Working with Stored Procedures in Oracle</h2><div class="MsoNormal"><br />
</div><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Procedures are written in Oracle's PL/SQL programming language.<o:p></o:p></span><br />
<b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Sample Procedure<o:p></o:p></span></b><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">In Notepad, type:<o:p></o:p></span><br />
<b style="mso-bidi-font-weight: normal;"><span style="color: #c0504d; font-family: "Courier New"; font-size: 9.0pt; mso-themecolor: accent2;">CREATE OR REPLACE PROCEDURE sample <br />
IS<br />
BEGIN<br />
NULL;<br />
END;</span></b><b style="mso-bidi-font-weight: normal;"><span style="color: #c0504d; font-family: "Verdana","sans-serif"; font-size: 9.0pt; mso-themecolor: accent2;"><o:p></o:p></span></b><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Save your file as </span><span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">sample.sql.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Let’s go through the procedure line by line. The lines are numbered for your convenience:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">1 CREATE OR REPLACE PROCEDURE sample <br />
2 IS<br />
3 BEGIN<br />
4 NULL;<br />
5 END;</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Line 1: <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">CREATE OR REPLACE PROCEDURE is an SQL statement that instructs Oracle to create a procedure called sample, and to overwrite it if it exists.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Line 2: <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The IS keyword signals that a PL/SQL body will follow.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Line 3: <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The BEGIN keyword signals the start of a PL/SQL body. <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Line 4: <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The NULL PL/SQL statement indicates that no action should be performed. We cannot just leave it out, because at least one statement is required in a PL/SQL body.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Line 5: <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The END keyword signals the end of the PL/SQL block.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Now let's move on to creating a procedure.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><br />
</span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Read more</span><br />
<a name='more'></a><br />
<div class="MsoNormal"><br />
</div><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The SQL statement CREATE OR REPLACE PROCEDURE creates, compiles and saves a procedure on an Oracle database.<o:p></o:p></span><br />
<b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">You need the CREATE PROCEDURE system privilege to create a procedure in your own schema.<o:p></o:p></span></b><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Open SQL*Plus from Windows and log on to your database.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">From SQL*Plus, open your sample.sql file.<br />
<br />
SQL*Plus loads the contents of your sample.sql file into the SQL*Plus buffer or memory area and presents the SQL*Plus command prompt:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;"> 1 CREATE OR REPLACE PROCEDURE sample<br />
2 IS<br />
3 BEGIN<br />
4 NULL;<br />
5* END;<br />
SQL></span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Execute the contents of the SQL*Plus buffer. Type a front slash and press <enter> like this:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> /</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">SQL*Plus informs you the procedure has been created successfully and presents the SQL command prompt:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">Procedure created.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL></span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Now your procedure is created, compiled and saved on your Oracle database.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">We have a procedure now, so let's run it. <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Run your procedure from the SQL*Plus command prompt with the EXECUTE command like this:<o:p></o:p></span><br />
<b style="mso-bidi-font-weight: normal;"><span style="color: #c0504d; font-family: "Courier New"; font-size: 9.0pt; mso-themecolor: accent2;">SQL> EXECUTE sample;</span></b><b style="mso-bidi-font-weight: normal;"><span style="color: #c0504d; font-family: "Verdana","sans-serif"; font-size: 9.0pt; mso-themecolor: accent2;"><o:p></o:p></span></b><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL*Plus assures you the procedure executed successfully:</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">PL/SQL procedure successfully completed.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The EXECUTE statement is easy and fast to type. <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">You can also run your procedure from within an unnamed PL/SQL block. At the SQL*Plus command <b style="mso-bidi-font-weight: normal;">prompt, it looks like this:<o:p></o:p></b></span><br />
<b style="mso-bidi-font-weight: normal;"><span style="color: #c0504d; font-family: "Courier New"; font-size: 9.0pt; mso-themecolor: accent2;">SQL> BEGIN<br />
2 SAMPLE;<br />
3 END;<br />
4 /</span></b><b style="mso-bidi-font-weight: normal;"><span style="color: #c0504d; font-family: "Verdana","sans-serif"; font-size: 9.0pt; mso-themecolor: accent2;"> <o:p></o:p></span></b><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">PL/SQL procedure successfully completed.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">By calling your procedure from within an unnamed PL/SQL block, you can even call your procedure twice, like this:<o:p></o:p></span><br />
<b style="mso-bidi-font-weight: normal;"><span style="color: #c0504d; font-family: "Courier New"; font-size: 9.0pt; mso-themecolor: accent2;">SQL> BEGIN<br />
2 SAMPLE;<br />
3 SAMPLE;<br />
4 END;<br />
5 /</span></b><b style="mso-bidi-font-weight: normal;"><span style="color: #c0504d; font-family: "Verdana","sans-serif"; font-size: 9.0pt; mso-themecolor: accent2;"><o:p></o:p></span></b><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">PL/SQL procedure successfully completed.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">SQL*Plus refers to the unnamed PL/SQL block when it says "PL/SQL procedure successfully completed." So even though we called the sample procedure twice, we only get one message back. So much for going the extra mile! <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Now that we've run our procedure, what do we need to do if we want to change it?<br />
<strong> </strong><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Let's write a procedure that outputs the string "Hello World!".<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Open your sample.sql file in Notepad. Replace the NULL statement with the DBMS_OUTPUT.PUT_LINE procedure call. Your program should look like this:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">CREATE OR REPLACE PROCEDURE sample <br />
IS<br />
BEGIN<br />
DBMS_OUTPUT.PUT_LINE('Hello World!');<br />
END;</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Save your file as </span><span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">sample.sql.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">From SQL*Plus, open your </span><span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">sample.sql</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"> file.<br />
<br />
SQL*Plus loads the contents of your sample.sql file into the SQL*Plus buffer or memory area and presents the SQL*Plus command prompt:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> <br />
1 CREATE OR REPLACE PROCEDURE sample<br />
2 IS<br />
3 BEGIN<br />
4 DBMS_OUTPUT.PUT_LINE('Hello World!');<br />
5* END;<br />
SQL></span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"> <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Execute the contents of the SQL*Plus buffer. Type a front slash and press <enter> like this:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> /</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">SQL*Plus informs you the procedure has been created successfully and presents the SQL command prompt:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">Procedure created.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL></span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Run your procedure from the SQL*Plus command prompt with the EXECUTE command like this:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> EXECUTE sample;</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">SQL*Plus assures you the procedure executed successfully:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">PL/SQL procedure successfully completed.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">But wait a minute! We wanted to see the string "Hello World!" Where did that go?<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">SQL*Plus is quirky. A SET command is needed before output is shown from the DBMS_OUTPUT.PUT_LINE procedure. So let's do that. At the SQL*Plus command prompt, type:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> SET SERVEROUTPUT ON</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">SQL*Plus remains secretive and provides no feedback. Execute your procedure again. From the SQL*Plus command prompt, type:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> EXECUTE sample;</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Now it works! SQL*Plus rewards you with:<o:p></o:p></span><br />
<em><span style="color: black; font-size: 9.0pt;">Hello World!</span></em><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">PL/SQL procedure successfully completed.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Suppose there is a problem with our procedure. Then what? We debug it, and that's what we're going to do next. <o:p></o:p></span><br />
<b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Let’s introduce a compilation error into your procedure declaration. <o:p></o:p></span></b><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Open your sample.sql file in Notepad. Replace the DBMS_OUTPUT.PUT_LINE procedure call with the NULLL statement (notice the three "l"s!), an invalid PL/SQL statement. Your program should look like this:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">CREATE OR REPLACE PROCEDURE sample <br />
IS<br />
BEGIN<br />
NULLL;<br />
END;<br />
Save your file as sample.sql.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">From SQL*Plus, open your sample.sql file.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">SQL*Plus loads the contents of your sample.sql file into the SQL*Plus buffer or memory area and presents the SQL*Plus command prompt:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> <br />
1 CREATE OR REPLACE PROCEDURE sample<br />
2 IS<br />
3 BEGIN<br />
4 NULLL;<br />
5* END;<br />
SQL></span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"> <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Execute the contents of the SQL*Plus buffer. Type a front slash and press <enter> like this:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> /</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Your procedure is compiled and saved on the database. However, SQL*Plus warns us of compilation errors:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">Warning: Procedure created with compilation errors.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Let’s see the compilation errors. First, we need to run two SET commands to ensure the SQL*Plus buffer does not overflow.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">At the SQL*Plus command prompt, type:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> SET ARRAYSIZE 1<br />
SQL> SET MAXDATA 60000<br />
SQL></span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Again, SQL*Plus remains secretive of the result. Let's see the errors. At the SQL*Plus command prompt, type:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> SHOW ERRORS PROCEDURE sample</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">You should see the compilation error:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">LINE/COL<br />
----------------------------------------------<br />
ERROR<br />
----------------------------------------------<br />
4/3<br />
PLS-00201: identifier 'NULLL' must be declared</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">4/3<br />
PL/SQL: Statement ignored</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Oracle doesn't recognize the NULLL statement with the three "l"s. But Oracle won't hold it against you. <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Change your procedure declaration in Notepad by inserting the proper NULL statement, and follow the steps to create your procedure again on the Oracle database.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">What if you want to completely remove a procedure from your database? That's what we'll cover next. <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">If you no longer want a procedure in your database, you can remove it.<o:p></o:p></span><br />
<b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The SQL statement DROP PROCEDURE removes a procedure from a database.<o:p></o:p></span></b><br />
<b style="mso-bidi-font-weight: normal;"><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The effect is permanent- so better think twice<o:p></o:p></span></b><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">DROP PROCEDURE is classified in SQL as a Data Definition Language (DDL) statement. Other examples of SQL statements in this category include CREATE, ALTER, RENAME and TRUNCATE.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Oracle issues an automatic COMMIT after a DDL statement is executed. Therefore, no rollback is possible after executing a DDL statement.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">You need the CREATE PROCEDURE system privilege to create a procedure in your own schema.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">At the SQL*Plus command prompt, issue the DROP PROCEDURE SQL statement to remove your procedure called sample:<o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">SQL> DROP PROCEDURE sample;</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">SQL*Plus assures us the procedure has been removed: <o:p></o:p></span><br />
<span style="color: black; font-family: "Courier New"; font-size: 9.0pt;">Procedure dropped.</span><span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;"><o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Now let's sum up it all up. <o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">An Oracle stored procedure is a program stored in an Oracle database.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Procedures are written in the PL/SQL programming language. You can use the Notepad text editor to write a procedure. Save each procedure with a .sql file name extension.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Log on to an Oracle database with Oracle's SQL*Plus tool. It submits SQL and PL/SQL statements to the Oracle database.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The SQL statement CREATE OR REPLACE PROCEDURE creates, compiles and saves a procedure on an Oracle database, regardless of whether the procedure contained compilation errors or not.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">Run a procedure stored on an Oracle database from the SQL*Plus tool. Use the EXECUTE statement, or an anonymous PL/SQL block to call your procedure.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">The clause OR REPLACE from the SQL statement CREATE OR REPLACE PROCEDURE overwrites an existing stored procedure on the Oracle database.<o:p></o:p></span><br />
<span style="color: black; font-family: "Verdana","sans-serif"; font-size: 9.0pt;">View a procedure's compilation errors with the SQL*Plus command SHOW ERRORS.<br />
<br />
The SQL statement DROP PROCEDURE permanently removes a procedure from an Oracle database.<o:p></o:p></span><br />
<div class="MsoNormal"><br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><br />
</div></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com1tag:blogger.com,1999:blog-2977726796855647984.post-37815893166184384342011-03-13T06:27:00.000-07:002011-03-13T06:27:41.981-07:00JavaScript : Comaprison of Objects<div dir="ltr" style="text-align: left;" trbidi="on"><br />
JavaScript has two different ways of comparing the values of objects for equality.<br />
<b><span class="Apple-style-span" style="color: #cc0000;">The equals operator</span></b><br />
The equals operator consists of two equal signs: ==<br />
JavaScript features weak typing, that means, that the equals operator coerces types in order to compare them.<br />
<br />
<span class="Apple-style-span" style="color: blue;">"" == "0" // false</span><br />
<span class="Apple-style-span" style="color: blue;">0 == "" // true</span><br />
<span class="Apple-style-span" style="color: blue;">0 == "0" // true</span><br />
<span class="Apple-style-span" style="color: blue;">false == "false" // false</span><br />
<span class="Apple-style-span" style="color: blue;">false == "0" // true</span><br />
<span class="Apple-style-span" style="color: blue;">false == undefined // false</span><br />
<span class="Apple-style-span" style="color: blue;">false == null // false</span><br />
<span class="Apple-style-span" style="color: blue;">null == undefined // true</span><br />
<span class="Apple-style-span" style="color: blue;">" \t\r\n" == 0 // true</span><br />
The above table shows the results of the type coercion and it is the main reason why the use of == is widely regarded as bad practice,<br />
it introduces hard to track down bugs due to its complicated conversion rules.<br />
Additionally there is also a <b>performance </b>impact when type coercion is in play;<br />
for example, a string has to be converted to a number before it can be compared to another number.<br />
<br />
<b><span class="Apple-style-span" style="color: #990000;">The strict equals operator</span></b><br />
The strict equals operator consists of three equal signs: ===<br />
Other than the normal equals operator, the strict equals operator does not perform type coercion between its operands.<br />
<span class="Apple-style-span" style="color: blue;"><br />
</span><br />
<span class="Apple-style-span" style="color: blue;">"" === "0" // false</span><br />
<span class="Apple-style-span" style="color: blue;">0 === "" // false</span><br />
<span class="Apple-style-span" style="color: blue;">0 === "0" // false</span><br />
<span class="Apple-style-span" style="color: blue;">false === "false" // false</span><br />
<span class="Apple-style-span" style="color: blue;">false === "0" // false</span><br />
<span class="Apple-style-span" style="color: blue;">false === undefined // false</span><br />
<span class="Apple-style-span" style="color: blue;">false === null // false</span><br />
<span class="Apple-style-span" style="color: blue;">null === undefined // false</span><br />
<span class="Apple-style-span" style="color: blue;">" \t\r\n" === 0 // false</span><br />
The above results are a lot clearer and allow for early breakage of code.<br />
This hardens code to a certain degree and also gives performance improvements in case the operands are of different types.<br />
<b><span class="Apple-style-span" style="color: #990000;">Comparing objects</span></b><br />
While both == and === are stated as equality operators, they behave different when at least one of their operands happens to be an Object.<br />
<br />
<span class="Apple-style-span" style="color: blue;">{} === {}; // false</span><br />
<span class="Apple-style-span" style="color: blue;">new String('foo') === 'foo'; // false</span><br />
<span class="Apple-style-span" style="color: blue;">new Number(10) === 10; // false</span><br />
<span class="Apple-style-span" style="color: blue;">var foo = {};foo === foo; // true</span><br />
Here both operators compare for identity and not equality; that is, they will compare for the same instance of the object, much like is in Python and a pointer comparison in C do.<br />
<b><span class="Apple-style-span" style="color: #990000;">Conclusion</span></b><br />
It is highly recommended to only use the strict equals operator. In cases where types need to be coerced, it should be done explicitly and not left to the language's complicated coercion rules.<br />
</div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0tag:blogger.com,1999:blog-2977726796855647984.post-20654539371080397502011-03-13T06:03:00.000-07:002011-03-13T06:21:07.496-07:00JavaScript Parser - Sometimes Intelligence causes problems...<div dir="ltr" style="text-align: left;" trbidi="on"><span class="Apple-style-span" style="font-family: Georgia, 'Nimbus Roman No9 L', 'Liberation Serif', monospace; font-size: 16px; line-height: 16px;"></span><br />
<section style="display: block; position: relative;"><pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-color: rgb(86, 109, 130); border-left-width: 4px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 16px; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 12px; padding-left: 20px; padding-right: 0px; padding-top: 8px; vertical-align: baseline;"><code style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.8125em; line-height: 1.4em; margin-bottom: 1px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: none; vertical-align: baseline;"><span class="kwd" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
JavaScript parser automatically inserts semicolon whenever it encounters a </span></code><span class="Apple-style-span" style="font-size: 13px; line-height: 18px;"> parse error due to missing semicolons.</span></pre><pre style="background-attachment: initial; background-clip: initial; background-color: #0f192a; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-color: rgb(86, 109, 130); border-left-style: solid; border-left-width: 4px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e6eaed; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 16px; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 12px; padding-left: 20px; padding-right: 0px; padding-top: 8px; vertical-align: baseline;"><code style="background-attachment: initial; background-clip: initial; background-color: #0f192a; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.8125em; line-height: 1.4em; margin-bottom: 1px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: none; vertical-align: baseline;"><span class="kwd" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
var</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> foo </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">()</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">}</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// parse error, semicolon expected</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
test</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">()</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span></code></pre><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 1.6em; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Insertion happens, and the parser tries again.</div><pre style="background-attachment: initial; background-clip: initial; background-color: #0f192a; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-color: rgb(86, 109, 130); border-left-style: solid; border-left-width: 4px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e6eaed; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 16px; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 12px; padding-left: 20px; padding-right: 0px; padding-top: 8px; vertical-align: baseline;"><code style="background-attachment: initial; background-clip: initial; background-color: #0f192a; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.8125em; line-height: 1.4em; margin-bottom: 1px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: none; vertical-align: baseline;"><span class="kwd" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">var</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> foo </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">()</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">};</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// no error, parser continues</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
test</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">()</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span></code></pre><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 1.6em; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">The automatic insertion of semicolon is considered to be one of <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">biggest</strong> design flaws in the language, as it <em style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">can</em> change the behavior of code.</div></section><section style="display: block; position: relative;"><header style="display: block;"><h3 style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, sans-serif; font-size: 1.125em; font-variant: small-caps; margin-bottom: 0.88em; margin-left: 0px; margin-right: 0px; margin-top: 1.33em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: rgb(34, 34, 34) 0px 1px 1px; vertical-align: baseline;">How it works</h3></header><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 1.6em; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">The code below has no semicolons in it, so it is up to the parser to decide where to insert them.</div><pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-color: rgb(86, 109, 130); border-left-style: solid; border-left-width: 4px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 16px; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 12px; padding-left: 20px; padding-right: 0px; padding-top: 8px; vertical-align: baseline;"><code style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.8125em; line-height: 1.4em; margin-bottom: 1px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: none; vertical-align: baseline;"><span class="Apple-style-span" style="color: #444444;"><span class="Apple-style-span" style="background-color: white;"><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">undefined</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> test</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">options</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
writeToLog</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="str" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">'testing semicolons...!'</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">options</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">list </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">||</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">[]).</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">forEach</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">i</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">})</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
options</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">value</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">test</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="str" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">'long string to pass here'</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="str" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">'and another long string to pass'</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">return</span></span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
foo</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">:</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">()</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{}</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">}</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">}</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">test </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> test
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">})(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">someLibrary </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{}</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">})(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span></span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span></code></pre><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 1.6em; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Below is the result of the parser's "guessing" game.<br />
<br />
<a name='more'></a><br />
</div><pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-color: rgb(86, 109, 130); border-left-style: solid; border-left-width: 4px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e6eaed; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 16px; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 12px; padding-left: 20px; padding-right: 0px; padding-top: 8px; vertical-align: baseline;"><code style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.8125em; line-height: 1.4em; margin-bottom: 1px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: none; vertical-align: baseline;"><span class="Apple-style-span" style="background-color: #20124d;"><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">undefined</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> test</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">options</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// Not inserted, lines got merged</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
writeToLog</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="str" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #1dc116; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">'testing!'</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">options</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">list </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">||</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">[]).</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">forEach</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">i</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">});</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// <- inserted</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
options</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">value</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">test</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="str" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #1dc116; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">'long string to pass here'</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">,</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="str" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #1dc116; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">'and another long string to pass'</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">);</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// <- inserted</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">return</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">;</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// <- inserted, breaks the return statement</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// treated as a block</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// a label and a single expression statement</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
foo</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">:</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">()</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{}</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">};</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// <- inserted</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">}</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">test </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> test</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">;</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// <- inserted</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// The lines got merged again</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">})(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)(</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">someLibrary </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{};</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">// <- inserted</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">})(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">window</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">);</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="com" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #428bdd; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">//<- inserted</span></span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span></code></pre><aside style="border-bottom-color: rgb(158, 171, 183); border-bottom-style: solid; border-bottom-width: 1px; color: #e6eaed; display: block; opacity: 0.7; padding-bottom: 0.625em; position: absolute; right: -190px; width: 180px;"><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial; font-size: 0.8125em; line-height: 1.3em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Note:</strong> The JavaScript parser does not "correctly" handle return statements which are followed by a new line, while this is not neccessarily the fault of the automatic semicolon insertion, it can still be an unwanted side-effect.</div></aside><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 1.6em; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">The parser drastically changed the behavior of the code above, in certain cases it does the <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">wrong thing</strong>.</div></section><section style="display: block; position: relative;"><header style="display: block;"><h3 style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, sans-serif; font-size: 1.125em; font-variant: small-caps; margin-bottom: 0.88em; margin-left: 0px; margin-right: 0px; margin-top: 1.33em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: rgb(34, 34, 34) 0px 1px 1px; vertical-align: baseline;">Leading parenthesis</h3></header><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 1.6em; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">In case of a leading parenthesis, the parser will <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">not</strong> insert a semicolon.</div><pre style="background-attachment: initial; background-clip: initial; background-color: #0f192a; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-color: rgb(86, 109, 130); border-left-style: solid; border-left-width: 4px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e6eaed; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 16px; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 12px; padding-left: 20px; padding-right: 0px; padding-top: 8px; vertical-align: baseline;"><code style="background-attachment: initial; background-clip: initial; background-color: #0f192a; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.8125em; line-height: 1.4em; margin-bottom: 1px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: none; vertical-align: baseline;"><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">writeToLlog</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="str" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #1dc116; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">'testing!'</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">options</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">list </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">||</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">[]).</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">forEach</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">i</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{})</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span></code></pre><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 1.6em; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">This code gets transformed into one line.</div><pre style="background-attachment: initial; background-clip: initial; background-color: #0f192a; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-color: rgb(86, 109, 130); border-left-style: solid; border-left-width: 4px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e6eaed; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 16px; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 12px; padding-left: 20px; padding-right: 0px; padding-top: 8px; vertical-align: baseline;"><code style="background-attachment: initial; background-clip: initial; background-color: #0f192a; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.8125em; line-height: 1.4em; margin-bottom: 1px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: none; vertical-align: baseline;"><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="color: #ffaa3e;">writeToLog</span>(</span><span class="str" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #1dc116; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">'testing!'</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">options</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">.</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">list </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">||</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">[]).</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">forEach</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #e83737; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">function</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">(</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">i</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">)</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #d1edff; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">{})</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #ffaa3e; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span></code></pre><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 1.6em; margin-bottom: 1.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Chances are <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">very</strong> high that <span class="Apple-style-span" style="color: #ffaa3e; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 13px; line-height: 18px; white-space: pre;">writeToLog </span>does <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">not</strong> return a function; therefore, the above will yield a <code style="background-attachment: initial; background-clip: initial; background-color: #314d67; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.875em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1px; padding-left: 4px; padding-right: 4px; padding-top: 3px; text-shadow: none; vertical-align: baseline;">TypeError</code> stating that <code style="background-attachment: initial; background-clip: initial; background-color: #314d67; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.875em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1px; padding-left: 4px; padding-right: 4px; padding-top: 3px; text-shadow: none; vertical-align: baseline;">undefined is not a function</code>.</div></section><section style="display: block; position: relative;"><header style="display: block;"><h3 style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, sans-serif; font-size: 1.125em; font-variant: small-caps; margin-bottom: 0.88em; margin-left: 0px; margin-right: 0px; margin-top: 1.33em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: rgb(34, 34, 34) 0px 1px 1px; vertical-align: baseline;"><span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: 16px; font-variant: normal; font-weight: normal; line-height: 25px;">Conclusion:</span></h3><h3 style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, sans-serif; font-size: 1.125em; font-variant: small-caps; margin-bottom: 0.88em; margin-left: 0px; margin-right: 0px; margin-top: 1.33em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-shadow: rgb(34, 34, 34) 0px 1px 1px; vertical-align: baseline;"><span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: 16px; font-variant: normal; font-weight: normal; line-height: 25px;">It is highly recommended to <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">never</strong> omit semicolons, it is also advocated to keep braces on the same line with their corresponding statements and to never omit them for one single-line <code style="background-attachment: initial; background-clip: initial; background-color: #314d67; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.875em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1px; padding-left: 4px; padding-right: 4px; padding-top: 3px; text-shadow: none; vertical-align: baseline;">if</code> / <code style="background-attachment: initial; background-clip: initial; background-color: #314d67; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Inconsolata, 'Bitstream Vera Sans Mono', Menlo, Monaco, 'Andale Mono', 'Courier New', monospace; font-size: 0.875em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 1px; padding-left: 4px; padding-right: 4px; padding-top: 3px; text-shadow: none; vertical-align: baseline;">else</code> statements. Both of these measures will not only improve the consistency of the code, they will also prevent the JavaScript parser from changing its behavior.</span></h3></header></section></div>Mr.Maverickhttp://www.blogger.com/profile/05784764844157453889noreply@blogger.com0