test_class.declarator: storedProcSQLWithSep = 
          "CREATE PROCEDURE sp_ins (P VARCHAR(10)) \n" +
          "BEGIN \n" +
          "SET @x=CHAR_LENGTH(P); \n" +
          "SET @y = HEX(P); \n" +
          "INSERT INTO sp1(id,txt) VALUES(@x,@y); \n" +
          "END \n" +
          "| \n"
test_class.modifier: private static final
test_class.original_string: private static final String storedProcSQLWithSep = 
          "CREATE PROCEDURE sp_ins (P VARCHAR(10)) \n" +
          "BEGIN \n" +
          "SET @x=CHAR_LENGTH(P); \n" +
          "SET @y = HEX(P); \n" +
          "INSERT INTO sp1(id,txt) VALUES(@x,@y); \n" +
          "END \n" +
          "| \n";
test_class.type: String
test_class.var_name: storedProcSQLWithSep
test_class.declarator: storedProcSQLWithoutSep = 
          "CREATE PROCEDURE sp_ins (P VARCHAR(10)) \n" +
          "BEGIN \n" +
          "SET @x=CHAR_LENGTH(P); \n" +
          "SET @y = HEX(P); \n" +
          "INSERT INTO sp1(id,txt) VALUES(@x,@y); \n" +
          "END \n"
test_class.modifier: private static final
test_class.original_string: private static final String storedProcSQLWithoutSep = 
          "CREATE PROCEDURE sp_ins (P VARCHAR(10)) \n" +
          "BEGIN \n" +
          "SET @x=CHAR_LENGTH(P); \n" +
          "SET @y = HEX(P); \n" +
          "INSERT INTO sp1(id,txt) VALUES(@x,@y); \n" +
          "END \n";
test_class.type: String
test_class.var_name: storedProcSQLWithoutSep
test_class.declarator: tokenizerUnderTest = null
test_class.original_string: MysqlQueryTokenizer tokenizerUnderTest = null;
test_class.type: MysqlQueryTokenizer
test_class.var_name: tokenizerUnderTest
test_class.declarator: prefsBean = 
          EasyMock.createMock(IQueryTokenizerPreferenceBean.class)
test_class.original_string: IQueryTokenizerPreferenceBean prefsBean = 
          EasyMock.createMock(IQueryTokenizerPreferenceBean.class);
test_class.type: IQueryTokenizerPreferenceBean
test_class.var_name: prefsBean
test_class.file: sql12/plugins/mysql/src/test/java/net/sourceforge/squirrel_sql/plugins/mysql/tokenizer/MysqlQueryTokenizerTest.java
test_class.identifier: MysqlQueryTokenizerTest
test_class.superclass: extends BaseSQuirreLJUnit4TestCase
test_case.body: @Test
      public final void testSetScriptToTokenizeMultipleProcs() {
          StringBuilder script = new StringBuilder();
          for (int i = 0; i < 5; i++) {
              script.append(storedProcSQLWithSep);
              script.append("\n");
          }
          tokenizerUnderTest.setScriptToTokenize(script.toString());
          assertEquals(5, tokenizerUnderTest.getQueryCount());
      }
test_case.class_method_signature: MysqlQueryTokenizerTest.testSetScriptToTokenizeMultipleProcs()
test_case.full_signature: @Test public final void testSetScriptToTokenizeMultipleProcs()
test_case.identifier: testSetScriptToTokenizeMultipleProcs
test_case.invocations: append append setScriptToTokenize toString assertEquals getQueryCount
test_case.modifiers: @Test public final
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSetScriptToTokenizeMultipleProcs()
focal_class.declarator: s_log =
          LoggerController.createLogger(MysqlQueryTokenizer.class)
focal_class.modifier: private final static
focal_class.original_string: private final static ILogger s_log =
          LoggerController.createLogger(MysqlQueryTokenizer.class);
focal_class.type: ILogger
focal_class.var_name: s_log
focal_class.declarator: PROCEDURE_PATTERN = 
          "^\\s*CREATE\\s+PROCEDURE.*"
focal_class.modifier: private static final
focal_class.original_string: private static final String PROCEDURE_PATTERN = 
          "^\\s*CREATE\\s+PROCEDURE.*";
focal_class.type: String
focal_class.var_name: PROCEDURE_PATTERN
focal_class.declarator: FUNCTION_PATTERN = 
          "^\\s*CREATE\\s+FUNCTION.*"
focal_class.modifier: private static final
focal_class.original_string: private static final String FUNCTION_PATTERN = 
          "^\\s*CREATE\\s+FUNCTION.*";
focal_class.type: String
focal_class.var_name: FUNCTION_PATTERN
focal_class.declarator: TRIGGER_PATTERN = 
          "^\\s*CREATE\\s+TRIGGER.*"
focal_class.modifier: private static final
focal_class.original_string: private static final String TRIGGER_PATTERN = 
          "^\\s*CREATE\\s+TRIGGER.*";
