Writer Directives

The suffixes shown are prefixed by the current <WriterKeyword> in a mapping file. By default, the <WriterKeyword> for the Google Fusion Table writer is GOOGLEFUSIONTABLES_OUT.

NC

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

For more information on how the Named Connection is used, please refer to the topic Reader Parameters.

Required/Optional

Required

Mapping File Syntax

<WriterKeyword>_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

TRANSACTION_INTERVAL

This statement defines the number of features to be placed in each transaction before a transaction is committed to the database.

If the <WriterKeyword>_TRANSACTION_INTERVAL statement is not specified, then a value of 400 is used as the transaction interval.

Note:  The maximum value is 500.

Required/Optional

Optional

Mapping File Syntax

<WriterKeyword>_Transaction_INTERVAL 500

Workbench Parameter

Transaction Interval

WRITER_MODE

Note: For more information on this directive, see the chapter Database Writer Mode.

This directive determines which operations will be performed by default by this writer.

This operation can be set to INSERT, UPDATE or DELETE. The default writer level value for this operation can be overwritten at the feature type or table level. The corresponding feature type def parameter name is called GOOGLE_FUSION_TABLE_MODE. It has the same valid options as the writer level mode and additionally the value INHERIT_FROM_WRITER which causes the writer level mode to be inherited by the feature type as the default for features contained in that table.

If the GOOGLEFUSIONTABLES_WRITER_MODE statement is not specified, then a value of INSERT is given.

Mapping File Syntax

<WriterKeyword>_WRITER_MODE INSERT

Workbench Parameter

Writer Mode

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