Reader Directives

The suffixes listed are prefixed by the current <ReaderKeyword> in a mapping file. By default, the <ReaderKeyword> for the Google Fusion Table reader is GOOGLEFUSIONTABLES_IN.

NC

This directive specifies a Named Connection for OAuth 2.0 authentication to Google Fusion Table private data tables from a specific Google account.

Required/Optional

Optional

If this directive is not specified, then only public tables may be read and their encrypted Ids will need to be explicitly provided in the table list, since it is not possible to list all public tables.

Mapping File Syntax

<ReaderKeyword>_NC <named_connection>

Workbench Parameter

Named Connection

DEF

Each Google Fusion table must be defined before it can be written. The general form of a Google Fusion table definition statement is:

GOOGLEFUSIONTABLES_DEF <tableName> \
    [googlefusiontables_create_table (yes|no)] \
    [googlefusiontables_drop_table (yes|no)] \
    [googlefusiontables_truncate_table (yes|no)]	\
    [googlefusiontables_mode (inherit_from_writer|insert|update|delete)]\
    [googlefusiontables_update_key_columns <column1, column2, *>]

The table definition allows control of the table that will be created. If the table already exists, the majority of the googlefusiontables_ parameters will be ignored and need not be given. If the fields and types are listed, they must match those in the database.

If the table does not exist, then the field names and types are used to first create the table. In any case, if a <fieldType> is given, it may be any field type supported by the target database.

The configuration parameters present on the definition line are described in the following table:

Parameter Contents
tableName The name of the table to be written
googlefusiontables_create_table

Specify whether or not to create a new table with the name of the table and columns based on the name and user attribute names and types in the writer feature type.

NO

googlefusiontables_geometry_columns

A comma-separated list of the geometry column names for writing.. These geometry columns will be created for each of the supplied geometry column names when creating a new table or matched against the existing geometry columns when writing to an existing table.

Default: geom

googlefusiontables _drop_table

If the table exists by this name, it should be dropped. Only valid when creating a new table.

NO

googlefusiontables _truncate_table

If the table exists by this name, it should be truncated before any features are written to it. Will result in an empty table if combined with UPDATE or DELETE mode.

NO

googlefusiontables _update_key_columns A comma-separated list of the columns which are matched against the corresponding FME attribute’s values to specify which rows are to be updated or deleted when the writer mode is either UPDATE or DELETE.

Required/Optional

Optional

BEGIN_SQL{n}

Occasionally you must execute some ad-hoc SQL prior to opening a table. For example, it may be necessary to ensure that a view exists prior to attempting to read from it.

Upon opening a connection to read from a database, the reader looks for the directive <ReaderKeyword>_BEGIN_SQL{n} (for n=0,1,2,...), and executes each such directive’s value as an SQL statement on the database connection.

Multiple SQL commands can be delimited by a character specified using the FME_SQL_DELIMITER keyword, embedded at the beginning of the SQL block. The single character following this keyword will be used to split the SQL, which will then be sent to the database for execution. Note: Include a space before the character.

For example:

FME_SQL_DELIMITER ;

DELETE FROM instructors;

DELETE FROM people WHERE LastName='Doe' AND FirstName='John'

Multiple delimiters are not allowed and the delimiter character will be stripped before being sent to the database.

Any errors occurring during the execution of these SQL statements will normally terminate the reader with an error. If the specified statement is preceded by a hyphen (“-”), such errors are ignored.

Required/Optional

Optional

Workbench Parameter

SQL Statement to Execute Before Translation

END_SQL{n}

Occasionally you must execute some ad-hoc SQL after closing a set of tables. For example, it may be necessary to clean up a temporary view after writing to the database.

Just before closing a connection on a database, the reader looks for the directive <ReaderKeyword>_END_SQL{n} (for n=0,1,2,...), and executes each such directive’s value as an SQL statement on the database connection.

Multiple SQL commands can be delimited by a character specified using the FME_SQL_DELIMITER directive, embedded at the beginning of the SQL block. The single character following this directive will be used to split the SQL, which will then be sent to the database for execution.

Note: Include a space before the character.

For example:

FME_SQL_DELIMITER ; DELETE FROM instructors; DELETE FROM people WHERE LastName='Doe' AND FirstName='John'

Multiple delimiters are not allowed and the delimiter character will be stripped before being sent to the database.

Any errors occurring during the execution of these SQL statements will normally terminate the reader with an error. If the specified statement is preceded by a hyphen (“-”), such errors are ignored.

Required/Optional

Optional

Workbench Parameter

SQL Statement to Execute After Translation

EXPOSED_ATTRS

This directive allows the selection of format attributes to be explicitly added to the reader feature type.

This is similar to exposing format attributes on a reader feature type once it has been generated; however, it is even more powerful because it enables schema-driven applications other than Workbench to access and leverage these attributes as if they were explicitly on the schema as user attributes.

The result of picking a list of attributes is a comma-separated list of attribute names and types that will be added to the schema features. Currently all reader feature types will receive the same set of additional schema attributes for a given instance of the reader.

Required/Optional

Optional

Mapping File Syntax

Not applicable.

While it is possible for FME Objects applications to invoke this directive, the required format is not documented.

This directive is intended for use in our GUI applications (for example, Workbench) only.

Workbench Parameter

Additional Attributes to Expose