Page 1 of 1

Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Sat Dec 10, 2016 5:04 pm
by HughDarwen
I regret that I'm unable to upgrade to Rel V3 from Dbrowser V1.0.12 (excited by the new ATTRIBUTES_OF operator) for the following reasons:

Rel.exe appears to have replaced Dbrowser.jar.

Dbrowser allows me to specify the Rel database to work with, this being a Windows directory in which a database either exists or will be created. Rel.exe always starts up with the default database.

Also, a backup taken in V1.0.12 failed to restore with V1.0.14 because the definition for OPERATOR IS_DIGITS wasn't accepted. I was trying to restore into db:D:\AllDocs\All Rel Databases\newdd. The error message appeared like this:

operator IS_DIGITS

ERROR: RS0005: Compilation failed due to errors:
Unrecognized option : D:\AllDocs\All


Line 479
In IS_DIGITS(CHARACTER) RETURNS BOOLEAN line 1


It seems that the embedded blank in my directory name was causing a problem that I never had with such names in Dbrowser.

Hugh

Re: Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Sat Dec 10, 2016 6:18 pm
by Dave
Yes, Rel.exe has replaced DBrowser.jar. The change was made for two reasons:

1. Not every environment supports double-clicking .jar files to launch them, and some users didn't recognise that the DBrowser.bat file was an alternative.

2. A significant number of new users didn't know what DBrowser.jar or DBrowser.bat was, and instead ran Rel.jar or Rel.bat. That launched a command-line Rel interpreter with no graphical user-interface, which some users found highly off-putting.

Given that .exe files are generally known to be executable, and new users typically expect something called Rel.exe to run the graphical user interface, it made sense to change DBrowser.jar to Rel.exe.

The problem compiling IS_DIGITS is due to the spaces in D:\AllDocs\All Rel Databases\newdd, which is itself a result of using a different built-in Java compiler.

Spaces in database directories are normally fine, but it breaks the compilation of Java-based operators. I've made an entry in my "TO DO" list to fix this. (I almost never use spaces in file or directory names, so my testing hadn't revealed this problem.)

In the short term, renaming the "All Rel Databases" directory to something like "AllRelDatabases", or using a different directory without spaces in the name, will fix it.

Once you've loaded a Rel database from a specific directory, it will appear in the Rel user interface under the "File" menu as a "recently used" item to make it easier to load quickly. A list of recently-used databases always appears in the File menu to expedite loading them.

There's another way to quickly launch a specified Rel database, but it's a bit experimental and might not work. If you look in a new Rel database directory, you'll see there's a ClickToOpen.rdb file. If you double-click the file, Windows will ask you to associate a program with the file. If you associate Rel.exe from the Rel installation, it will launch Rel and might load the database that contains ClickToOpen.rdb. I use "might" here because the facility is rather complex and operating-system dependent, and though I've got it working reliably and consistently under Mac OS X, it doesn't work reliably under Windows. But it might work, and I'll certainly have it working reliably in a future update.

The default database is always loaded as preparation for a future update in which system settings and user preferences will be stored in the default database. At that point, I will likely provide an option to load it invisibly -- i.e., so it doesn't appear in a tab -- so that even though it will always load, you won't always have to see it.

Re: Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Mon Dec 12, 2016 2:44 pm
by HughDarwen
Thanks for the explanations and advice. Alas, the latter has not entirely helped and in any case offers suggestions that would not solve my problems.

First, I removed the blanks from that directory name (which invalidated in several of my "shortcuts", grumble grumble!) but restore from backup still failed on IS_DIGITS, as follows:

operator IS_DIGITS

