private void onRunHQL() { if (false == _runHQL.isEnabled()) { return; } String hql = _hqlEntryPanelManager.getEntryPanel().getSQLToBeExecuted(); if (null == hql || 0 == hql.trim().length()) { return; } final IQueryTokenizer queryTokenizer = _sess.getQueryTokenizer(); final String statementSeparator = queryTokenizer.getSQLStatementSeparator(); final String startOfLineComment = queryTokenizer.getLineCommentBegin(); QueryTokenizer qt = new QueryTokenizer(statementSeparator, startOfLineComment, true); qt.setScriptToTokenize(hql); while (qt.hasQuery()) { String hqlQuery = qt.nextQuery(); _hibernateTabController.displayObjects(_con, hqlQuery); } }
public void setScriptToTokenize(String script) { super.setScriptToTokenize(script); _queryIterator = _queries.iterator(); }
@Override public TokenizerSessPropsInteractions getTokenizerSessPropsInteractions() { if(_prefs.isInstallCustomQueryTokenizer()) { TokenizerSessPropsInteractions ret = new TokenizerSessPropsInteractions(); ret.setTokenizerDefinesRemoveMultiLineComment(true); ret.setTokenizerDefinesStartOfLineComment(true); ret.setTokenizerDefinesStatementSeparator(true); return ret; } else { return super.getTokenizerSessPropsInteractions(); } }
/** * Returns the IQueryTokenizer implementation to use for tokenizing scripts * statements that should be sent to the server. If the tokenizer hasn't * been initialized yet, then a default one will be created. If a cutom * tokenizer has been installed, this will just return that one, in lieu of * the default one. * * @return an implementation of IQueryTokenizer */ public IQueryTokenizer getQueryTokenizer() { if (tokenizer == null || !customTokenizerInstalled) { // No tokenizer has been set by any installed plugin. Go ahead and // give the default tokenizer. It is important to not cache this // object so that session property changes to the current session // are reflected in this default tokenizer. tokenizer = new QueryTokenizer(_props.getSQLStatementSeparator(), _props.getStartOfLineComment(), _props.getRemoveMultiLineComment()); } return tokenizer; }
public void setScriptToTokenize(String script) { super.setScriptToTokenize(script); _queryIterator = _queries.iterator(); }
@Override public TokenizerSessPropsInteractions getTokenizerSessPropsInteractions() { if(_prefs.isInstallCustomQueryTokenizer()) { TokenizerSessPropsInteractions ret = new TokenizerSessPropsInteractions(); ret.setTokenizerDefinesRemoveMultiLineComment(true); ret.setTokenizerDefinesStartOfLineComment(true); ret.setTokenizerDefinesStatementSeparator(true); return ret; } else { return super.getTokenizerSessPropsInteractions(); } }
/** * Returns the IQueryTokenizer implementation to use for tokenizing scripts * statements that should be sent to the server. If the tokenizer hasn't * been initialized yet, then a default one will be created. If a cutom * tokenizer has been installed, this will just return that one, in lieu of * the default one. * * @return an implementation of IQueryTokenizer */ public IQueryTokenizer getQueryTokenizer() { if (tokenizer == null || !customTokenizerInstalled) { // No tokenizer has been set by any installed plugin. Go ahead and // give the default tokenizer. It is important to not cache this // object so that session property changes to the current session // are reflected in this default tokenizer. tokenizer = new QueryTokenizer(_props.getSQLStatementSeparator(), _props.getStartOfLineComment(), _props.getRemoveMultiLineComment()); } return tokenizer; }
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(); }
@Override public TokenizerSessPropsInteractions getTokenizerSessPropsInteractions() { if(_prefs.isInstallCustomQueryTokenizer()) { TokenizerSessPropsInteractions ret = new TokenizerSessPropsInteractions(); ret.setTokenizerDefinesRemoveMultiLineComment(true); ret.setTokenizerDefinesStartOfLineComment(true); ret.setTokenizerDefinesStatementSeparator(true); return ret; } else { return super.getTokenizerSessPropsInteractions(); } }