-- ROWS=1 is needed to make the CURRVAL of sequences work --OPTIONS (ROWS=1) LOAD DATA INFILE * APPEND INTO TABLE cfdat_version WHEN (1) = 'VERSION' ( name POSITION(9) ENCLOSED BY '"', ver_id EXPRESSION "cfdat_version_id_seq.NEXTVAL", svn_url ENCLOSED BY '[' AND '|', svn_rel TERMINATED BY ']' ) INTO TABLE cfdat_config WHEN (1) = 'CONFIG' TRAILING NULLCOLS ( cfg_id EXPRESSION "cfdat_config_id_seq.NEXTVAL", name POSITION(8) ENCLOSED BY '"', ver_id EXPRESSION "cfdat_version_id_seq.CURRVAL" ) INTO TABLE cfdat_script WHEN (1) = 'SCRIPT' TRAILING NULLCOLS ( script_id EXPRESSION "cfdat_script_id_seq.NEXTVAL", name POSITION(8) ENCLOSED BY '"', ver_id EXPRESSION "cfdat_version_id_seq.CURRVAL" ) INTO TABLE cfdat_command WHEN (5) = 'cmd' TRAILING NULLCOLS ( script_id POSITION(9) TERMINATED BY WHITESPACE "(SELECT script_id FROM cfdat_script WHERE name=:script_id AND ver_id=get_curr_ver_id(1))", seq INTEGER EXTERNAL TERMINATED BY WHITESPACE, cmd INTEGER EXTERNAL TERMINATED BY WHITESPACE, addr INTEGER EXTERNAL TERMINATED BY WHITESPACE, data INTEGER EXTERNAL TERMINATED BY WHITESPACE, dest INTEGER EXTERNAL TERMINATED BY WHITESPACE ) INTO TABLE cfdat_config_scripts WHEN (5) = 'scr' TRAILING NULLCOLS ( cfg_id POSITION(9) TERMINATED BY WHITESPACE "(SELECT cfg_id FROM cfdat_config WHERE name=:cfg_id AND ver_id=get_curr_ver_id(1))", seq INTEGER EXTERNAL TERMINATED BY WHITESPACE, script_id TERMINATED BY WHITESPACE "(SELECT script_id FROM cfdat_script WHERE name=:script_id AND ver_id=get_curr_ver_id(1))", ver_id EXPRESSION "get_curr_ver_id(1)" ) BEGINDATA VERSION "{{ version.name }}" [{{ version.info }}] {% for script in scripts.values() -%} SCRIPT "{{ script.name }}" {%- for cmd in script | load_dat_commands %} cmd {{ script.name }} {{ "%5d"%loop.index }} {{ "%3d %6d %13d %8d"%cmd }} {%- endfor %} {% endfor -%} {% for config in configs.values() -%} CONFIG "{{ config.name }}" {%- for script in config.scripts %} scr {{ config.name }} {{ loop.index }} {{ script }} {%- endfor %} {% endfor -%}