use of org.jkiss.dbeaver.ext.mysql.model.MySQLDataSource in project dbeaver by serge-rider.
the class MySQLCommandChangeUser method getPersistActions.
@Override
public DBEPersistAction[] getPersistActions() {
List<DBEPersistAction> actions = new ArrayList<>();
boolean newUser = !getObject().isPersisted();
if (newUser) {
actions.add(new //$NON-NLS-2$
SQLDatabasePersistAction(//$NON-NLS-2$
MySQLMessages.edit_command_change_user_action_create_new_user, //$NON-NLS-2$
"CREATE USER " + getObject().getFullName()) {
@Override
public void handleExecute(DBCSession session, Throwable error) {
if (error == null) {
getObject().setPersisted(true);
}
}
});
}
StringBuilder script = new StringBuilder();
boolean hasSet;
final MySQLDataSource dataSource = getObject().getDataSource();
if (!dataSource.isMariaDB() && dataSource.isServerVersionAtLeast(5, 7)) {
hasSet = generateAlterScript(script);
} else {
hasSet = generateUpdateScript(script);
}
if (hasSet) {
actions.add(new SQLDatabasePersistAction(MySQLMessages.edit_command_change_user_action_update_user_record, script.toString()));
}
return actions.toArray(new DBEPersistAction[actions.size()]);
}
use of org.jkiss.dbeaver.ext.mysql.model.MySQLDataSource in project dbeaver by dbeaver.
the class MySQLCommandChangeUser method getPersistActions.
@Override
public DBEPersistAction[] getPersistActions(Map<String, Object> options) {
List<DBEPersistAction> actions = new ArrayList<>();
boolean newUser = !getObject().isPersisted();
if (newUser) {
actions.add(new // $NON-NLS-2$
SQLDatabasePersistAction(// $NON-NLS-2$
MySQLMessages.edit_command_change_user_action_create_new_user, // $NON-NLS-2$
"CREATE USER " + getObject().getFullName()) {
@Override
public void afterExecute(DBCSession session, Throwable error) {
if (error == null) {
getObject().setPersisted(true);
}
}
});
}
StringBuilder script = new StringBuilder();
boolean hasSet;
final MySQLDataSource dataSource = getObject().getDataSource();
if (!dataSource.isMariaDB() && dataSource.isServerVersionAtLeast(5, 7)) {
hasSet = generateAlterScript(script);
} else {
hasSet = generateUpdateScript(script);
}
if (hasSet) {
actions.add(new SQLDatabasePersistAction(MySQLMessages.edit_command_change_user_action_update_user_record, script.toString()));
}
return actions.toArray(new DBEPersistAction[actions.size()]);
}
use of org.jkiss.dbeaver.ext.mysql.model.MySQLDataSource in project dbeaver by serge-rider.
the class MySQLSessionEditor method createSessionViewer.
@Override
protected SessionManagerViewer createSessionViewer(DBCExecutionContext executionContext, Composite parent) {
return new SessionManagerViewer<MySQLSession>(this, parent, new MySQLSessionManager((MySQLDataSource) executionContext.getDataSource())) {
private boolean hideSleeping;
@Override
protected void contributeToToolbar(DBAServerSessionManager sessionManager, IContributionManager contributionManager) {
contributionManager.add(killSessionAction);
contributionManager.add(terminateQueryAction);
contributionManager.add(new Separator());
contributionManager.add(ActionUtils.makeActionContribution(new Action("Hide sleeping", Action.AS_CHECK_BOX) {
{
setToolTipText("Show only active connections");
setChecked(hideSleeping);
}
@Override
public void run() {
hideSleeping = isChecked();
refreshPart(MySQLSessionEditor.this, true);
}
}, true));
contributionManager.add(new Separator());
}
@Override
protected void onSessionSelect(DBAServerSession session) {
super.onSessionSelect(session);
killSessionAction.setEnabled(session != null);
terminateQueryAction.setEnabled(session != null && !CommonUtils.isEmpty(session.getActiveQuery()));
}
@Override
public Map<String, Object> getSessionOptions() {
if (hideSleeping) {
return Collections.singletonMap(MySQLSessionManager.OPTION_HIDE_SLEEPING, true);
}
return super.getSessionOptions();
}
@Override
protected void loadSettings(IDialogSettings settings) {
hideSleeping = CommonUtils.toBoolean(settings.get("hideSleeping"));
super.loadSettings(settings);
}
@Override
protected void saveSettings(IDialogSettings settings) {
super.saveSettings(settings);
settings.put("hideSleeping", hideSleeping);
}
};
}
use of org.jkiss.dbeaver.ext.mysql.model.MySQLDataSource in project dbeaver by serge-rider.
the class MySQLCommandChangeUser method getPersistActions.
@Override
public DBEPersistAction[] getPersistActions(DBRProgressMonitor monitor, DBCExecutionContext executionContext, Map<String, Object> options) {
List<DBEPersistAction> actions = new ArrayList<>();
boolean newUser = !getObject().isPersisted();
if (newUser) {
actions.add(new // $NON-NLS-2$
SQLDatabasePersistAction(// $NON-NLS-2$
MySQLUIMessages.edit_command_change_user_action_create_new_user, // $NON-NLS-2$
"CREATE USER " + getObject().getFullName()) {
@Override
public void afterExecute(DBCSession session, Throwable error) {
if (error == null) {
getObject().setPersisted(true);
}
}
});
}
boolean hasSet;
final MySQLDataSource dataSource = getObject().getDataSource();
if (MySQLUtils.isAlterUSerSupported(dataSource)) {
StringBuilder script = new StringBuilder();
if (generateAlterScript(script)) {
actions.add(new SQLDatabasePersistAction(MySQLUIMessages.edit_command_change_user_action_update_user_record, script.toString()));
}
} else {
String updateSQL = generateUpdateScript();
if (updateSQL != null) {
actions.add(new SQLDatabasePersistAction(MySQLUIMessages.edit_command_change_user_action_update_user_record, updateSQL));
}
updateSQL = generatePasswordSet();
if (updateSQL != null) {
actions.add(new SQLDatabasePersistAction(MySQLUIMessages.edit_command_change_user_action_update_user_record, updateSQL));
}
}
return actions.toArray(new DBEPersistAction[0]);
}
use of org.jkiss.dbeaver.ext.mysql.model.MySQLDataSource in project dbeaver by serge-rider.
the class MySQLSessionEditor method createSessionViewer.
@Override
protected SessionManagerViewer createSessionViewer(DBCExecutionContext executionContext, Composite parent) {
return new SessionManagerViewer(this, parent, new MySQLSessionManager((MySQLDataSource) executionContext.getDataSource())) {
@Override
protected void contributeToToolbar(DBAServerSessionManager sessionManager, IContributionManager contributionManager) {
contributionManager.add(killSessionAction);
contributionManager.add(terminateQueryAction);
contributionManager.add(new Separator());
}
@Override
protected void onSessionSelect(DBAServerSession session) {
super.onSessionSelect(session);
killSessionAction.setEnabled(session != null);
terminateQueryAction.setEnabled(session != null && !CommonUtils.isEmpty(session.getActiveQuery()));
}
};
}
Aggregations