ERROR: RS0005: Compilation failed due to errors:
----------
1. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 3)
import org.reldb.rel.v0.types.*;
^^^^^^^^^
The import org.reldb cannot be resolved
----------
2. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 4)
import org.reldb.rel.v0.types.builtin.*;
^^^^^^^^^
The import org.reldb cannot be resolved
----------
3. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 5)
import org.reldb.rel.v0.types.userdefined.*;
^^^^^^^^^
The import org.reldb cannot be resolved
----------
4. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 6)
import org.reldb.rel.v0.values.*;
^^^^^^^^^
The import org.reldb cannot be resolved
----------
5. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 7)
import org.reldb.rel.v0.vm.Context;
^^^^^^^^^
The import org.reldb cannot be resolved
----------
6. WARNING in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 9)
public class op_IS_DIGITS__CHARACTER {
^^^^^^^^^^^^^^^^^^^^^^^
Javadoc: Missing comment for public declaration
----------
7. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 10)
private static final ValueBoolean do_IS_DIGITS(Context context, ValueCharacter s) {
^^^^^^^^^^^^
ValueBoolean cannot be resolved to a type
----------
8. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 10)
private static final ValueBoolean do_IS_DIGITS(Context context, ValueCharacter s) {
^^^^^^^
Context cannot be resolved to a type
----------
9. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 10)
private static final ValueBoolean do_IS_DIGITS(Context context, ValueCharacter s) {
^^^^^^^^^^^^^^
ValueCharacter cannot be resolved to a type
----------
10. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 15)
return ValueBoolean.select(context.getGenerator(), false);
^^^^^^^^^^^^
ValueBoolean cannot be resolved
----------
11. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 16)
return ValueBoolean.select(context.getGenerator(), true);
^^^^^^^^^^^^
ValueBoolean cannot be resolved
----------
12. WARNING in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 19)
public static final void execute(Context context) {
^^^^^^^^^^^^^^^^^^^^^^^^
Javadoc: Missing comment for public declaration
----------
13. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 19)
public static final void execute(Context context) {
^^^^^^^
Context cannot be resolved to a type
----------
14. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 20)
ValueCharacter p0 = (ValueCharacter)context.pop();
^^^^^^^^^^^^^^
ValueCharacter cannot be resolved to a type
----------
15. ERROR in C:\Users\Hugh\DefaultRelDb\Reldb\RelUserCode\op_IS_DIGITS__CHARACTER.java (at line 20)
ValueCharacter p0 = (ValueCharacter)context.pop();
^^^^^^^^^^^^^^
ValueCharacter cannot be resolved to a type
----------
15 problems (13 errors, 2 warnings)


Line 479
In IS_DIGITS(CHARACTER) RETURNS BOOLEAN line 1



Next, Widows 10 didn't let me specify "always use this app to open such files", so your suggestion re "click to open" didn't work and in any case "Open with" rel.exe failed, producing a log that starts as follows:

!SESSION 2016-12-12 14:19:28.689 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_101
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB
Framework arguments: -clearPersistedState Rel C:\Users\Hugh\DefaultRelDb\ClickToOpen.rdb
Command-line arguments: -os win32 -ws win32 -arch x86_64 -clearPersistedState Rel C:\Users\Hugh\DefaultRelDb\ClickToOpen.rdb

!ENTRY org.eclipse.osgi 4 0 2016-12-12 14:19:30.239
!MESSAGE An error occurred while automatically activating bundle org.eclipse.core.resources (32).
!STACK 0


However, dragging the ClickToOpen.rdb file and dropping it on a link to "S:\Rel\V1.0.14 beta\Rel.exe" does work (not that that is of much help to me).

Finally, let me show you the Rexx programs that I use to invoke Dbrowser. The main point is that I rely on being able to invoke Dbrowser with an argument specifying the directory containing the required database. I then have several shortcuts in a toolbar, each specifying a particular database in its target. For example, "Rel with DDMP" has this target: "S:\Hugh's\Rexx programs\Rel-db.rex" DDMP.

Rexx is my replacement for .bat files. The first seven lines are always the same and you don't need to fully understand them. "=" is assignment or comparison, depending on context.

Rel.rex:

/*--------------------------------------------------------------------*/
/* REL: Run Dave Voorhis's implementation of Tutorial D. */
/*--------------------------------------------------------------------*/
Trace ?Off
Parse Upper Source host subenv exfn exft exfm inv_name address
Parse Arg parms /* obtain input argument */
If parms = "?" Then Signal Help /* Signal = "go to"! */

RelDir = Value("RelPath",,"ENVIRONMENT") /* obtain Rel dir from system variable */
Left(RelDir,2) /* Extract drive colon */
"cd" Substr(RelDir,3) /* change to Rel's dir */
"start java -jar Dbrowser.jar" parms /* invoke Dbrowser with specified db if given */

Return rc;

Help:
Do s=1 by 1 Until Left(Sourceline(s),4)="/*--" & s>2
Say Translate(Sourceline(s)," ","/")
End
Exit 100

Rel-db.rex:
/*--------------------------------------------------------------------*/
/* REL-db: Rel with specified db */
/*--------------------------------------------------------------------*/
Trace ?Off
Parse Upper Source host subenv exfn exft exfm inv_name address
Parse Arg db
If db = "?" Then Signal Help