focal_class.type: String
focal_class.var_name: TRIGGER_PATTERN
focal_class.declarator: procPattern = Pattern.compile(PROCEDURE_PATTERN, Pattern.DOTALL)
focal_class.modifier: private
focal_class.original_string: private Pattern procPattern = Pattern.compile(PROCEDURE_PATTERN, Pattern.DOTALL);
focal_class.type: Pattern
focal_class.var_name: procPattern
focal_class.declarator: funcPattern = Pattern.compile(FUNCTION_PATTERN, Pattern.DOTALL)
focal_class.modifier: private
focal_class.original_string: private Pattern funcPattern = Pattern.compile(FUNCTION_PATTERN, Pattern.DOTALL);
focal_class.type: Pattern
focal_class.var_name: funcPattern
focal_class.declarator: triggerPattern = Pattern.compile(TRIGGER_PATTERN, Pattern.DOTALL)
focal_class.modifier: private
focal_class.original_string: private Pattern triggerPattern = Pattern.compile(TRIGGER_PATTERN, Pattern.DOTALL);
focal_class.type: Pattern
focal_class.var_name: triggerPattern
focal_class.declarator: _prefs = null
focal_class.modifier: private
focal_class.original_string: private IQueryTokenizerPreferenceBean _prefs = null;
focal_class.type: IQueryTokenizerPreferenceBean
focal_class.var_name: _prefs
focal_class.file: sql12/plugins/mysql/src/main/java/net/sourceforge/squirrel_sql/plugins/mysql/tokenizer/MysqlQueryTokenizer.java
focal_class.identifier: MysqlQueryTokenizer
focal_class.interfaces: implements IQueryTokenizer
focal_class.class_method_signature: MysqlQueryTokenizer.MysqlQueryTokenizer(IQueryTokenizerPreferenceBean prefs)
focal_class.full_signature: public  MysqlQueryTokenizer(IQueryTokenizerPreferenceBean prefs)
focal_class.identifier: MysqlQueryTokenizer
focal_class.modifiers: public
focal_class.parameters: (IQueryTokenizerPreferenceBean prefs)
focal_class.signature:  MysqlQueryTokenizer(IQueryTokenizerPreferenceBean prefs)
focal_class.class_method_signature: MysqlQueryTokenizer.setScriptToTokenize(String script)
focal_class.full_signature: public void setScriptToTokenize(String script)
focal_class.identifier: setScriptToTokenize
focal_class.modifiers: public
focal_class.parameters: (String script)
focal_class.return: void
focal_class.signature: void setScriptToTokenize(String script)
focal_class.class_method_signature: MysqlQueryTokenizer.setFactory()
focal_class.full_signature: protected void setFactory()
focal_class.identifier: setFactory
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void setFactory()
focal_class.class_method_signature: MysqlQueryTokenizer.breakApartNewLines()
focal_class.full_signature: private void breakApartNewLines()
focal_class.identifier: breakApartNewLines
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void breakApartNewLines()
focal_class.class_method_signature: MysqlQueryTokenizer.joinFragments(Pattern pattern, boolean skipStraySep)
focal_class.full_signature: private void joinFragments(Pattern pattern, boolean skipStraySep)
focal_class.identifier: joinFragments
focal_class.modifiers: private
focal_class.parameters: (Pattern pattern, boolean skipStraySep)
focal_class.return: void
focal_class.signature: void joinFragments(Pattern pattern, boolean skipStraySep)
focal_class.class_method_signature: MysqlQueryTokenizer.getTokenizerSessPropsInteractions()
focal_class.full_signature: @Override public TokenizerSessPropsInteractions getTokenizerSessPropsInteractions()
focal_class.identifier: getTokenizerSessPropsInteractions
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: TokenizerSessPropsInteractions
focal_class.signature: TokenizerSessPropsInteractions getTokenizerSessPropsInteractions()
focal_class.superclass: extends QueryTokenizer
focal_method.body: public void setScriptToTokenize(String script) {
          super.setScriptToTokenize(script);
          
          // Since it is likely to have the procedure separator on it's own line, 
          // and it is key to letting us know that proceeding statements form a 
          // multi-statement procedure or function, it deserves it's own place in 
          // the _queries arraylist.  If it is followed by other procedure or 
          // function creation blocks, we may fail to detect that, so this just 
          // goes through the list and breaks apart statements on newline so that 
          // this cannot happen.
          breakApartNewLines();
          
          // MySQL allows statement separators in procedure blocks.  The process
          // of tokenizing above renders these procedure blocks as separate 
          // statements, which are not valid to be executed separately.  Here, we 
          // re-assemble any create procedure/function/trigger statements that we 
          // find using the beginning procedure block pattern and the procedure 
          // separator. 
          joinFragments(procPattern, false);
          joinFragments(funcPattern, false);
          joinFragments(triggerPattern, false);
          
          _queryIterator = _queries.iterator();
      }
focal_method.class_method_signature: MysqlQueryTokenizer.setScriptToTokenize(String script)
focal_method.full_signature: public void setScriptToTokenize(String script)
focal_method.identifier: setScriptToTokenize
focal_method.invocations: setScriptToTokenize breakApartNewLines joinFragments joinFragments joinFragments iterator
focal_method.modifiers: public
focal_method.parameters: (String script)
focal_method.return: void
focal_method.signature: void setScriptToTokenize(String script)