Skip to main content

Open ideas have been reviewed by our Product Management and are open for commenting and voting.

Filter by idea status

Filter by product area

4588 Ideas

thijsknapen
Contributor
thijsknapenContributor

Also allow the operators 'Attribute has ...' for 'non attributes' (like e.g. parArchived

***Note from Migration:*** Original Title was: Also allow the operators 'Attribute has ...' for 'non attributes' (like e.g. parameters or direct fme feature functions) in test conditions It would be nice if the operator 'Attribute has ...' could also be used on 'non attributes'.It is quite tempting to use a testfilter with the condition 'input parameter', and operator 'Attribute has a value'. However, this won't work as expected as the input parameter is not an attribute. When your not aware of this it is also quite tricky to detect that a (test) statement like this doesn't work, because no error or warning is generated when you do use such a (invalid) statement.Also, it seems that I'm not the first one to have been confused that this operator is not possible for non attributes, see e.g. the following topic on the forum; linkOf course there are quite some easy workarounds to this;a) if you just create an attribute from the parameter (with e.g. a parameterfetcher) you can use the teststatement then on this newly created attribute. (Although this is the simple and obvious fix, I do feel it is a bit cumborsome as I think it shouldn't be neccessary to go into such a workaround. Also creating an attribute from your parameter will actually create an extra 'column' to your dataset, which might be quite costly on resources when you are dealing with large 'feature sets')b) I think in many cases you can also get away by using the operator 'Contains Regex'.E.g. I would think that the operator 'Attribute has a value' would be very similar to using the operator 'Contains Regex' with the regex '.+' (meaning 'one or more' (i.e. '+') of 'any single character' (i.e. '.')).

bwn
Evangelist
bwnEvangelist

InlineQuerier: Expose Virtual RAM OptionArchived

This should be a fairly simple addition, but it is almost certain that the underlying code in InlineQuerier has an inbuilt option for creating and executing the DB in RAM. All it needs is to be exposed to the user in the Transformer Parameters.Currently InlineQuerier creates a temporary SQLite database file on disk, and executes SQL queries against this. This makes the Transformer dependent on both the available disk space and the speed of writing/reading from that disk.However the underlying SQLite engine used by the Transformer has In-memory database creation options as a standard part SQLite. There are three ways of creating different databases, but all use the same base functions and commands.I've tested all 3 methods with the similar SQLite FeatureWriter, and all 3 seem to work which seems to indicate that FME can already do these, it is just lacking a Parameter in InlineQuerier to expose the different performance optionsIf you call"sqlite.exe filepathname" or "rc = sqlite3_open(filepathname, &db)" depending on accessor being usedthen this creates the database on disk. This is what InlineQuerier does now.However if this is altered to:"sqlite.exe :memory:" or "rc = sqlite3_open(":memory:", &db)" depending on accessor being usedThis creates the database in RAM, if available.A third hybrid option is available that again uses the same command, and creates a temporary "pagefile" like file that if allocated RAM is consumed then it will mix data between RAM and on-disk:"sqlite.exe "" " or "rc = sqlite3_open("", &db)" depending on accessor being usedSQLite technical documentation here:https://www.sqlite.org/inmemorydb.html