提交 45bc630b 编写于 作者: S Serge Rider

Merge remote-tracking branch 'origin/devel' into devel


Former-commit-id: 85caa6f6
......@@ -27,6 +27,8 @@ pref.page.name.sql.editor = \u0420\u0435\u0434\u0430\u043A\u0442\u04
pref.page.name.sql.execute = \u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432
pref.page.name.sql.format = \u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435
pref.page.name.entity.editor = \u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432
pref.page.name.sql.completion = \u0414\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 SQL
pref.page.name.sql.resources = \u0421\u043A\u0440\u0438\u043F\u0442\u044B
productName = DBeaver
......
......@@ -93,10 +93,11 @@ public class SQLServerMetaModel extends GenericMetaModel implements DBCQueryTran
if (!isSqlServer()) {
// #4378
GenericDataSource dataSource = container.getDataSource();
String dbName = DBUtils.getQuotedIdentifier(container.getParentObject());
try (JDBCSession session = DBUtils.openMetaSession(monitor, container, "Synase procedure list")) {
try (JDBCPreparedStatement dbStat = session.prepareStatement(
"select distinct so.name as proc_name,su.name as schema_name,so.loginame as login_name\n" +
"from sysobjects so, sysusers su\n" +
"from " + dbName + ".dbo.sysobjects so, "+ dbName + ".dbo.sysusers su\n" +
"where so.type = 'P'\n" +
"and su.uid = so.uid\n" +
"and su.name=?"))
......@@ -382,7 +383,7 @@ public class SQLServerMetaModel extends GenericMetaModel implements DBCQueryTran
@Override
public boolean supportsSynonyms(GenericDataSource dataSource) {
return true;
return isSqlServer();
}
@Override
......
......@@ -162,7 +162,11 @@ class MySQLExportWizard extends AbstractImportExportWizard<MySQLDatabaseExportIn
cmd.add("--routines"); //$NON-NLS-1$
}
}
if (addDropStatements) cmd.add("--add-drop-table"); //$NON-NLS-1$
if (addDropStatements) {
cmd.add("--add-drop-table"); //$NON-NLS-1$
} else {
cmd.add("--skip-add-drop-table"); //$NON-NLS-1$
}
if (disableKeys) cmd.add("--disable-keys"); //$NON-NLS-1$
if (extendedInserts) {
cmd.add("--extended-insert"); //$NON-NLS-1$
......
......@@ -68,7 +68,7 @@ public enum OracleObjectType implements DBSObjectType {
JOB_CLASS("JOB CLASS", null, DBSObject.class, null),
LIBRARY("LIBRARY", null, DBSObject.class, null),
LOB("CONTENT", null, DBSObject.class, null),
MATERIALIZED_VIEW("MATERIALIZED VIEW", null, DBSObject.class, null),
MATERIALIZED_VIEW("MATERIALIZED VIEW", DBIcon.TREE_VIEW, DBSObject.class, null),
OPERATOR("OPERATOR", null, DBSObject.class, null),
PACKAGE("PACKAGE", DBIcon.TREE_PACKAGE, OraclePackage.class, new ObjectFinder() {
@Override
......
......@@ -75,7 +75,6 @@ public class OracleStructureAssistant implements DBSStructureAssistant
OracleObjectType.INDEX,
OracleObjectType.PROCEDURE,
OracleObjectType.SEQUENCE,
OracleObjectType.SYNONYM,
};
}
......@@ -239,13 +238,17 @@ public class OracleStructureAssistant implements DBSStructureAssistant
return;
}
// Always search for synonyms
//objectTypeClause.append(",'").append(OracleObjectType.SYNONYM.getTypeName()).append("'");
objectTypeClause.append(",'").append(OracleObjectType.SYNONYM.getTypeName()).append("'");
// Seek for objects (join with public synonyms)
try (JDBCPreparedStatement dbStat = session.prepareStatement(
"SELECT " + OracleUtils.getSysCatalogHint((OracleDataSource) session.getDataSource()) + " DISTINCT OWNER,OBJECT_NAME,OBJECT_TYPE FROM ALL_OBJECTS WHERE " +
"SELECT " + OracleUtils.getSysCatalogHint((OracleDataSource) session.getDataSource()) + " DISTINCT OWNER,OBJECT_NAME,OBJECT_TYPE FROM (SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM ALL_OBJECTS WHERE " +
"OBJECT_TYPE IN (" + objectTypeClause + ") AND OBJECT_NAME LIKE ? " +
(schema == null ? "" : " AND OWNER=?") +
"UNION ALL\n" +
"SELECT " + OracleUtils.getSysCatalogHint((OracleDataSource) session.getDataSource()) + " O.OWNER,O.OBJECT_NAME,O.OBJECT_TYPE\n" +
"FROM ALL_SYNONYMS S,ALL_OBJECTS O\n" +
"WHERE O.OWNER=S.TABLE_OWNER AND O.OBJECT_NAME=S.TABLE_NAME AND S.OWNER='PUBLIC' AND S.SYNONYM_NAME LIKE ?)" +
"\nORDER BY OBJECT_NAME")) {
if (!caseSensitive) {
objectNameMask = objectNameMask.toUpperCase();
......@@ -254,6 +257,7 @@ public class OracleStructureAssistant implements DBSStructureAssistant
if (schema != null) {
dbStat.setString(2, schema.getName());
}
dbStat.setString(schema != null ? 3 : 2, objectNameMask);
dbStat.setFetchSize(DBConstants.METADATA_FETCH_SIZE);
try (JDBCResultSet dbResult = dbStat.executeQuery()) {
while (objects.size() < maxResults && dbResult.next()) {
......@@ -264,7 +268,7 @@ public class OracleStructureAssistant implements DBSStructureAssistant
final String objectName = JDBCUtils.safeGetString(dbResult, "OBJECT_NAME");
final String objectTypeName = JDBCUtils.safeGetString(dbResult, "OBJECT_TYPE");
final OracleObjectType objectType = OracleObjectType.getByType(objectTypeName);
if (objectType != null && objectType.isBrowsable() && oracleObjectTypes.contains(objectType)) {
if (objectType != null && objectType != OracleObjectType.SYNONYM && objectType.isBrowsable() && oracleObjectTypes.contains(objectType)) {
OracleSchema objectSchema = dataSource.getSchema(session.getProgressMonitor(), schemaName);
if (objectSchema == null) {
log.debug("Schema '" + schemaName + "' not found. Probably was filtered");
......
......@@ -57,6 +57,9 @@ meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreAttribute.precision.name=\u04
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreAttribute.precision.description=
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreAttribute.required.name=\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreAttribute.required.description=\u0412 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u043A\u043E\u043B\u043E\u043D\u043A\u0435 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0445\u0440\u0430\u043D\u0438\u0442\u044C\u0441\u044F NULL
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreAttribute.scale.name=\u041C\u0430\u0441\u0448\u0442\u0430\u0431
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreAttribute.identity.name=\u0418\u0434\u0435\u043D\u0442\u0438\u0447\u043D\u043E\u0441\u0442\u044C
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreAttribute.identity.description=\u0410\u0442\u0440\u0438\u0431\u0443\u0442 \u0438\u0434\u0435\u043D\u0442\u0438\u0447\u043D\u043E\u0441\u0442\u0438 (\u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043B\u0438 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E)
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreRole.canLogin.name=\u041F\u0440\u0430\u0432\u043E \u0432\u0445\u043E\u0434\u0430
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreRole.canLogin.description=
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreRole.connLimit.name=\u041A\u0432\u043E\u0442\u0430 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0439
......@@ -271,8 +274,10 @@ meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTable.superTables.name=\u041D
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTable.superTables.description=
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTable.tablespace.name=\u0422\u0430\u0431\u043B\u0438\u0447\u043D\u043E\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTable.tablespace.description=
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTableBase.objectId.name=Object ID
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTableBase.objectId.name=ID \u043E\u0431\u044A\u0435\u043A\u0442\u0430
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTableBase.objectId.description=ID
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTableBase.relOptions.name=\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043E\u043F\u0446\u0438\u0438
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTableBase.relOptions.description=\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B, \u043E\u0442\u043D\u043E\u0441\u044F\u0449\u0438\u0435\u0441\u044F \u043A \u043C\u0435\u0442\u043E\u0434\u0443 \u0434\u043E\u0441\u0442\u0443\u043F\u0430, \u0442\u0430\u043A\u0438\u0435 \u043A\u0430\u043A \u0441\u0442\u0440\u043E\u043A\u0438 "keyword=value
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTableBase.owner.name=\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTableBase.owner.description=\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 (\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C, \u0441\u043E\u0437\u0434\u0430\u0432\u0448\u0438\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u0443)
meta.org.jkiss.dbeaver.ext.postgresql.model.PostgreTableBase.description.name=\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439
......
......@@ -21,6 +21,9 @@ import org.eclipse.osgi.util.NLS;
public class EditorsMessages extends NLS {
static final String BUNDLE_NAME = "org.jkiss.dbeaver.ui.editors.internal.EditorsResources"; //$NON-NLS-1$
public static String dialog_struct_attribute_edit_page_header_edit_attribute;
public static String dialog_struct_attribute_edit_page_label_text_name;
public static String dialog_struct_attribute_edit_page_label_text_properties;
public static String dialog_struct_columns_select_error_load_columns_message;
public static String dialog_struct_columns_select_error_load_columns_title;
public static String dialog_struct_columns_select_group_columns;
......
dialog_struct_attribute_edit_page_header_edit_attribute=Edit attribute {0}
dialog_struct_attribute_edit_page_label_text_name=Name
dialog_struct_attribute_edit_page_label_text_properties=Properties
dialog_struct_columns_select_column = Column
dialog_struct_columns_type = Type
dialog_struct_columns_select_error_load_columns_message = Error loading table columns
......
dialog_struct_attribute_edit_page_header_edit_attribute=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0430\u0442\u0440\u0438\u0431\u0443\u0442 {0}
dialog_struct_attribute_edit_page_label_text_name=\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435
dialog_struct_attribute_edit_page_label_text_properties=\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430
dialog_struct_columns_select_column = \u041A\u043E\u043B\u043E\u043D\u043A\u0430
dialog_struct_columns_select_error_load_columns_message = \u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u0442\u0430\u0431\u043B\u0438\u0446\u044B
dialog_struct_columns_select_error_load_columns_title = \u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043A\u043E\u043B\u043E\u043D\u043E\u043A
......
......@@ -18,6 +18,7 @@ package org.jkiss.dbeaver.ui.editors.object.struct;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
......@@ -39,6 +40,7 @@ import org.jkiss.dbeaver.runtime.properties.ObjectPropertyDescriptor;
import org.jkiss.dbeaver.runtime.properties.PropertySourceAbstract;
import org.jkiss.dbeaver.runtime.properties.PropertySourceEditable;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.editors.internal.EditorsMessages;
import org.jkiss.dbeaver.ui.properties.PropertyTreeViewer;
public class AttributeEditPage extends BaseObjectEditPage {
......@@ -49,7 +51,7 @@ public class AttributeEditPage extends BaseObjectEditPage {
public AttributeEditPage(@Nullable DBECommandContext commandContext, @NotNull DBSEntityAttribute attribute)
{
super("Edit attribute " + DBUtils.getObjectFullName(attribute, DBPEvaluationContext.UI));
super(NLS.bind(EditorsMessages.dialog_struct_attribute_edit_page_header_edit_attribute, DBUtils.getObjectFullName(attribute, DBPEvaluationContext.UI)));
this.commandContext = commandContext;
this.attribute = attribute;
}
......@@ -61,14 +63,14 @@ public class AttributeEditPage extends BaseObjectEditPage {
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
propsGroup.setLayoutData(gd);
final Text nameText = UIUtils.createLabelText(propsGroup, "Name", attribute.getName()); //$NON-NLS-2$
final Text nameText = UIUtils.createLabelText(propsGroup, EditorsMessages.dialog_struct_attribute_edit_page_label_text_name, attribute.getName()); //$NON-NLS-2$
nameText.addModifyListener(e -> {
if (attribute instanceof DBPNamedObject2) {
((DBPNamedObject2) attribute).setName(DBObjectNameCaseTransformer.transformName(attribute.getDataSource(), nameText.getText()));
}
});
UIUtils.createControlLabel(propsGroup, "Properties").setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
UIUtils.createControlLabel(propsGroup, EditorsMessages.dialog_struct_attribute_edit_page_label_text_properties).setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
propertyViewer = new PropertyTreeViewer(propsGroup, SWT.BORDER);
gd = new GridData(GridData.FILL_BOTH);
gd.widthHint = 400;
......
......@@ -391,6 +391,8 @@ public class PlainTextPresentation extends AbstractPresentation implements IAdap
}
}
StringBuilder fixBuffer = new StringBuilder();
private String getCellString(ResultSetModel model, DBDAttributeBinding attr, ResultSetRow row, DBDDisplayFormat displayFormat) {
Object cellValue = model.getCellValue(attr, row);
if (cellValue instanceof DBDValueError) {
......@@ -404,10 +406,29 @@ public class PlainTextPresentation extends AbstractPresentation implements IAdap
{
displayString = DBConstants.NULL_VALUE_LABEL;
}
return displayString
.replace('\n', TextUtils.PARAGRAPH_CHAR)
.replace("\r", "")
.replace((char)0, ' ');
fixBuffer.setLength(0);
for (int i = 0; i < displayString.length(); i++) {
char c = displayString.charAt(i);
switch (c) {
case '\n':
c = TextUtils.PARAGRAPH_CHAR;
break;
case '\r':
continue;
case 0:
case 255:
case '\t':
c = ' ';
break;
}
if (c < ' ' || (c > 127 && c < 255)) {
c = ' ';
}
fixBuffer.append(c);
}
return fixBuffer.toString();
}
private void printRecord() {
......
......@@ -217,7 +217,7 @@ public class PrefPageResultSetPresentation extends TargetPrefPage
store.setValue(ResultSetPreferences.RESULT_TEXT_VALUE_FORMAT, textValueFormat.getSelection().name());
store.setValue(ResultSetPreferences.RESULT_TEXT_SHOW_NULLS, showNulls.getSelection());
store.setValue(ResultSetPreferences.RESULT_TEXT_DELIMITER_LEADING, textDelimiterLeading.getSelection());
store.setValue(ResultSetPreferences.RESULT_TEXT_DELIMITER_TRAILING, textDelimiterLeading.getSelection());
store.setValue(ResultSetPreferences.RESULT_TEXT_DELIMITER_TRAILING, textDelimiterTrailing.getSelection());
store.setValue(ResultSetPreferences.RESULT_TEXT_EXTRA_SPACES, textExtraSpaces.getSelection());
} catch (Exception e) {
log.warn(e);
......
......@@ -29,6 +29,12 @@ sql.convert.label.keep.formatting.discription = Keeps original formatting (white
sql.convert.label.line.delimiter.name = Line delimiter
sql.convert.label.line.delimiter.discription = Delimiter for source code lines. Usually \\n or space
sql.convert.label.line.delimiter.delphi.discription = Delimiter for source code lines. Usually #13#10 or space
sql.formatter.default.name = Default formatter
sql.formatter.default.tip = Default SQL formatter
sql.formatter.compact.name = Compact formatter
sql.formatter.compact.tip = Compact SQL formatter. Similar to default formatter but with more compact output
sql.formatter.external.name = External formatter
sql.formatter.external.tip = External formatter. Uses configurable command-line executable to format SQL queries
column.org.jkiss.dbeaver.ui.editors.columns.script.position.name = Script position
......
......@@ -86,3 +86,10 @@ sql.convert.label.keep.formatting.discription = \u
sql.convert.label.line.delimiter.name = \u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0441\u0442\u0440\u043E\u043A
sql.convert.label.line.delimiter.discription = \u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0441\u0442\u0440\u043E\u043A \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430. \u041E\u0431\u044B\u0447\u043D\u043E \\n \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u0435\u043B
sql.convert.label.line.delimiter.delphi.discription = \u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0441\u0442\u0440\u043E\u043A \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430. \u041E\u0431\u044B\u0447\u043D\u043E \#13#10 \u0438\u043B\u0438 \u043F\u0440\u043E\u0431\u0435\u043B
sql.formatter.default.name = \u0424\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E
sql.formatter.default.tip = SQL \u0444\u043E\u0440\u043C\u0430\u0442\u0435\u0440 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E
sql.formatter.compact.name = \u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442\u0435\u0440
sql.formatter.compact.tip = \u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u044B\u0439 SQL \u0444\u043E\u0440\u043C\u0430\u0442\u0435\u0440. \u0410\u043D\u0430\u043B\u043E\u0433\u0438\u0447\u043D\u043E \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044E \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E, \u043D\u043E \u0441 \u0431\u043E\u043B\u0435\u0435 \u043A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u044B\u043C \u0432\u044B\u0445\u043E\u0434\u043E\u043C
sql.formatter.external.name = \u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442\u0435\u0440
sql.formatter.external.tip = \u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0444\u043E\u0440\u043C\u0430\u0442\u0435\u0440. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u0438\u0441\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u044B\u0439 \u0444\u0430\u0439\u043B \u043A\u043E\u043C\u0430\u043D\u0434\u043D\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438 \u0434\u043B\u044F \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432 SQL
......@@ -40,9 +40,9 @@
</extension>
<extension point="org.jkiss.dbeaver.sqlFormatter">
<formatter id="default" class="org.jkiss.dbeaver.model.sql.format.tokenized.SQLFormatterTokenized" configurerClass="org.jkiss.dbeaver.ui.editors.sql.format.tokenized.SQLTokenizedFormatterConfigurationPage" label="Default formatter" description="Default SQL formatter"/>
<formatter id="compact" class="org.jkiss.dbeaver.model.sql.format.tokenized.SQLFormatterCompact" configurerClass="org.jkiss.dbeaver.ui.editors.sql.format.tokenized.SQLTokenizedFormatterConfigurationPage" label="Compact formatter" description="Compact SQL formatter. Similar to default formatter but with more compact output"/>
<formatter id="external" class="org.jkiss.dbeaver.model.sql.format.external.SQLFormatterExternal" configurerClass="org.jkiss.dbeaver.ui.editors.sql.format.SQLExternalFormatterConfigurationPage" label="External formatter" description="External formatter. Uses configurable command-line executable to format SQL queries"/>
<formatter id="default" class="org.jkiss.dbeaver.model.sql.format.tokenized.SQLFormatterTokenized" configurerClass="org.jkiss.dbeaver.ui.editors.sql.format.tokenized.SQLTokenizedFormatterConfigurationPage" label="%sql.formatter.default.name" description="%sql.formatter.default.tip"/>
<formatter id="compact" class="org.jkiss.dbeaver.model.sql.format.tokenized.SQLFormatterCompact" configurerClass="org.jkiss.dbeaver.ui.editors.sql.format.tokenized.SQLTokenizedFormatterConfigurationPage" label="%sql.formatter.compact.name" description="%sql.formatter.compact.tip"/>
<formatter id="external" class="org.jkiss.dbeaver.model.sql.format.external.SQLFormatterExternal" configurerClass="org.jkiss.dbeaver.ui.editors.sql.format.SQLExternalFormatterConfigurationPage" label="%sql.formatter.external.name" description="%sql.formatter.external.tip"/>
</extension>
<extension point="org.jkiss.dbeaver.sqlCommand">
......
......@@ -2186,9 +2186,9 @@ public class SQLEditor extends SQLEditorBase implements
}
public enum ResultSetOrientation {
HORIZONTAL(SWT.VERTICAL, "Horizontal", "Results are below the editor", true),
VERTICAL(SWT.HORIZONTAL, "Vertical", "Results are to the right from editor", true),
DETACHED(SWT.VERTICAL, "Detached", "Results are in separate view", false);
HORIZONTAL(SWT.VERTICAL, SQLEditorMessages.sql_editor_result_set_orientation_horizontal, SQLEditorMessages.sql_editor_result_set_orientation_horizontal_tip, true),
VERTICAL(SWT.HORIZONTAL, SQLEditorMessages.sql_editor_result_set_orientation_vertical, SQLEditorMessages.sql_editor_result_set_orientation_vertical_tip, true),
DETACHED(SWT.VERTICAL, SQLEditorMessages.sql_editor_result_set_orientation_detached, SQLEditorMessages.sql_editor_result_set_orientation_detached_tip, false);
private final int sashOrientation;
private final String label;
......
......@@ -270,7 +270,12 @@ public class SQLEditorMessages extends NLS {
public static String controls_querylog_transaction;
public static String sql_editor_menu_choose_format;
public static String sql_editor_panel_format;
public static String sql_editor_result_set_orientation_detached;
public static String sql_editor_result_set_orientation_detached_tip;
public static String sql_editor_result_set_orientation_horizontal;
public static String sql_editor_result_set_orientation_horizontal_tip;
public static String sql_editor_result_set_orientation_vertical;
public static String sql_editor_result_set_orientation_vertical_tip;
public static String sql_script_binding_type_radio_button_connection_name;
public static String sql_script_binding_type_radio_button_connection_parameters;
public static String sql_script_binding_type_radio_button_connection_unique;
......
......@@ -252,3 +252,10 @@ sql_script_binding_type_radio_button_connection_name=Connection name
sql_script_binding_type_radio_button_connection_parameters=Connection parameters (name1=value1;name2=value2;...)
sql_script_binding_type_radio_button_connection_unique=Connection unique ID
sql_script_binding_type_radio_button_connection_url=Connection URL (jdbc:dbms://host:port/...)
sql_editor_result_set_orientation_detached=Detached
sql_editor_result_set_orientation_detached_tip=Results are in separate view
sql_editor_result_set_orientation_horizontal=Horizontal
sql_editor_result_set_orientation_horizontal_tip=Results are below the editor
sql_editor_result_set_orientation_vertical=Vertical
sql_editor_result_set_orientation_vertical_tip=Results are to the right from editor
......@@ -147,12 +147,12 @@ pref_page_sql_editor_label_results_orientation = \u041E\u0440\u0438\u0435\u043D\
pref_page_sql_editor_label_results_orientation_tip = \u041E\u0440\u0438\u0435\u043D\u0442\u0430\u0446\u0438\u044F \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u0432 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 SQL
pref_page_sql_editor_link_text_editor = \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u0433\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430
#SQLExecute
pref_page_sql_editor_label_sql_timeout_tip = Query execute timeout (in seconds). 0 means no timeout
pref_page_sql_editor_enable_parameters_in_ddl = Enable parameters in DDL
pref_page_sql_editor_enable_parameters_in_ddl_tip = Usually DDL (like CREATE PROCEDURE) don't use input query parameters but may contain complex logic/scripting.\nThis may conflict with parameters prefix.\nSo it makes sense to disable parameters parsing for DDL queries.
pref_page_sql_editor_enable_variables = Enable variables
pref_page_sql_editor_enable_variables_tip = Enable variables in SQL scripts.\nVariable is a special mark ${VAR_NAME} which will be replaced with user input before query execution
pref_page_sql_editor_checkbox_create_script_folders = Create script folders
pref_page_sql_editor_label_sql_timeout_tip = \u0412\u0440\u0435\u043C\u044F \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430 (\u0432 \u0441\u0435\u043A\u0443\u043D\u0434\u0430\u0445). 0 \u043E\u0437\u043D\u0430\u0447\u0430\u0435\u0442 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F
pref_page_sql_editor_enable_parameters_in_ddl = \u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0432 DDL
pref_page_sql_editor_enable_parameters_in_ddl_tip = \u041E\u0431\u044B\u0447\u043D\u043E DDL (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, CREATE PROCEDURE) \u043D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0437\u0430\u043F\u0440\u043E\u0441\u0430, \u043D\u043E \u043C\u043E\u0436\u0435\u0442 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0441\u043B\u043E\u0436\u043D\u0443\u044E \u043B\u043E\u0433\u0438\u043A\u0443/\u0441\u0446\u0435\u043D\u0430\u0440\u0438\u0438.\\u043F\u044D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u043A\u043E\u043D\u0444\u043B\u0438\u043A\u0442\u043E\u0432\u0430\u0442\u044C \u0441 \u043F\u0440\u0435\u0444\u0438\u043A\u0441\u043E\u043C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432.\n\u041F\u043E\u044D\u0442\u043E\u043C\u0443 \u0438\u043C\u0435\u0435\u0442 \u0441\u043C\u044B\u0441\u043B \u043E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0430\u043D\u0430\u043B\u0438\u0437 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 \u0434\u043B\u044F DDL-\u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432.
pref_page_sql_editor_enable_variables = \u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435
pref_page_sql_editor_enable_variables_tip = \u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0432 \u0441\u043A\u0440\u0438\u043F\u0442\u0430\u0445 SQL.\n\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F - \u044D\u0442\u043E \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u0430\u044F \u043C\u0435\u0442\u043A\u0430 ${VAR_NAME}, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043C\u0435\u043D\u0435\u043D\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u043C \u0432\u0432\u043E\u0434\u043E\u043C \u043F\u0435\u0440\u0435\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435\u043C \u0437\u0430\u043F\u0440\u043E\u0441\u0430
pref_page_sql_editor_checkbox_create_script_folders = \u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438 \u0441\u043A\u0440\u0438\u043F\u0442\u043E\u0432
#SQLFormat
pref_page_sql_format_group_auto_close = \u0410\u0432\u0442\u043E-\u0434\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435
......@@ -243,3 +243,9 @@ sql_script_binding_type_radio_button_connection_name=\u0418\u043C\u044F \u0441\u
sql_script_binding_type_radio_button_connection_parameters=\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u0441\u043E\u0434\u0438\u043D\u0435\u043D\u0438\u044F (name1=value1;name2=value2;...)
sql_script_binding_type_radio_button_connection_unique=\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 ID \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F
sql_script_binding_type_radio_button_connection_url=URL-\u0430\u0434\u0440\u0435\u0441 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F (jdbc:dbms://host:port/...)
sql_editor_result_set_orientation_horizontal=\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u044B\u0439
sql_editor_result_set_orientation_horizontal_tip=\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043D\u0438\u0436\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430
sql_editor_result_set_orientation_detached=\u041E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0439
sql_editor_result_set_orientation_detached_tip=\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u0432 \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E\u043C \u043E\u043A\u043D\u0435
sql_editor_result_set_orientation_vertical=\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439
sql_editor_result_set_orientation_vertical_tip=\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u0441\u043F\u0440\u0430\u0432\u0430 \u043E\u0442 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册