Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A possibility of using results from existing queries as a source for future queries. #11533

Closed
madmurdok opened this issue Feb 26, 2021 · 7 comments
Assignees
Milestone

Comments

@madmurdok
Copy link

Is your feature request related to a problem? Please describe.
Talking about SQL-based databases(Like PostgresSql, Oracle, MySql, etc.)
Usually, when writing the final query, I often create subqueries / auxiliary queries. Especially if the end result is complex enough - it's a common task to check all intermediate queries.

Describe the solution you'd like
So, it will be great if I can use results of previous queries as a source for my current query. Let it be a inline component with query results(like in IntelliJ Idea, please see a screenshot)
example
And it should appear after any query that I execute.
The user has the ability to give it a name like a temporary table / view to use it as a source of his future queries.

Describe alternatives you've considered
For the first implementation, it may be easier to simply select / highlight the query in the editor and add a parameter to the context menu, for example: "Name the result of this query as ...".
It is worth creating a visual component - a table with all the "sources" of such data. so that the user doesn't forget / get confused in the intermediate data sources created by him

@uslss
Copy link
Member

uslss commented Mar 17, 2021

thanks for the suggestion

@serge-rider
Copy link
Member

image

@uslss
Copy link
Member

uslss commented Jul 7, 2021

  1. Value cannot be set or changed
    2021-07-07_13h40_57
  2. Variables with similar name could be created + if some variables were previously created - columns size changes at the new SQL editor tab, and fit screen after if new variable was created
    2021-07-07_13h46_14
  3. probably, it will be useful if variables could be sorted.

serge-rider added a commit that referenced this issue Jul 7, 2021
serge-rider added a commit that referenced this issue Jul 8, 2021
serge-rider added a commit that referenced this issue Jul 8, 2021
serge-rider added a commit that referenced this issue Jul 9, 2021
@serge-rider
Copy link
Member

Fixed

@uslss
Copy link
Member

uslss commented Jul 12, 2021

  1. Show parameter option is disables if "show parameter in result tab" option is checked/unchecked
    2021-07-12_11h59_27
    also npe appears
null
org.jkiss.dbeaver.model
Error
Mon Jul 12 12:00:48 MSK 2021


java.lang.NullPointerException
	at org.eclipse.jface.text.DefaultDocumentAdapter.getCharCount(DefaultDocumentAdapter.java:236)
	at org.eclipse.swt.custom.StyledText.getCharCount(StyledText.java:3905)
	at org.eclipse.swt.custom.StyledText.getText(StyledText.java:5218)
	at org.jkiss.dbeaver.ui.editors.sql.variables.SQLVariablesPanel.saveVariableValue(SQLVariablesPanel.java:155)
	at org.jkiss.dbeaver.ui.editors.sql.variables.SQLVariablesPanel.lambda$1(SQLVariablesPanel.java:147)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:127)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4209)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1043)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1067)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:766)
	at org.eclipse.swt.custom.StyledText.handleDispose(StyledText.java:5982)
	at org.eclipse.swt.custom.StyledText.lambda$1(StyledText.java:5794)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4209)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1043)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1067)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1048)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:800)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:921)
	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:168)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:803)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:921)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:803)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:921)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:803)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:921)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:803)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:921)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:803)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:921)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:803)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:921)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:803)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:921)
	at org.eclipse.swt.widgets.Widget.release(Widget.java:803)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:416)
	at org.jkiss.dbeaver.ui.editors.sql.SQLEditor.createExtraViewControls(SQLEditor.java:1318)
	at org.jkiss.dbeaver.ui.editors.sql.SQLEditor.toggleExtraPanelsLayout(SQLEditor.java:1301)
	at org.jkiss.dbeaver.ui.editors.sql.handlers.SQLEditorHandlerToggleExtraPanels.execute(SQLEditorHandlerToggleExtraPanels.java:39)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
	at jdk.internal.reflect.GeneratedMethodAccessor95.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:319)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:253)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:438)
	at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:449)
	at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:475)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4209)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1043)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4026)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3626)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
	at org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.start(DBeaverApplication.java:265)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1461)
  1. Parameters cannot be deleted using UI

serge-rider added a commit that referenced this issue Jul 12, 2021
@serge-rider
Copy link
Member

  1. Fixed
  2. Parameters cannot be deleted yet. Delete button is disabled for them

@uslss
Copy link
Member

uslss commented Jul 13, 2021

verified

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants