Skip to content

Regenerating the Install Scripts

This chapter is really only relevant if you're maintaining orafce_no_c itself (adding or changing a ported function), rather than just installing it — but it explains what those generated files actually are, which matters if you ever wonder why editing them directly doesn't stick.

The single source of truth

extension/orafce_no_c--1.0.sql and both files under install/ are generated from the per-package sources in sql/*.sql (01_dbms_assert.sql through 10_plvsubst.sql). They are never hand-edited — every one of them carries an AUTO-GENERATED -- do not edit by hand header for exactly this reason.

After changing anything under sql/, regenerate with:

./build/assemble_install.sh

This produces:

  • extension/orafce_no_c--1.0.sql — the CREATE EXTENSION install script.
  • install/orafce_no_c_standalone.sql — the standalone install script.
  • install/orafce_no_c_standalone_uninstall.sql — the matching standalone uninstall script.

All three are built from the same 10 package files, concatenated in a fixed order, with the conflict-detection preflight prepended.

What it does not touch

sql/11_oracle_varchar2_domains.sql (the optional VARCHAR2/NVARCHAR2 add-on) is generated by a separate script, build/generate_varchar2_domains.sh, and is deliberately not included in build/assemble_install.sh's package list — it stays out of the core install artifacts on purpose, since it's an optional, manually-installed add-on (see Installing the VARCHAR2/NVARCHAR2 Types). See Customizing the Type Family if you need to regenerate that file instead.

Continue to the Differences book for every documented behavioral difference from real orafce.