rc = Rel('-f"d:\Alldocs\AllRelDatabases\'db'"') /* I had to update this for no blanks in dir name! */

Return rc;

Help:
Do s=1 by 1 Until Left(Sourceline(s),4)="/*--" & s>2
Say Translate(Sourceline(s)," ","/")
End
Exit 100

Rel-NewDB.rex:
/*--------------------------------------------------------------------*/
/* REL-NewDB: Rel with new database */
/*--------------------------------------------------------------------*/
Trace ?Off
Parse Upper Source host subenv exfn exft exfm inv_name address
Parse Arg parms
If parms = "?" Then Signal Help

Say 'Please enter the name of your new Rel database'
Parse Pull dbname
'mkdir d:\alldocs\"AllRelDatabases"\"'dbname'"'

Rel('-f"d:\Alldocs\AllRelDatabases\'dbname'"')

Return rc;

Help:
Do s=1 by 1 Until Left(Sourceline(s),4)="/*--" & s>2
Say Translate(Sourceline(s)," ","/")
End
Exit 100


Hugh

Re: Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Mon Dec 12, 2016 7:29 pm
by Dave
That is very helpful. Thanks. I think I've sorted out all the bugs and issues, and now need to do more testing.

I'm intending to release an update tomorrow (Tue, Dec 12, 2016) that should fix the problem with compiling IS_DIGITs, etc. due to spaces in the directory name; it will permit you to disable loading the default database as a tab; and it will allow you to load databases from the command-line using the following syntax:

Rel c:\Users\Hugh\DefaultRelDb\ClickToOpen.rdb

If the directory name has spaces, it will look like this:

Rel "c:\Users\Hugh\A Rel Database\ClickToOpen.rdb"

Note the "ClickToOpen.rdb" file, which indicates that there is a Rel database in "A Rel Database", as opposed to being an arbitrary directory.

I'm not sure why the file association in Windows 10 isn't behaving when clicking on *.rdb files, particularly as it's an operating system facility that isn't dependent on Rel itself, but we'll look at that once the new update is installed and properly loading v1.0.12 databases.

Re: Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Tue Dec 13, 2016 7:55 am
by Dave
I've removed the requirement to specify ClickToOpen.rdb on the command-line. It's now possible to open databases from the command-line using the following syntax:

Rel c:\Users\Hugh\DefaultRelDb

Or, if the directory name has spaces:

Rel "c:\Users\Hugh\A Rel Database"

The update that provides this will be released shortly.

Re: Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Tue Dec 13, 2016 5:50 pm
by HughDarwen
Many thanks for the fixes. So far I've verified starting with a specified database by dragging and dropping the relevant directory, removal of the default database tab, and, from a Windows command line "rel d:\alldocs\AllRelDatabases\newdd".

Unfortunately, my attempt to restore from a backup made in V1.0.12 fails with the same error as before, on OPERATOR IS_DIGITS.

Hugh

Re: Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Tue Dec 13, 2016 6:17 pm
by Dave
HughDarwen wrote: Unfortunately, my attempt to restore from a backup made in V1.0.12 fails with the same error as before, on OPERATOR IS_DIGITS.
I wonder if you could send me -- either via email, or inline here, or via private message here, whichever you prefer -- two things:

1. The output of "Tools | View log" immediately after opening the v3.002 database in which you've been attempting to run the v1.0.12 backup script.

2. The database backup script. Obviously, if it contains sensitive or private data, please delete that data first.

Also, how are you launching Rel prior to attempting to load the v1.0.12 backup? Is it launched via your REXX script, or by double-clicking on the Rel.exe in the Rel directory, or by some other means?

Re: Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Tue Dec 13, 2016 6:28 pm
by Dave
Another question: The directory that contains Rel.exe... Does it have any spaces in the path?

I had a hunch that spaces in the Rel program directory path might cause problems, and it does. E.g., running Rel.exe via:

C:\Users\Dave\Desktop\Rel\Rel.exe "C:\Users\Dave\Desktop\My Database"

is fine, but...

"C:\Users\Dave\Desktop\Rel DB\Rel.exe" "C:\Users\Dave\Desktop\My Database"

...appears to work, but prevents Java-based operators from being compiled. It's similar to the problem that was caused (and now fixed) by having spaces in the database path, except it turns out to also be caused by spaces in the path to the Rel.exe program.

If this is the case, the error will show up clearly in "Tools | View log".

Re: Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Wed Dec 14, 2016 3:44 pm
by HughDarwen
Thanks, Dave. That was a good guess, re spaces in the path to Rel.exe. I had one and I removed it and then the restore worked fine. For a backup consisting of 3186 lines that's quite an achievement.

A long time ago it was a matter of self-discipline for me never to have spaces in directory or file names, but the various problems I had encountered with spaces gradually disappeared and I eventually abandoned that discipline. I don't mind having to return to it for Rel, but please let us know if and when you have a fix for that problem.

In answer to your previous question, I invoked Rel by dragging the directory containing the database and dropping it on my desktop shortcut that points to the required version of Rel.exe. I'm sure this has exactly the same effect as invoking from a Windows command line (or Rexx program) with the full path to that directory as argument.

The log you asked for appears to confirm the problem was due to the blank (see below).

Hugh

Request received to open database at D:\AllDocs\AllRelDatabases\newdd
DbConnection: Search for Rel core JAR files...
DbConnection: Error in getBundleJarPath: java.net.URISyntaxException: Illegal character in path at index 20: file:/S:/Rel/V1.0.15 beta/configuration/org.eclipse.osgi/6/0/.cp/lib/rel0000.jar
java.net.URISyntaxException: Illegal character in path at index 20: file:/S:/Rel/V1.0.15 beta/configuration/org.eclipse.osgi/6/0/.cp/lib/rel0000.jar
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.checkChars(URI.java:3021)
at java.net.URI$Parser.parseHierarchical(URI.java:3105)
at java.net.URI$Parser.parse(URI.java:3053)
at java.net.URI.<init>(URI.java:588)
at java.net.URL.toURI(URL.java:946)
at org.reldb.dbrowser.ui.DbConnection.getBundleJarPath(DbConnection.java:50)
at org.reldb.dbrowser.ui.DbConnection.<init>(DbConnection.java:66)
at org.reldb.dbrowser.ui.DbTab.openConnection(DbTab.java:434)
at org.reldb.dbrowser.ui.DbTab.attemptConnectionOpen(DbTab.java:444)
at org.reldb.dbrowser.ui.DbTab.openConnection(DbTab.java:457)
at org.reldb.dbrowser.ui.DbTab.openDatabaseAtURI(DbTab.java:482)
at org.reldb.dbrowser.ui.DbTab.openLocalDatabase(DbTab.java:515)
at org.reldb.dbrowser.DBrowser.openFile(DBrowser.java:178)
at org.reldb.dbrowser.DBrowser.initialise(DBrowser.java:114)
at org.reldb.dbrowser.DBrowser.run(DBrowser.java:49)
at org.reldb.dbrowser.parts.Main.postConstruct(Main.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:966)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:151)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:375)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:294)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:105)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:74)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:56)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:975)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:651)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:757)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:728)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:722)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:706)
at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:70)
at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:49)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:665)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:757)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:728)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:722)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:706)
at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:82)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:72)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4813)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:211)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:94)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveStackImpl.setSelectedElement(PerspectiveStackImpl.java:135)
at org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveStackImpl.setSelectedElement(PerspectiveStackImpl.java:1)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:108)
at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.postProcess(PerspectiveStackRenderer.java:63)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:669)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:757)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:728)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:722)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:706)
at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:70)
at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:725)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:665)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:757)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:728)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:722)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:706)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1059)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:161)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
Opening database in D:\AllDocs\AllRelDatabases\newdd
If it doesn't exist, we'll cause an error.
No custom relvars were found in C:\Users\Hugh\Relplugins\relvars
No custom relvars were found in D:\AllDocs\AllRelDatabases\newdd\Relplugins\relvars
Database D:\AllDocs\AllRelDatabases\newdd is open.
CheckForUpdates: check for updates.
CheckForUpdates: Rel is up to date.

Re: Rel.exe V1.0.14 incompatible with Dbrowser in V1.0.12

Posted: Wed Dec 14, 2016 4:20 pm
by Dave
HughDarwen wrote:A long time ago it was a matter of self-discipline for me never to have spaces in directory or file names, but the various problems I had encountered with spaces gradually disappeared and I eventually abandoned that discipline. I don't mind having to return to it for Rel, but please let us know if and when you have a fix for that problem.
I've fixed it. The fix was trivial; the problem was a result of not noticing that the warning associated with a particular Java method -- which stated that the method would throw a "URISyntaxException - if this URL is not formatted strictly according to to RFC2396 and cannot be converted to a URI" -- meant the URL (used internally to locate a certain file included in the Rel distribution) couldn't contain spaces. In retrospect, it was obvious but I didn't notice it at the time. :oops:

The fix will appear in the next update, which will be released in a few weeks along more fixes and enhancements, unless removing spaces in the path to Rel.exe is causing you additional difficulties elsewhere. If it is, please let me know and I'll produce an update in a day or two.