apm_upgrade_script_compare (private)
apm_upgrade_script_compare f1 f2
Defined in packages/acs-tcl/tcl/apm-install-procs.tcl
- Parameters:
- f1 (required)
- f2 (required)
- Returns:
- 1 if f1 comes after f2, 0 if they are the same, -1 if f1 comes before f2.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: # Strip off any path information. set f1 [lindex [split $f1 /] end] set f2 [lindex [split $f2 /] end] # Get the version number from, e.g. the 2.0 from upgrade-2.0-3.0.sql if {[regexp {\-(.*)-.*.sql} $f1 match f1_version_from] && [regexp {\-(.*)-.*.sql} $f2 match f2_version_from] } { # At this point we should have something like 2.0 and 3.1d which Tcl string # comparison can handle. set f1_version_from [db_exec_plsql test_f1 {}] set f2_version_from [db_exec_plsql test_f2 {}] return [string compare $f1_version_from $f2_version_from] } else { error "Invalid upgrade script syntax. Should be \"upgrade-major.minor-major.minor.sql\"." }Generic XQL file: packages/acs-tcl/tcl/apm-install-procs.xql
PostgreSQL XQL file: <fullquery name="apm_upgrade_script_compare.test_f1"> <querytext> select apm_package_version__sortable_version_name(:f1_version_from); </querytext> </fullquery> <fullquery name="apm_upgrade_script_compare.test_f2"> <querytext> select apm_package_version__sortable_version_name(:f2_version_from); </querytext> </fullquery>packages/acs-tcl/tcl/apm-install-procs-postgresql.xql
Oracle XQL file: <fullquery name="apm_upgrade_script_compare.test_f1"> <querytext> begin :1 := apm_package_version.sortable_version_name('$f1_version_from'); end; </querytext> </fullquery> <fullquery name="apm_upgrade_script_compare.test_f2"> <querytext> begin :1 := apm_package_version.sortable_version_name('$f2_version_from'); end; </querytext> </fullquery>packages/acs-tcl/tcl/apm-install-procs-oracle.xql