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