IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 28245


Ignore:
Timestamp:
Jun 7, 2010, 12:00:46 PM (16 years ago)
Author:
watersc1
Message:

Final changes before trunk->branch merge.

Then, simtest to see if it all works correctly.

Location:
branches/czw_branch/20100519
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • branches/czw_branch/20100519/dbconfig/changes.txt

    r28164 r28245  
    17161716CREATE TABLE warpSummary (
    17171717    warp_id     BIGINT,
    1718     tangent_plane VARCHAR(64) NOT NULL,
     1718    projection_cell VARCHAR(64) NOT NULL,
    17191719    path_base   VARCHAR(255) NOT NULL,
    17201720    PRIMARY KEY(warp_id),
    1721     KEY(tangent_plane),
     1721    KEY(projection_cell),
    17221722    FOREIGN KEY(warp_id) REFERENCES warpRun(warp_id)
    17231723) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    17251725CREATE TABLE diffSummary (
    17261726    diff_id     BIGINT,
    1727     tangent_plane VARCHAR(64) NOT NULL,
     1727    projection_cell VARCHAR(64) NOT NULL,
    17281728    path_base   VARCHAR(255) NOT NULL,
    17291729    PRIMARY KEY(diff_id),
    1730     KEY(tangent_plane),
     1730    KEY(projection_cell),
    17311731    FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id)
    17321732) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    17341734CREATE TABLE stackSummary (
    17351735    stack_id     BIGINT,
    1736     tangent_plane VARCHAR(64) NOT NULL,
     1736    projection_cell VARCHAR(64) NOT NULL,
    17371737    path_base   VARCHAR(255) NOT NULL,
    17381738    PRIMARY KEY(stack_id),
    1739     KEY(tangent_plane),
     1739    KEY(projection_cell),
    17401740    FOREIGN KEY(stack_id) REFERENCES stackRun(stack_id)
    17411741) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    17441744    sass_id      BIGINT AUTO_INCREMENT,
    17451745    data_group   VARCHAR(64) NOT NULL,
    1746     tangent_plane VARCHAR(64) NOT NULL,
     1746    projection_cell VARCHAR(64) NOT NULL,
    17471747    tess_id       VARCHAR(64) NOT NULL,
    17481748    filter        VARCHAR(64) NOT NULL,
    17491749    PRIMARY KEY(sass_id),
    17501750    KEY(data_group),
    1751     KEY(tangent_plane),
     1751    KEY(projection_cell),
    17521752    KEY(tess_id)
    17531753) ENGINE=innodb DEFAULT CHARSET=latin1;
  • branches/czw_branch/20100519/dbconfig/diff.md

    r28164 r28245  
    7777
    7878diffSummary METADATA
    79     diff_id        S64      0       # Primary Key fkey(diff_id) ref diffRun(diff_id)
    80     tangent_plane STR      32      # Primary Key
    81     path_base      STR      255
     79    diff_id         S64      0       # Primary Key fkey(diff_id) ref diffRun(diff_id)
     80    projection_cell STR     32      # Primary Key
     81    path_base       STR     255
    8282END
  • branches/czw_branch/20100519/dbconfig/stack.md

    r28164 r28245  
    5656stackSummary METADATA
    5757    stack_id       S64      0       # Primary Key fkey(stack_id) ref stackRun(stack_id)
    58     tangent_plane  STR      32      # Primary Key
     58    projection_cell  STR            32      # Primary Key
    5959    path_base      STR      255
    6060END
     
    6363    sass_id        S64      0       # Primary Key AUTO_INCREMENT
    6464    data_group     STR      64      # Key
    65     tangent_plane  STR      64      # Key
     65    projection_cell  STR      64      # Key
    6666    tess_id        STR      64      # Key
    6767    filter         STR      64
  • branches/czw_branch/20100519/dbconfig/warp.md

    r28164 r28245  
    8282warpSummary METADATA
    8383    warp_id        S64      0       # Primary Key fkey(warp_id) ref warpRun(warp_id)
    84     tangent_plane  STR      32      # Primary Key
     84    projection_cell  STR            32      # Primary Key
    8585    path_base      STR      255
    8686END
  • branches/czw_branch/20100519/ippScripts/scripts/skycell_jpeg.pl

    r28045 r28245  
    3232    'save_temps'      => \$save_temps,
    3333    'masks'           => \$masks,
    34     'no-op'           => \$no_op,
    35     'no-update'       => \$no_update,
     34#    'no-op'           => \$no_op,
     35#    'no-update'       => \$no_update,
    3636    ) or pod2usage ( 2 );
    3737
    3838pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2) if @ARGV;
    3939pod2usage(
    40     -msg => "Required options: --stage --stage_id --outroot",
     40    -msg => "Required options: --stage --stage_id --outroot\nHelpful options: --camera --dbname",
    4141    -exitval => 3,
    4242    ) unless
     
    8080        my $quality    = $imfile->{quality};
    8181        my $state      = $imfile->{data_state};
    82         my $tangent_base = $skycell_id;
     82        my $projection_cell = $skycell_id;
    8383        if ($quality == 8007 or $state ne 'full') {
    8484            next;
    8585        }
    8686
    87         $tangent_base =~ s/^(.*)\..*$/$1/;
    88        
    89         unless (exists($tangents{$tangent_base})) {
     87        $projection_cell =~ s/^(.*)\..*$/$1/;
     88       
     89        unless (exists($tangents{$projection_cell})) {
    9090            # Make a temp file and fill, but be sure to save
    91             ($tempFile, $tempName) = tempfile("/tmp/skycell.$tangent_base.XXXX",
     91            ($tempFile, $tempName) = tempfile("/tmp/skycell.$projection_cell.XXXX",
    9292                                                 UNLINK => !$save_temps);
    93             $tangents{$tangent_base}{FILE} = $tempFile;
    94             $tangents{$tangent_base}{NAME} = $tempName;
     93            $tangents{$projection_cell}{FILE} = $tempFile;
     94            $tangents{$projection_cell}{NAME} = $tempName;
    9595            if ($masks) {
    96                 my ($maskFile, $maskName) = tempfile("/tmp/skycell.$tangent_base.masks.XXXX",
     96                my ($maskFile, $maskName) = tempfile("/tmp/skycell.$projection_cell.masks.XXXX",
    9797                                                     UNLINK => !$save_temps);
    98                 $tangents{$tangent_base}{MFILE} = $maskFile;
    99                 $tangents{$tangent_base}{MNAME} = $maskName;
     98                $tangents{$projection_cell}{MFILE} = $maskFile;
     99                $tangents{$projection_cell}{MNAME} = $maskName;
    100100            }           
    101101        }
    102         print "$skycell_id $tangent_base\n";   
     102        print "$skycell_id $projection_cell\n";
    103103        my $file = $ipprc->filename("PSWARP.OUTPUT", $path_base, $skycell_id);
    104104        print "$file $state $quality\n";
    105         my $f_fh = $tangents{$tangent_base}{FILE};
     105        my $f_fh = $tangents{$projection_cell}{FILE};
    106106        print $f_fh "$file\n";
    107107        if ($masks) {
    108108            my $mask = $ipprc->filename("PSWARP.OUTPUT.MASK", $path_base, $skycell_id);
    109109            print "$mask\n";
    110             my $m_fh = $tangents{$tangent_base}{MFILE};
     110            my $m_fh = $tangents{$projection_cell}{MFILE};
    111111            print $m_fh "$mask\n";
    112112        }
    113113    }
    114     foreach my $tangent_base (keys %tangents) {
    115         $command = "$ppSkycell -images $tangents{$tangent_base}{NAME}";
    116         if ($masks) {
    117             $command .= " -masks $tangents{$tangent_base}{MNAME} ";
    118         }
    119         $command .= " ${outroot}.${tangent_base} ";
     114    foreach my $projection_cell (keys %tangents) {
     115        $command = "$ppSkycell -images $tangents{$projection_cell}{NAME}";
     116        if ($masks) {
     117            $command .= " -masks $tangents{$projection_cell}{MNAME} ";
     118        }
     119        $command .= " ${outroot}.${projection_cell} ";
    120120        print "$command\n";
    121121        ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = run(command => $command, verbose => $verbose);
     
    125125        }
    126126        # Update database:
    127         $command = "$warptool -addsummary -warp_id $stage_id -tangent_base $tangent_base -outroot $outroot";
     127        $command = "$warptool -addsummary -warp_id $stage_id -projection_cell $projection_cell -outroot $outroot";
    128128        if (defined($dbname)) {
    129129            $command .= " -dbname $dbname";
     
    164164        my $quality    = $imfile->{quality};
    165165        my $state      = $imfile->{data_state};
    166         my $tangent_base = $skycell_id;
     166        my $projection_cell = $skycell_id;
    167167        if ($quality == 8007 or $state ne 'full') {
    168168            next;
    169169        }
    170170
    171         $tangent_base =~ s/^(.*)\..*$/$1/;
    172        
    173         unless (exists($tangents{$tangent_base})) {
     171        $projection_cell =~ s/^(.*)\..*$/$1/;
     172       
     173        unless (exists($tangents{$projection_cell})) {
    174174            # Make a temp file and fill, but be sure to save
    175             ($tempFile, $tempName) = tempfile("/tmp/skycell.$tangent_base.XXXX",
     175            ($tempFile, $tempName) = tempfile("/tmp/skycell.$projection_cell.XXXX",
    176176                                                 UNLINK => !$save_temps);
    177             $tangents{$tangent_base}{FILE} = $tempFile;
    178             $tangents{$tangent_base}{NAME} = $tempName;
     177            $tangents{$projection_cell}{FILE} = $tempFile;
     178            $tangents{$projection_cell}{NAME} = $tempName;
    179179            if ($masks) {
    180                 my ($maskFile, $maskName) = tempfile("/tmp/skycell.$tangent_base.masks.XXXX",
     180                my ($maskFile, $maskName) = tempfile("/tmp/skycell.$projection_cell.masks.XXXX",
    181181                                                     UNLINK => !$save_temps);
    182                 $tangents{$tangent_base}{MFILE} = $maskFile;
    183                 $tangents{$tangent_base}{MNAME} = $maskName;
     182                $tangents{$projection_cell}{MFILE} = $maskFile;
     183                $tangents{$projection_cell}{MNAME} = $maskName;
    184184            }           
    185185        }
    186         print "$skycell_id $tangent_base\n";   
     186        print "$skycell_id $projection_cell\n";
    187187        my $file = $ipprc->filename("PPSUB.OUTPUT", $path_base, $skycell_id);
    188188        print "$file $state $quality\n";
    189         my $f_fh = $tangents{$tangent_base}{FILE};
     189        my $f_fh = $tangents{$projection_cell}{FILE};
    190190        print $f_fh "$file\n";
    191191        if ($masks) {
    192192            my $mask = $ipprc->filename("PPSUB.OUTPUT.MASK", $path_base, $skycell_id);
    193193            print "$mask\n";
    194             my $m_fh = $tangents{$tangent_base}{MFILE};
     194            my $m_fh = $tangents{$projection_cell}{MFILE};
    195195            print $m_fh "$mask\n";
    196196        }
    197197    }
    198     foreach my $tangent_base (keys %tangents) {
    199         $command = "$ppSkycell -images $tangents{$tangent_base}{NAME}";
    200         if ($masks) {
    201             $command .= " -masks $tangents{$tangent_base}{MNAME} ";
    202         }
    203         $command .= " ${outroot}.${tangent_base} ";
     198    foreach my $projection_cell (keys %tangents) {
     199        $command = "$ppSkycell -images $tangents{$projection_cell}{NAME}";
     200        if ($masks) {
     201            $command .= " -masks $tangents{$projection_cell}{MNAME} ";
     202        }
     203        $command .= " ${outroot}.${projection_cell} ";
    204204        print "$command\n";
    205205        ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = run(command => $command, verbose => $verbose);
     
    209209        }
    210210        # Update database:
    211         $command = "$difftool -addsummary -diff_id $stage_id -tangent_base $tangent_base -outroot $outroot";
     211        $command = "$difftool -addsummary -diff_id $stage_id -projection_cell $projection_cell -outroot $outroot";
    212212        if (defined($dbname)) {
    213213            $command .= " -dbname $dbname";
     
    248248        my $quality    = $imfile->{quality};
    249249        my $state      = $imfile->{data_state};
    250         my $tangent_base = $skycell_id;
     250        my $projection_cell = $skycell_id;
    251251        if ($quality == 8007 or $state ne 'full') {
    252252            next;
    253253        }
    254254
    255         $tangent_base =~ s/^(.*)\..*$/$1/;
    256        
    257         unless (exists($tangents{$tangent_base})) {
     255        $projection_cell =~ s/^(.*)\..*$/$1/;
     256       
     257        unless (exists($tangents{$projection_cell})) {
    258258            # Make a temp file and fill, but be sure to save
    259             ($tempFile, $tempName) = tempfile("/tmp/skycell.$tangent_base.XXXX",
     259            ($tempFile, $tempName) = tempfile("/tmp/skycell.$projection_cell.XXXX",
    260260                                                 UNLINK => !$save_temps);
    261             $tangents{$tangent_base}{FILE} = $tempFile;
    262             $tangents{$tangent_base}{NAME} = $tempName;
     261            $tangents{$projection_cell}{FILE} = $tempFile;
     262            $tangents{$projection_cell}{NAME} = $tempName;
    263263            if ($masks) {
    264                 my ($maskFile, $maskName) = tempfile("/tmp/skycell.$tangent_base.masks.XXXX",
     264                my ($maskFile, $maskName) = tempfile("/tmp/skycell.$projection_cell.masks.XXXX",
    265265                                                     UNLINK => !$save_temps);
    266                 $tangents{$tangent_base}{MFILE} = $maskFile;
    267                 $tangents{$tangent_base}{MNAME} = $maskName;
     266                $tangents{$projection_cell}{MFILE} = $maskFile;
     267                $tangents{$projection_cell}{MNAME} = $maskName;
    268268            }           
    269269        }
    270         print "$skycell_id $tangent_base\n";   
     270        print "$skycell_id $projection_cell\n";
    271271        my $file = $ipprc->filename("PPSTACK.OUTPUT", $path_base, $skycell_id);
    272272        print "$file $state $quality\n";
    273         my $f_fh = $tangents{$tangent_base}{FILE};
     273        my $f_fh = $tangents{$projection_cell}{FILE};
    274274        print $f_fh "$file\n";
    275275        if ($masks) {
    276276            my $mask = $ipprc->filename("PPSTACK.OUTPUT.MASK", $path_base, $skycell_id);
    277277            print "$mask\n";
    278             my $m_fh = $tangents{$tangent_base}{MFILE};
     278            my $m_fh = $tangents{$projection_cell}{MFILE};
    279279            print $m_fh "$mask\n";
    280280        }
    281281    }
    282     foreach my $tangent_base (keys %tangents) {
    283         $command = "$ppSkycell -images $tangents{$tangent_base}{NAME}";
    284         if ($masks) {
    285             $command .= " -masks $tangents{$tangent_base}{MNAME} ";
    286         }
    287         $command .= " ${outroot}.${tangent_base} ";
     282    foreach my $projection_cell (keys %tangents) {
     283        $command = "$ppSkycell -images $tangents{$projection_cell}{NAME}";
     284        if ($masks) {
     285            $command .= " -masks $tangents{$projection_cell}{MNAME} ";
     286        }
     287        $command .= " ${outroot}.${projection_cell} ";
    288288        print "$command\n";
    289289        ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = run(command => $command, verbose => $verbose);
     
    293293        }
    294294        # Update database:
    295         $command = "$stacktool -addsummary -stack_id $stage_id -tangent_base $tangent_base -outroot $outroot";
     295        $command = "$stacktool -addsummary -stack_id $stage_id -projection_cell $projection_cell -outroot $outroot";
    296296        if (defined($dbname)) {
    297297            $command .= " -dbname $dbname";
  • branches/czw_branch/20100519/ippTools/share/Makefile.am

    r28164 r28245  
    121121     difftool_skyfile.sql \
    122122     difftool_todiffskyfile.sql \
     123     difftool_tosummary.sql \
     124     difftool_addsummary.sql \
    123125     disttool_definebyquery_camera.sql \
    124126     disttool_definebyquery_chip.sql \
     
    289291     stacktool_sumskyfile.sql \
    290292     stacktool_tosum.sql \
     293     stacktool_tosummary.sql \
     294     stacktool_addsummary.sql \
    291295     staticskytool_definebyquery_select.sql \
    292296     staticskytool_definebyquery_inputs.sql \
     
    319323     warptool_towarped.sql \
    320324     warptool_updateskyfile.sql \
    321      warptool_warped.sql
     325     warptool_warped.sql \
     326     warptool_tosummary.sql \
     327     warptool_addsummary.sql
  • branches/czw_branch/20100519/ippTools/share/pxadmin_create_tables.sql

    r28164 r28245  
    983983CREATE TABLE warpSummary (
    984984       warp_id BIGINT,
    985        tangent_plane VARCHAR(64) NOT NULL,
     985       projection_cell VARCHAR(64) NOT NULL,
    986986       path_base     VARCHAR(255) NOT NULL,
    987987       PRIMARY KEY(warp_id),
    988        KEY(tangent_plane),
     988       KEY(projection_cell),
    989989       FOREIGN KEY(warp_id) REFERENCES warpRun(warp_id)
    990990) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    10621062CREATE TABLE stackSummary (
    10631063    stack_id     BIGINT,
    1064     tangent_plane VARCHAR(64) NOT NULL,
     1064    projection_cell VARCHAR(64) NOT NULL,
    10651065    path_base   VARCHAR(255) NOT NULL,
    10661066    PRIMARY KEY(stack_id),
    1067     KEY(tangent_plane),
     1067    KEY(projection_cell),
    10681068    FOREIGN KEY(stack_id) REFERENCES stackRun(stack_id)
    10691069) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    10721072    sass_id      BIGINT AUTO_INCREMENT,
    10731073    data_group   VARCHAR(64) NOT NULL,
    1074     tangent_plane VARCHAR(64) NOT NULL,
     1074    projection_cell VARCHAR(64) NOT NULL,
    10751075    tess_id       VARCHAR(64) NOT NULL,
    10761076    filter        VARCHAR(64) NOT NULL,
    10771077    PRIMARY KEY(sass_id),
    10781078    KEY(data_group),
    1079     KEY(tangent_plane),
     1079    KEY(projection_cell),
    10801080    KEY(tess_id)
    10811081) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    11871187CREATE TABLE diffSummary (
    11881188    diff_id     BIGINT,
    1189     tangent_plane VARCHAR(64) NOT NULL,
     1189    projection_cell VARCHAR(64) NOT NULL,
    11901190    path_base   VARCHAR(255) NOT NULL,
    11911191    PRIMARY KEY(diff_id),
    1192     KEY(tangent_plane),
     1192    KEY(projection_cell),
    11931193    FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id)
    11941194) ENGINE=innodb DEFAULT CHARSET=latin1;
  • branches/czw_branch/20100519/ippTools/src/difftool.c

    r28164 r28245  
    23562356
    23572357  PXOPT_LOOKUP_S64(diff_id, config->args, "-diff_id", true, false);
    2358   PXOPT_LOOKUP_STR(tangent_plane, config->args, "-tangent_plane", true, false);
     2358  PXOPT_LOOKUP_STR(projection_cell, config->args, "-projection_cell", true, false);
    23592359  PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", true, false);
    23602360
     
    23642364    return(false);
    23652365  }
    2366   if (!p_psDBRunQueryF(config->dbh, query, diff_id, tangent_plane, path_base)) {
     2366  if (!p_psDBRunQueryF(config->dbh, query, diff_id, projection_cell, path_base)) {
    23672367    psError(PS_ERR_UNKNOWN, false, "database error");
    23682368    psFree(query);
  • branches/czw_branch/20100519/ippTools/src/difftoolConfig.c

    r28164 r28245  
    327327    psMetadataAddS64(tosummaryArgs, PS_LIST_TAIL,  "-diff_id", 0,           "search by diff ID", 0);
    328328    psMetadataAddStr(tosummaryArgs, PS_LIST_TAIL,  "-tess_id",  0,          "search by tessellation ID", NULL);
    329     psMetadataAddStr(tosummaryArgs , PS_LIST_TAIL, "-warp_id",  0,         "search by warp_id", NULL);
    330     psMetadataAddBool(tosummaryArgs, PS_LIST_TAIL, "-template",  0,        "apply exposure args to template of bothways diff", false);
     329    psMetadataAddStr(tosummaryArgs, PS_LIST_TAIL, "-state",  0,            "search by state", NULL);
    331330    psMetadataAddS64(tosummaryArgs, PS_LIST_TAIL,  "-exp_id",  0,           "search by exposure ID", 0);
    332331    psMetadataAddStr(tosummaryArgs , PS_LIST_TAIL, "-exp_name",  0,        "search by exposure name", NULL);
     332    psMetadataAddS64(tosummaryArgs, PS_LIST_TAIL, "-warp_id", 0,         "search by warp ID", 0);
     333   
    333334    psMetadataAddTime(tosummaryArgs, PS_LIST_TAIL, "-dateobs_begin", 0,    "search for exposures by time (>=)", NULL);
    334335    psMetadataAddTime(tosummaryArgs, PS_LIST_TAIL, "-dateobs_end", 0,      "search for exposures by time (<=)", NULL);
    335336    psMetadataAddStr(tosummaryArgs, PS_LIST_TAIL,  "-filter", 0,           "search for filter", NULL);
     337    psMetadataAddS64(tosummaryArgs, PS_LIST_TAIL,  "-magicked", 0,         "search by magic id", 0);
    336338    psMetadataAddStr(tosummaryArgs,  PS_LIST_TAIL, "-label",  PS_META_DUPLICATE_OK, "search by diffRun label (LIKE comparison)", NULL);
    337339    psMetadataAddStr(tosummaryArgs,  PS_LIST_TAIL, "-data_group",  PS_META_DUPLICATE_OK, "search by diffRun data_group (LIKE comparison)", NULL);
    338340    psMetadataAddStr(tosummaryArgs,  PS_LIST_TAIL, "-dist_group",  PS_META_DUPLICATE_OK, "search by diffRun dist_group (LIKE comparison)", NULL);
    339 
     341    psMetadataAddBool(tosummaryArgs, PS_LIST_TAIL,  "-destreaked", 0, "search for runs that have been destreaked", false);
     342    psMetadataAddBool(tosummaryArgs, PS_LIST_TAIL,  "-not_destreaked", 0, "search for runs that have not been destreaked", false);
     343   
    340344    psMetadataAddBool(tosummaryArgs, PS_LIST_TAIL, "-all",  0,             "search without arguments", false);
    341345    psMetadataAddU64(tosummaryArgs, PS_LIST_TAIL,  "-limit",  0,            "limit result set to N items", 0);
     
    345349    psMetadata *addsummaryArgs = psMetadataAlloc();
    346350    psMetadataAddS64(addsummaryArgs, PS_LIST_TAIL,  "-diff_id", 0,           "search by diff ID", 0);
    347     psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-tangent_plane", 0, "set tangent plane", NULL);
     351    psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-projection_cell", 0, "set projection cell", NULL);
    348352    psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-path_base", 0, "set summary path base", NULL);
    349353
  • branches/czw_branch/20100519/ippTools/src/stacktool.c

    r28164 r28245  
    106106    exit(exit_status);
    107107}
     108//stackAssociationRow *association = pxStackAssociationDefine(data_group,tess_id,filter,skycell_id);
     109stackAssociationRow *pxStackAssociationDefine(pxConfig *config, psS64 stack_id) {
     110  psString select = pxDataGet("stacktool_associationdefine_select.sql");
     111  if (!select) {
     112    psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     113    return false;
     114  }
     115
     116  psString idString = NULL;
     117  psStringAppend(&idString, "%" PRId64, stack_id);
     118  psStringSubstitute(&select,idString, "@STACK_ID@");
     119  psFree(idString);
     120
     121  if (!p_psDBRunQuery(config->dbh, select)) {
     122    psError(PS_ERR_UNKNOWN,false, "database error");
     123    psFree(select);
     124    return(NULL);
     125  }
     126  psFree(select);
     127  psArray *output = p_psDBFetchResult(config->dbh);
     128  if (!output) {
     129    psErrorCode err = psErrorCodeLast();
     130    switch (err) {
     131    case PS_ERR_DB_CLIENT:
     132      psError(PXTOOLS_ERR_SYS, false, "database error");
     133    case PS_ERR_DB_SERVER:
     134      psError(PXTOOLS_ERR_PROG, false, "database error");
     135    default:
     136      psError(PXTOOLS_ERR_PROG, false, "unknown error");
     137    }
     138    return(NULL);
     139  }
     140  if (psArrayLength(output) != 1) {
     141    psWarning("stacktool: incorrect number of rows found");
     142    psFree(output);
     143    return(NULL);
     144  }
     145  psMetadata *outrow = NULL;
     146  for (long i = 0; i < output->n; i++) {
     147    psMetadata *row = output->data[i];
     148    if (!psMetadataCopy(row,outrow)) {
     149      psError(PS_ERR_UNKNOWN, false, "Failed to copy row to return");
     150      return(NULL);
     151    }
     152  }
     153  psFree(output);
     154  stackAssociationRow *sassRow = stackAssociationObjectFromMetadata(outrow);
     155  psFree(outrow);
     156  return(sassRow);
     157}
     158     
     159     
     160 
     161                                             
    108162
    109163
     
    399453        psFree(run);
    400454
     455        //CZW Add an association entry here.
     456        // Define the requested association, and insert it if it doesn't already exist
     457        stackAssociationRow *association = pxStackAssociationDefine(config,stack_id);
     458        psS64 sass_id;
     459        if (!association->sass_id) {
     460          psTrace("stacktool.association",2,"No required Association found. Adding.");
     461
     462          if (!stackAssociationInsertObject(config->dbh,association)) {
     463            if (!psDBRollback(config->dbh)) {
     464              psError(PS_ERR_UNKNOWN, false, "database error");
     465            }
     466            psError(PS_ERR_UNKNOWN, false, "database error");
     467            psFree(output);
     468            psFree(run);
     469            psFree(insert);
     470            psFree(list);
     471            psFree(association);
     472            if (!psDBRollback(config->dbh)) {
     473              psError(PS_ERR_UNKNOWN, false, "database error");
     474            }
     475            return(false);
     476          }
     477          sass_id = psDBLastInsertID(config->dbh);
     478          association->sass_id = sass_id;
     479        }
     480        // Insert the map entry for this row.
     481        stackAssociationMapRow *maprow = stackAssociationMapRowAlloc(sass_id,stack_id);
     482        if (!stackAssociationMapInsertObject(config->dbh,maprow)) {
     483          if (!psDBRollback(config->dbh)) {
     484            psError(PS_ERR_UNKNOWN, false, "database error");
     485          }
     486          psError(PS_ERR_UNKNOWN, false, "database error");
     487          psFree(output);
     488          psFree(run);
     489          psFree(insert);
     490          psFree(list);
     491          psFree(association);
     492          if (!psDBRollback(config->dbh)) {
     493            psError(PS_ERR_UNKNOWN, false, "database error");
     494          }
     495          return(false);
     496        }
     497       
     498       
    401499        // Create a suitable insertion query for this run
    402500        psString thisInsert = psStringCopy(insert);
     
    556654    run->stack_id = psDBLastInsertID(config->dbh);
    557655
     656    //CZW Add an association entry here.
     657   
    558658    // insert the stackInputSkyfile rows
    559659    psListIterator *iter = psListIteratorAlloc(warp_ids->data.list, 0, false);
     
    607707#endif
    608708    psMetadata *where = psMetadataAlloc();
    609     PXOPT_COPY_S64(config->args, where, "-stack_id",  "stack_id",   "==");
    610     PXOPT_COPY_STR(config->args, where, "-label",     "label",     "==");
    611     PXOPT_COPY_STR(config->args, where, "-state",     "state",     "==");
     709    PXOPT_COPY_S64(config->args, where, "-stack_id",  "stackRun.stack_id",   "==");
     710    PXOPT_COPY_STR(config->args, where, "-label",     "stackRun.label",     "==");
     711    PXOPT_COPY_STR(config->args, where, "-state",     "stackRun.state",     "==");
     712    PXOPT_COPY_STR(config->args, where, "-sass_id",   "stackAssociationMap.sass_id",  "==");
    612713    if (!psListLength(where->list)) {
    613714        psFree(where);
     
    616717    }
    617718
     719    //CZW join against stackAssociationMap
    618720    psString query = psStringCopy("UPDATE stackRun");
    619721
     
    9611063    psMetadata *where = psMetadataAlloc();
    9621064    PXOPT_COPY_S64(config->args, where, "-stack_id", "stackSumSkyfile.stack_id", "==");
     1065    PXOPT_COPY_S64(config->args, where, "-sass_id", "stackAssociationMap.sass_id", "==");
    9631066    PXOPT_COPY_STR(config->args, where, "-tess_id", "stackRun.tess_id", "==");
    9641067    PXOPT_COPY_STR(config->args, where, "-skycell_id", "stackRun.skycell_id", "==");
     
    11341237  psMetadata *where = psMetadataAlloc();
    11351238  PXOPT_COPY_S64(config->args, where, "-stack_id",    "stackSumSkyfile.warp_id", "==");
     1239  PXOPT_COPY_S64(config->args, where, "-sass_id",     "stackAssociationMap.sass_id", "==");
    11361240  PXOPT_COPY_STR(config->args, where, "-tess_id",    "stackSumSkyfile.tess_id", "==");
    11371241  PXOPT_COPY_STR(config->args, where, "-state",      "stackRun.state", "==");
     
    12151319
    12161320  PXOPT_LOOKUP_S64(stack_id, config->args, "-stack_id", true, false);
    1217   PXOPT_LOOKUP_STR(tangent_plane, config->args, "-tangent_plane", true, false);
     1321  PXOPT_LOOKUP_STR(projection_cell, config->args, "-projection_cell", true, false);
    12181322  PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", true, false);
    12191323
     
    12231327    return(false);
    12241328  }
    1225   if (!p_psDBRunQueryF(config->dbh, query, stack_id, tangent_plane, path_base)) {
     1329  if (!p_psDBRunQueryF(config->dbh, query, stack_id, projection_cell, path_base)) {
    12261330    psError(PS_ERR_UNKNOWN, false, "database error");
    12271331    psFree(query);
     
    12511355
    12521356    psMetadata *where = psMetadataAlloc();
     1357    PXOPT_COPY_S64(config->args, where, "-stack_id", "stackRun.stack_id", "==");
     1358    PXOPT_COPY_S64(config->args, where, "-sass_id", "stackAssociationMap.sass_id", "==");
     1359   
    12531360    pxAddLabelSearchArgs (config, where, "-label", "stackRun.label", "==");
    12541361
     
    13771484    psMetadata *where = psMetadataAlloc();
    13781485    PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     1486    PXOPT_COPY_STR(config->args, where, "-sass_id", "sass_id", "==");
    13791487
    13801488    psString query = pxDataGet("stacktool_donecleanup.sql");
     
    14461554}
    14471555
     1556//CZW I have not added sass information to the export/import run modes yet.
    14481557bool exportrunMode(pxConfig *config)
    14491558{
  • branches/czw_branch/20100519/ippTools/src/stacktoolConfig.c

    r28164 r28245  
    207207    psMetadata *tosummaryArgs = psMetadataAlloc();
    208208    psMetadataAddS64(tosummaryArgs, PS_LIST_TAIL, "-stack_id", 0,  "search by stack ID", 0);
     209    psMetadataAddS64(tosummaryArgs, PS_LIST_TAIL, "-sass_id", 0,  "search by stack association ID", 0);
    209210    psMetadataAddStr(tosummaryArgs, PS_LIST_TAIL, "-tess_id", 0,   "search by tessellation ID", NULL);
    210211    psMetadataAddStr(tosummaryArgs, PS_LIST_TAIL, "-state", 0,     "search by state", NULL);
     
    221222    psMetadata *addsummaryArgs = psMetadataAlloc();
    222223    psMetadataAddS64(addsummaryArgs, PS_LIST_TAIL, "-stack_id", 0,      "set stack ID", 0);
    223     psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-tangent_plane", 0, "set tangent plane", NULL);
     224    psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-projection_cell", 0, "set projection cell", NULL);
    224225    psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-path_base", 0,     "set summary path base", NULL);             
    225226   
  • branches/czw_branch/20100519/ippTools/src/warptool.c

    r28164 r28245  
    16531653
    16541654  PXOPT_LOOKUP_S64(warp_id, config->args, "-warp_id", true, false);
    1655   PXOPT_LOOKUP_STR(tangent_plane, config->args, "-tangent_plane", true, false);
     1655  PXOPT_LOOKUP_STR(projection_cell, config->args, "-projection_cell", true, false);
    16561656  PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", true, false);
    16571657
     
    16611661    return(false);
    16621662  }
    1663   if (!p_psDBRunQueryF(config->dbh, query, warp_id, tangent_plane, path_base)) {
     1663  if (!p_psDBRunQueryF(config->dbh, query, warp_id, projection_cell, path_base)) {
    16641664    psError(PS_ERR_UNKNOWN, false, "database error");
    16651665    psFree(query);
  • branches/czw_branch/20100519/ippTools/src/warptoolConfig.c

    r28164 r28245  
    336336    psMetadataAddStr(tosummaryArgs, PS_LIST_TAIL,  "-data_group",  PS_META_DUPLICATE_OK, "search by warpRun data_group", NULL);
    337337    psMetadataAddStr(tosummaryArgs, PS_LIST_TAIL,  "-dist_group",  PS_META_DUPLICATE_OK, "search by warpRun dist_group", NULL);
    338     psMetadataAddBool(updaterunArgs, PS_LIST_TAIL, "-destreaked", 0, "search for runs that have been destreaked", false);
    339     psMetadataAddBool(updaterunArgs, PS_LIST_TAIL, "-not_destreaked", 0, "search for runs that have not been destreaked", false);
     338    psMetadataAddBool(tosummaryArgs, PS_LIST_TAIL, "-destreaked", 0, "search for runs that have been destreaked", false);
     339    psMetadataAddBool(tosummaryArgs, PS_LIST_TAIL, "-not_destreaked", 0, "search for runs that have not been destreaked", false);
    340340   
    341341    psMetadataAddBool(tosummaryArgs, PS_LIST_TAIL, "-all",  0,             "search without arguments", false);
     
    346346    psMetadata *addsummaryArgs = psMetadataAlloc();
    347347    psMetadataAddS64(addsummaryArgs, PS_LIST_TAIL, "-warp_id", 0,         "set warp ID", 0);
    348     psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-tangent_plane", 0,   "set tangent plane", NULL);
     348    psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-projection_cell", 0,   "set projection cell", NULL);
    349349    psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-path_base", 0,       "set summary path base", NULL);
    350350   
  • branches/czw_branch/20100519/ppSkycell/src/ppSkycellLoop.c

    r28164 r28245  
    315315          pmCell *Fcell1 = pmFPAfileThisCell(data->config->files, view, "PPSKYCELL.BIN1"); // Rebinned cell 1
    316316          pmCell *Fcell2 = pmFPAfileThisCell(data->config->files, view, "PPSKYCELL.BIN2"); // Rebinned cell 2
     317
    317318          // This is a hack to get a functioning header created so the fits images can be written out.
    318319          psMetadataAddS32(Fcell1->concepts,PS_LIST_TAIL,"CELL.XPARITY", PS_META_REPLACE,"",1);
     
    327328          psMetadataAddS32(Fcell2->parent->concepts,PS_LIST_TAIL,"CHIP.XPARITY", PS_META_REPLACE,"",1);
    328329          psMetadataAddS32(Fcell2->parent->concepts,PS_LIST_TAIL,"CHIP.YPARITY", PS_META_REPLACE,"",1);
    329          
     330
    330331          pmReadout *Fro1 = pmReadoutAlloc(Fcell1), *Fro2 = pmReadoutAlloc(Fcell2); // Binned readouts
    331332         
Note: See TracChangeset for help on using the changeset viewer.