arsperl-devel Mailing List for ARSperl
Brought to you by:
jeffmurphy
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(48) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(3) |
Sep
(10) |
Oct
|
Nov
(4) |
Dec
(2) |
2007 |
Jan
|
Feb
(5) |
Mar
(8) |
Apr
(2) |
May
|
Jun
|
Jul
(18) |
Aug
(22) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(5) |
Dec
|
2009 |
Jan
(1) |
Feb
|
Mar
(14) |
Apr
(26) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Sujatha S. <SS0...@Te...> - 2014-10-21 06:16:30
|
Hi, Iam trying to Install ARSPerl 1.93 version on my ARS 7.6.04. When I run make test ,its giving me the following error rm -f blib/arch/auto/ARS/ARS.so gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic ARS.o support.o supportrev.o supportrev_generated.o -o blib/arch/auto/ARS/ARS.so /opt/app/q1rba1z1/etc/Remedy71/api/lib/libar_lx64.a \ -L/opt/app/q1rba1z1/etc/Remedy71/api/lib -lnsl -lpthread -licuucbmc_lx64 -licui18nbmc_lx64 -licudatabmc_lx64 \ /usr/bin/ld: cannot find -licuucbmc_lx64 collect2: ld returned 1 exit status make: *** [blib/arch/auto/ARS/ARS.so] Error 1 I copied all the library files from /bin to api/lib. Am I missing anyother file? Thanks Sujatha ============================================================================================================================ Disclaimer: This message and the information contained herein is proprietary and confidential and subject to the Tech Mahindra policy statement, you may review the policy at http://www.techmahindra.com/Disclaimer.html externally http://tim.techmahindra.com/tim/disclaimer.html internally within TechMahindra. ============================================================================================================================ |
From: jeff m. <jef...@us...> - 2012-03-15 16:13:32
|
Update of /cvsroot/arsperl/ARSperl In directory vz-cvs-4.sog:/tmp/cvs-serv25693 Modified Files: supportrev.c supportrev.h Log Message: win32 strdup patch courtesy Glyn Davies glynd1972 hotmail dot com Index: supportrev.c =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev.c,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** supportrev.c 2 Apr 2009 18:57:03 -0000 1.34 --- supportrev.c 15 Mar 2012 16:13:29 -0000 1.35 *************** *** 2675,2678 **** --- 2675,2681 ---- } + #endif + + #if defined(_WIN32) char* arsperl_strdup( char *s1 ){ Index: supportrev.h =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev.h,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** supportrev.h 2 Apr 2009 18:57:04 -0000 1.19 --- supportrev.h 15 Mar 2012 16:13:29 -0000 1.20 *************** *** 112,115 **** --- 112,119 ---- EXTERN int strncasecmp(char *s1, char *s2, size_t n); + #endif /* def _WIN32 */ + + #if defined(_WIN32) + EXTERN char* arsperl_strdup( char *s1 ); |
From: jeff m. <jef...@us...> - 2011-09-22 13:29:09
|
Update of /cvsroot/arsperl/ARSperl/html In directory vz-cvs-4.sog:/tmp/cvs-serv1615/html Modified Files: changes.html Log Message: makefile Index: changes.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/changes.html,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** changes.html 6 Jan 2009 19:21:46 -0000 1.33 --- changes.html 22 Sep 2011 13:29:06 -0000 1.34 *************** *** 1,1474 **** ! <html><head><title> ARSperl: Revision History </title></head> ! ! <body bgcolor='white' text='black'><h2>Changes for ARSperl</h2> ! <table border='0'> ! <tr><td>BM</td><td>=</td><td>Bill Middleton {wjm at metronet.com}</td></tr> ! <tr><td>GDF</td><td>=</td><td>G. David Frye {gdf at uiuc.edu}</td></tr> ! <tr><td>JCM</td><td>=</td><td>Jeff Murphy {jeffmurphy at sourceforge.net}</td></tr> ! <tr><td>JWM</td><td>=</td><td>Joel Murphy {jmurphy at buffalo.edu}</td></tr> ! <tr><td>TS</td><td>=</td><td>Thilo Stapff {tstapff at sourceforge.net}</td></tr> ! <tr><td>CL</td><td>=</td><td>Chris Leach {Chris.Leach at kaz-group.com}</td></tr> [...2171 lines suppressed...] ! <tr bgcolor='#eeeeee'><td width='10%'>(JWM)</td><td width='90%'><font color='black'>Field caching code added to make some of the functions ! more efficient. </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>New functions: ars_GetFilter(), ars_GetCharMenu(), ! ars_GetServerStatistics </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(JWM)</td><td width='90%'><font color='black'>Internal GetField call now caches results to minimize ! number of queries made. </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>Examples of new functions. ! </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>"WhoUsesIt.pl" utility ! </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(released=01/12/96)</td><td width='90%'><font color='black'>version=1.0beta ! </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(JWM)</td><td width='90%'><font color='black'>First release ! </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>Installation, history, and Gnu documentation added. ! Removed -lars from makefile (internal C library that wasn't released), not needed for arsperl. </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>Added example scripts and html documentation. ! ! <P> ! <PRE>$Header$</PRE></body></html> |
From: Thilo S. <ts...@us...> - 2011-07-29 13:05:30
|
Update of /cvsroot/arsperl/ARSperl/infra In directory vz-cvs-4.sog:/tmp/cvs-serv16358/infra Modified Files: exsi.pl Log Message: arsystem 7.6.4 port Index: exsi.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/infra/exsi.pl,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** exsi.pl 1 Sep 2010 17:18:29 -0000 1.7 --- exsi.pl 29 Jul 2011 13:05:28 -0000 1.8 *************** *** 16,21 **** # # $Log$ ! # Revision 1.7 2010/09/01 17:18:29 tstapff ! # arsystem 7.6.3 port # # Revision 1.6 2009/12/14 17:30:56 jeffmurphy --- 16,21 ---- # # $Log$ ! # Revision 1.8 2011/07/29 13:05:28 tstapff ! # arsystem 7.6.4 port # # Revision 1.6 2009/12/14 17:30:56 jeffmurphy *************** *** 46,49 **** --- 46,50 ---- my $ct = 0; # counter for completeness check + my $apiVersion; while(<>) { *************** *** 51,54 **** --- 52,57 ---- chomp; + $apiVersion = $1 if /#define\s+AR_CURRENT_API_VERSION\s+(\d+)/; + # jump thru hoops *************** *** 56,72 **** # name value type type2 ! if(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*\/\*\s*(\S+)\s+(\S+)?/) { ! ($sin, $siv, $sit, $sit2) = ($1, $2, $3, $4); ! }elsif(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*$/){ ! ($sin, $siv) = ($1, $2); ! $_ = <>; ! if( /^\s*\/\*\s+(\S+)\s+(\S+)?/) { ! ($sit, $sit2) = ($1, $2); } } ! if( $sin && $siv && $sit ){ print "sin $sin siv $siv sit $sit\n" if $D; ! ++$ct; if ($siv != $ct) { if( $siv <= 324 ){ --- 59,90 ---- # name value type type2 ! while( 1 ){ ! if(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*\/\*\s*(\w+)[-;(\s]+(\S+)?/) { ! ($sin, $siv, $sit, $sit2) = ($1, $2, $3, $4); ! # print STDERR "\$sin <", $sin, "> \$siv <", $siv, "> \$sit <", $sit, "> \$sit2 <", $sit2, ">\n"; # _DEBUG_ ! }elsif(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*$/){ ! ($sin, $siv) = ($1, $2); ! $_ = <>; ! if( /^\s*\/\*\s+(\S+)\s+(\S+)?/) { ! ($sit, $sit2) = ($1, $2); ! }else{ ! next; ! } } + last; } ! if( defined $sin && defined $siv && defined $sit ){ print "sin $sin siv $siv sit $sit\n" if $D; ! if( $apiVersion == 14 && $ct == 324 ){ ! $ct += 9; ! }elsif( $apiVersion >= 17 && $ct == 326 ){ ! $ct += 4; ! }elsif( $apiVersion >= 17 && $ct == 339 ){ ! $ct += 2; ! }else{ ! ++$ct; ! } ! # print STDERR "($ct) sin $sin siv $siv sit $sit\n"; if ($siv != $ct) { if( $siv <= 324 ){ *************** *** 123,126 **** --- 141,146 ---- $sit = "int" if $sin eq "AR_SERVER_INFO_MFS_KEYWORDS_FIELD_WEIGHT"; # 329 + $sit = "int" if $sin eq "AR_SERVER_INFO_OVERLAY_MODE"; # 341 + #print "\t/*$sin [$siv] is an $sit*/\n"; |
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15696/html/manual Modified Files: ars_MergeEntry.html toc.html Added Files: ars_CreateImage.html ars_DeleteImage.html ars_GetImage.html ars_GetListImage.html ars_SetImage.html Log Message: arsystem 7.6.3 port --- NEW FILE: ars_SetImage.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_SetImage</TITLE> </HEAD> <BODY BGCOLOR="#FF0000"> <H1>TO DO</H1> </BODY> </HTML> --- NEW FILE: ars_GetImage.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_GetImage</TITLE> </HEAD> <BODY BGCOLOR="#FF0000"> <H1>TO DO</H1> </BODY> </HTML> Index: ars_MergeEntry.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_MergeEntry.html,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ars_MergeEntry.html 30 Mar 2003 03:18:03 -0000 1.7 --- ars_MergeEntry.html 1 Sep 2010 17:18:29 -0000 1.8 *************** *** 1,148 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual - ars_MergeEntry</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> ! ! <H2><CODE>ars_MergeEntry(ctrl, schema, mergeType, ...)</CODE></H2> ! ! Merge an entry into the schema. This routine allows you to ! arbitrarily alter fields (diary, entry-id, etc) that would ! otherwise be difficult or impossible to alter. All it requires ! is permissions to write to the particular field that you wish ! to alter. The ellipses represent alternating fieldId/fieldValue ! pairs. ! ! ! <P> ! There are three conditions to detect after ars_MergeEntry(...). ! ! <ol> ! <li> A non-null value returned means that a new entry was created. ! ! <li> A null value returned, plus $ars_errstr empty, means that an existing ! entry was replaced. ! ! <li> A null value returned, plus $ars_errstr non-empty, means there was some ! error. ! </oL> ! ! Here's some sample code that demonstrates how to evaluate the outcome of ! this function: ! <PRE> ! foreach $RPTID (sort keys %RPTEntryList) { ! undef @Report; ! ( @Report = ars_GetEntry($ctrl1, $ISS_RPT_SCHEMA, $RPTID) ) ! || arsdie("GetEntry $RPTID"); ! if ( $ret = ars_MergeEntry($ctrl2, $ISS_RPT_SCHEMA, ! 3075, @Report) ) { ! print "$RPTID -> new $ret\n"; ! } else { ! arsdie("MergeEntry $RPTID $ret") if $ars_errstr; ! print "$RPTID replaced\n"; ! } ! } ! </PRE> ! ! Note the value "3075" for mergeType. That translates to<P> ! <PRE> ! 2048: skip field pattern checking ! 1024: allow NULL in required fields ! + 3: delete existing entry and create new in its place ! ------- ! 3075 ! </PRE> ! <P> ! ! <DL> ! <DT><B>On success</B><DD> ! If a NEW entry was created: returns the entry-id of the merged entry.<BR> ! If an EXISTING entry was over-written: returns "" and <code>$ars_errstr</code> will be "" (or, more correctly, <code>%ARS::ars_errhash</code> will not contain any FATAL or ERROR messages - but might contains WARNINGs or NOTICEs). <BR> ! Note that this is how the C API behaves - this isn't something ! that is unique to ARSperl. <BR> ! <a href="#example">See examples below.</a> ! <DT><B>On failure</B><DD> ! Returns "" (an empty string) and sets <code>$ars_errstr</code> ! </DL> ! ! <P><a name="example">Example:</a><P> ! ! <PRE> ! # note that "4" means "overwrite existing" ! $a = ars_MergeEntry($ctrl, "HD:HelpDesk", 4, ! 1 , "00000000012345", ! 2 , "FOOBAR"); ! if(($a eq "") && ($ars_errstr eq "")) { ! print "entry successfully over-written\n"; ! } ! else { ! print "failed to merge - $ars_errstr\n"; ! } ! </PRE> ! ! <hr width="10%"> ! ! <PRE> ! ! # note that "2" means "create a new entry" ! $a = ars_MergeEntry($ctrl, "HD:HelpDesk", 2, ! 2 , "FOOBAR"); ! if(($a ne "") && ($ars_errstr eq "")) { ! print "entry successfully created - $a\n"; ! } ! else { ! print "failed to merge - $ars_errstr\n"; ! } ! </PRE> ! ! <P>Notes<P> ! <B>Note</B>: If you try to merge a diary field (to alter existing ! diary entries) you need to pass the <I>encoded</I> diary to this ! routine. See <A HREF="ars_EncodeDiary.html">ars_EncodeDiary</A>. ! <P> ! <code>mergeType</code> defines how the merge will happen if special ! field (ie. Entry-Id) already exists: ! <P> ! <TABLE BORDER=1> ! <TR> ! <TH>Code</TH><TH>Meaning</TH> ! </TR> ! <TR> ! <TD>1</TD><TD>Generate an error</TD> ! </TR> ! <TR> ! <TD>2</TD><TD>Create a new entry with the new entry id</TD> ! </TR> ! <TR> ! <TD>3</TD><TD>Delete the existing entry and create a new on in its place</TD> ! </TR> ! <TR> ! <TD>4</TD><TD>Update fields specified in the fieldlist in existing entry</TD> ! </TR> ! <TR> ! <TD>1024+num above</TD><TD>Allow NULL in required fields (not applicable for Submitter, ! Status or Short-Description)</TD> ! </TR> ! <TR> ! <TD>2048+num above</TD><TD>Skip field pattern checking</TD> ! </TR> ! </TABLE> ! <P> ! Refer to the Remedy Programmers Manual for further details. ! <P> ! <a href="OO/form.html#merge">The Object Oriented ARSperl layer ! tries to be a little easier to use.</a> ! <P> ! <I>ars_MergeEntry was introduced in version 1.46 of ARSperl</I> ! ! <P> ! <HR WIDTH="30%"> ! <P> ! <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> ! <p> ! <address> ! Last changes to this page 29-Mar-2003 by jcmurphy<BR> ! © J.C.Murphy, J.W.Murphy 1997 ar...@ar... ! </address> ! </BODY> ! </HTML> --- 1,151 ---- ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual - ars_MergeEntry</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> ! ! <H2><CODE>ars_MergeEntry(ctrl, schema, mergeType, ...)</CODE></H2> ! ! Merge an entry into the schema. This routine allows you to ! arbitrarily alter fields (diary, entry-id, etc) that would ! otherwise be difficult or impossible to alter. All it requires ! is permissions to write to the particular field that you wish ! to alter. The ellipses represent alternating fieldId/fieldValue ! pairs. ! ! ! <P> ! There are three conditions to detect after ars_MergeEntry(...). ! ! <ol> ! <li> A non-null value returned means that a new entry was created. ! ! <li> A null value returned, plus $ars_errstr empty, means that an existing ! entry was replaced. ! ! <li> A null value returned, plus $ars_errstr non-empty, means there was some ! error. ! </oL> ! ! Here's some sample code that demonstrates how to evaluate the outcome of ! this function: ! <PRE> ! foreach $RPTID (sort keys %RPTEntryList) { ! undef @Report; ! ( @Report = ars_GetEntry($ctrl1, $ISS_RPT_SCHEMA, $RPTID) ) ! || arsdie("GetEntry $RPTID"); ! if ( $ret = ars_MergeEntry($ctrl2, $ISS_RPT_SCHEMA, ! 3075, @Report) ) { ! print "$RPTID -> new $ret\n"; ! } else { ! arsdie("MergeEntry $RPTID $ret") if $ars_errstr; ! print "$RPTID replaced\n"; ! } ! } ! </PRE> ! ! Note the value "3075" for mergeType. That translates to<P> ! <PRE> ! 2048: skip field pattern checking ! 1024: allow NULL in required fields ! + 3: delete existing entry and create new in its place ! ------- ! 3075 ! </PRE> ! <P> ! ! <DL> ! <DT><B>On success</B><DD> ! If a NEW entry was created: returns the entry-id of the merged entry.<BR> ! If an EXISTING entry was over-written: returns "" and <code>$ars_errstr</code> will be "" (or, more correctly, <code>%ARS::ars_errhash</code> will not contain any FATAL or ERROR messages - but might contains WARNINGs or NOTICEs). <BR> ! Note that this is how the C API behaves - this isn't something ! that is unique to ARSperl. <BR> ! <a href="#example">See examples below.</a> ! <DT><B>On failure</B><DD> ! Returns "" (an empty string) and sets <code>$ars_errstr</code> ! </DL> ! ! <P><a name="example">Example:</a><P> ! ! <PRE> ! # note that "4" means "overwrite existing" ! $a = ars_MergeEntry($ctrl, "HD:HelpDesk", 4, ! 1 , "00000000012345", ! 2 , "FOOBAR"); ! if(($a eq "") && ($ars_errstr eq "")) { ! print "entry successfully over-written\n"; ! } ! else { ! print "failed to merge - $ars_errstr\n"; ! } ! </PRE> ! ! <hr width="10%"> ! ! <PRE> ! ! # note that "2" means "create a new entry" ! $a = ars_MergeEntry($ctrl, "HD:HelpDesk", 2, ! 2 , "FOOBAR"); ! if(($a ne "") && ($ars_errstr eq "")) { ! print "entry successfully created - $a\n"; ! } ! else { ! print "failed to merge - $ars_errstr\n"; ! } ! </PRE> ! ! <P>Notes<P> ! <B>Note</B>: If you try to merge a diary field (to alter existing ! diary entries) you need to pass the <I>encoded</I> diary to this ! routine. See <A HREF="ars_EncodeDiary.html">ars_EncodeDiary</A>. ! <P> ! <code>mergeType</code> defines how the merge will happen if special ! field (ie. Entry-Id) already exists: ! <P> ! <TABLE BORDER=1> ! <TR> ! <TH>Code</TH><TH>Meaning</TH> ! </TR> ! <TR> ! <TD>1</TD><TD>Generate an error</TD> ! </TR> ! <TR> ! <TD>2</TD><TD>Create a new entry with a new entry id</TD> ! </TR> ! <TR> ! <TD>3</TD><TD>Delete the existing entry and create a new on in its place</TD> ! </TR> ! <TR> ! <TD>4</TD><TD>Update fields specified in the fieldlist in existing entry</TD> ! </TR> ! <TR> ! <TD>5</TD><TD>Generate a new entry id for all entries</TD> ! </TR> ! <TR> ! <TD>1024+num above</TD><TD>Allow NULL in required fields (not applicable for Submitter, ! Status or Short-Description)</TD> ! </TR> ! <TR> ! <TD>2048+num above</TD><TD>Skip field pattern checking</TD> ! </TR> ! </TABLE> ! <P> ! Refer to the Remedy Programmers Manual for further details. ! <P> ! <a href="OO/form.html#merge">The Object Oriented ARSperl layer ! tries to be a little easier to use.</a> ! <P> ! <I>ars_MergeEntry was introduced in version 1.46 of ARSperl</I> ! ! <P> ! <HR WIDTH="30%"> ! <P> ! <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> ! <p> ! <address> ! Last changes to this page 20-Aug-2010 by tstapff<BR> ! © J.C.Murphy, J.W.Murphy, T.Stapff 1997-2010 ar...@ar... ! </address> ! </BODY> ! </HTML> --- NEW FILE: ars_DeleteImage.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_DeleteImage</TITLE> </HEAD> <BODY BGCOLOR="#FF0000"> <H1>TO DO</H1> </BODY> </HTML> --- NEW FILE: ars_CreateImage.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_CreateImage</TITLE> </HEAD> <BODY BGCOLOR="#FF0000"> <H1>TO DO</H1> </BODY> </HTML> --- NEW FILE: ars_GetListImage.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_GetListImage</TITLE> </HEAD> <BODY BGCOLOR="#FF0000"> <H1>TO DO</H1> </BODY> </HTML> Index: toc.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/toc.html,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** toc.html 31 Mar 2009 12:16:11 -0000 1.29 --- toc.html 1 Sep 2010 17:18:29 -0000 1.30 *************** *** 1,537 **** ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ! "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ! <html xmlns="http://www.w3.org/1999/xhtml"> ! <head> ! <title> ! ARSperl Manual ! </title> ! <style type="text/css"> ! /*<![CDATA[*/ ! body { [...1063 lines suppressed...] ! </li> ! <li> ! <a href="ds_shv.html">Status History Value</a> ! </li> ! <li> ! <a href="ds_verifyuser_hash.html">Verify User Structure</a> ! </li> ! <li> ! <a href="ds_getvui_hash.html">VUI Attributes Structure</a> ! </li> ! </ul> ! </dd> ! </dl> ! <address> ! <a href="../index.html">ARSPerl</a><br /> ! Last changes to this page 31st March 2009 by mic...@gm...<br /> ! © J.C.Murphy, J.W.Murphy 1997 <i>ar...@ar...</i> ! </address> ! </body> ! </html> |
From: Thilo S. <ts...@us...> - 2010-09-01 17:18:39
|
Update of /cvsroot/arsperl/ARSperl In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15696 Modified Files: ARS.xs Makefile.PL StructDef.pl changes.dat rev_AR_template.pl support-h.template support.c supportrev_generated.c supportrev_generated.h Log Message: arsystem 7.6.3 port Index: rev_AR_template.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/rev_AR_template.pl,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** rev_AR_template.pl 2 Apr 2009 18:57:03 -0000 1.6 --- rev_AR_template.pl 1 Sep 2010 17:18:29 -0000 1.7 *************** *** 351,355 **** strncpy( k, "<@ $key2 @>", 255 ); val = hv_fetch( h, "<@ $key2 @>", <@ length($key2) @>, 0 ); ! if( val && *val && SvOK(*val) ){ @> perlToStruct( $obj->{$key}, $class, "$LINE_INDENT\t\t\t" ); }else{ --- 351,355 ---- strncpy( k, "<@ $key2 @>", 255 ); val = hv_fetch( h, "<@ $key2 @>", <@ length($key2) @>, 0 ); ! if( val && *val && <@ ($obj->{$key}{_type} eq 'ARValueStruct')? '(SvOK(*val) || SvTYPE(*val) == SVt_NULL)' : 'SvOK(*val)' @> ){ @> perlToStruct( $obj->{$key}, $class, "$LINE_INDENT\t\t\t" ); }else{ *************** *** 589,593 **** sub versionIf { my( $obj ) = @_; ! if( $obj->{_min_version} ){ return '#if AR_CURRENT_API_VERSION >= ' . $CURRENT_API_VERSION{$obj->{_min_version}}; }elsif( $obj->{_max_version} ){ --- 589,595 ---- sub versionIf { my( $obj ) = @_; ! if( $obj->{_min_version} && $obj->{_max_version} ){ ! return '#if AR_CURRENT_API_VERSION >= '. $CURRENT_API_VERSION{$obj->{_min_version}} .' && AR_CURRENT_API_VERSION <= '. $CURRENT_API_VERSION{$obj->{_max_version}}; ! }elsif( $obj->{_min_version} ){ return '#if AR_CURRENT_API_VERSION >= ' . $CURRENT_API_VERSION{$obj->{_min_version}}; }elsif( $obj->{_max_version} ){ Index: changes.dat =================================================================== RCS file: /cvsroot/arsperl/ARSperl/changes.dat,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -d -r1.64 -r1.65 *** changes.dat 1 Apr 2009 15:04:50 -0000 1.64 --- changes.dat 1 Sep 2010 17:18:29 -0000 1.65 *************** *** 1,3 **** --- 1,7 ---- released=xx/xx/xxx version=1.92 + TS modifications for AR 7.6.3 API + TS ars_GetEntryBLOB bugfix by Conny Martin + TS fixed "hv_fetch error" problem in case of undefined ARValueStruct + TS fixed SignalTypeMap problem TS package directory reorganization/cleanup TS additional ars_Login parameters by Conny Martin *************** *** 5,9 **** TS fixed incorrect AR_ARITH_OP_NEGATE handling in rev_ARArithOpStruct TS fixed wrong operand evaluation for AR_ARITH_OP_NEGATE in perl_ARArithOpStruct ! TS fixed ars_SetServerInfo() memory violation in case of more than key/value pair TS ars_GetFieldTable performance improvement by using ARGetMultipleFields TS removed unnecessary second invocation of ARGetField in ars_GetField --- 9,13 ---- TS fixed incorrect AR_ARITH_OP_NEGATE handling in rev_ARArithOpStruct TS fixed wrong operand evaluation for AR_ARITH_OP_NEGATE in perl_ARArithOpStruct ! TS fixed ars_SetServerInfo() memory violation in case of more than one key/value pair TS ars_GetFieldTable performance improvement by using ARGetMultipleFields TS removed unnecessary second invocation of ARGetField in ars_GetField Index: ARS.xs =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARS.xs,v retrieving revision 1.125 retrieving revision 1.126 diff -C2 -d -r1.125 -r1.126 *** ARS.xs 2 Apr 2009 18:57:02 -0000 1.125 --- ARS.xs 1 Sep 2010 17:18:29 -0000 1.126 *************** *** 287,290 **** --- 287,292 ---- DBG( ("safemalloc ARControlStruct\n") ); ctrl = (ARControlStruct *)safemalloc(sizeof(ARControlStruct)); + /* DBG( ("malloc ARControlStruct\n") ); + ctrl = (ARControlStruct *)MALLOCNN(sizeof(ARControlStruct)); */ Zero(ctrl, 1, ARControlStruct); #endif *************** *** 569,573 **** Zero(&status, 1, ARStatusList); [...1260 lines suppressed...] + #else FreeARMultiSchemaFieldIdList( &getListFields, FALSE ); FreeARMultiSchemaFieldValueListList( &entryFieldValueList, FALSE ); + #endif + FreeARMultiSchemaSortList( &sortList, FALSE ); #else /* prior to ARS 7.5 */ (void) ARError_reset(); *************** *** 7416,7420 **** }else{ signalList.signalList[i].signalType = st; ! signalList.signalList[i].sigArgument = SvPV(ST(a),PL_na); } } --- 7702,7706 ---- }else{ signalList.signalList[i].signalType = st; ! signalList.signalList[i].sigArgument = SvPV(ST(a+1),PL_na); } } Index: Makefile.PL =================================================================== RCS file: /cvsroot/arsperl/ARSperl/Makefile.PL,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** Makefile.PL 14 Dec 2009 17:31:38 -0000 1.86 --- Makefile.PL 1 Sep 2010 17:18:29 -0000 1.87 *************** *** 45,49 **** # STEP 2 -> Choose your version of ARS FROM THE FOLLOWING LIST # ! # 5.0 6.0 6.01 6.3 7.0 7.1 7.5 # # notes --- 45,49 ---- # STEP 2 -> Choose your version of ARS FROM THE FOLLOWING LIST # ! # 5.0 6.0 6.01 6.3 7.0 7.1 7.5 7.6 # # notes *************** *** 56,60 **** # 4.52) # ! $ARSVERSION = 7.5; --- 56,60 ---- # 4.52) # ! $ARSVERSION = 7.6; Index: support.c =================================================================== RCS file: /cvsroot/arsperl/ARSperl/support.c,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** support.c 31 Mar 2009 17:41:17 -0000 1.69 --- support.c 1 Sep 2010 17:18:29 -0000 1.70 *************** *** 3501,3508 **** --- 3501,3514 ---- #endif ARValueStruct * defaultVal, + #if AR_CURRENT_API_VERSION >= 17 + ARPermissionList * assignedGroupList, + #endif ARPermissionList * perm, ARFieldLimitStruct * limit, ARDisplayInstanceList * display, char **help, ARTimestamp * timestamp, ARNameType owner, ARNameType lastChanged, char **changeDiary, + #if AR_CURRENT_API_VERSION >= 17 + ARPropList * objPropList, + #endif ARStatusList * Status) { *************** *** 3514,3518 **** char field_string[20]; ! #if AR_CURRENT_API_VERSION >= 12 /* cache fieldName and dataType */ if (fieldMap || option || createMode || fieldOption || defaultVal || perm || limit || --- 3520,3532 ---- char field_string[20]; ! #if AR_CURRENT_API_VERSION >= 17 ! /* cache fieldName and dataType */ ! if (fieldMap || option || createMode || fieldOption || defaultVal || assignedGroupList || perm || limit || ! display || help || timestamp || owner || lastChanged || changeDiary || objPropList) { ! (void) ARError_add(ARSPERL_TRACEBACK, 1, ! "ARGetFieldCached: uncached parameter requested."); ! goto cache_fail; ! } ! #elif AR_CURRENT_API_VERSION >= 12 /* cache fieldName and dataType */ if (fieldMap || option || createMode || fieldOption || defaultVal || perm || limit || *************** *** 3576,3580 **** cache_fail:; ! #if AR_CURRENT_API_VERSION >= 12 ret = ARGetField(ctrl, schema, id, my_fieldName, fieldMap, &my_dataType, option, createMode, fieldOption, defaultVal, perm, limit, --- 3590,3600 ---- cache_fail:; ! ! #if AR_CURRENT_API_VERSION >= 17 ! ret = ARGetField(ctrl, schema, id, my_fieldName, fieldMap, &my_dataType, ! option, createMode, fieldOption, defaultVal, assignedGroupList, perm, limit, ! display, help, timestamp, owner, lastChanged, ! changeDiary, objPropList, Status); ! #elif AR_CURRENT_API_VERSION >= 12 ret = ARGetField(ctrl, schema, id, my_fieldName, fieldMap, &my_dataType, option, createMode, fieldOption, defaultVal, perm, limit, *************** *** 3760,3763 **** --- 3780,3786 ---- #endif NULL, /* defaultVal */ + #if AR_CURRENT_API_VERSION >= 17 + NULL, /* assginedGrouList */ + #endif NULL, /* permissions */ NULL, /* limit */ *************** *** 3768,3771 **** --- 3791,3797 ---- NULL, /* lastChanged */ NULL, /* changeDiary */ + #if AR_CURRENT_API_VERSION >= 17 + NULL, /* objPropListList */ + #endif &status ); #ifdef PROFILE Index: StructDef.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/StructDef.pl,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** StructDef.pl 14 Apr 2009 16:58:24 -0000 1.9 --- StructDef.pl 1 Sep 2010 17:18:29 -0000 1.10 *************** *** 16,19 **** --- 16,20 ---- '7.1.0' => '13', '7.5.0' => '14', + '7.6.3' => '17', ); *************** *** 160,163 **** --- 161,168 ---- _type => 'unsigned int', _data => 'p->fullTextOptions', + _map => { + AR_FULLTEXT_OPTIONS_NONE => 'none', + AR_FULLTEXT_OPTIONS_INDEXED => 'indexed', + }, }, }, *************** *** 2068,2071 **** --- 2073,2077 ---- }, AR_STAT_HISTORY => { + _max_version => '7.5.0', statHistory => { _type => 'ARMultiSchemaStatHistoryValue', *************** *** 2073,2076 **** --- 2079,2089 ---- }, }, + AR_STAT_HISTORY => { + _min_version => '7.6.3', + statHistory => { + _type => 'ARMultiSchemaFuncStatHistoryValue', + _data => 'p->u.statHistory', + }, + }, AR_VALUE_SET => { valueSet => { *************** *** 2081,2084 **** --- 2094,2098 ---- AR_CURRENCY_FLD => { _min_version => '5.1.0', + _max_version => '7.5.0', currencyField => { _type => 'ARMultiSchemaCurrencyPartStruct*', *************** *** 2086,2090 **** --- 2100,2112 ---- }, }, + AR_CURRENCY_FLD => { + _min_version => '7.6.3', + currencyField => { + _type => 'ARMultiSchemaFuncCurrencyPartStruct*', + _data => 'p->u.currencyField', + }, + }, AR_VALUE_SET_QUERY => { + _max_version => '7.5.0', queryValue => { _type => 'ARMultiSchemaValueSetQueryStruct*', *************** *** 2092,2095 **** --- 2114,2124 ---- }, }, + AR_VALUE_SET_QUERY => { + _min_version => '7.6.3', + queryValue => { + _type => 'ARMultiSchemaValueSetFuncQueryStruct*', + _data => 'p->u.valueSetQuery', + }, + }, }, }, *************** *** 2112,2115 **** --- 2141,2145 ---- ARMultiSchemaCurrencyPartStruct => { _min_version => '7.5.0', + _max_version => '7.5.0', fieldId => { _type => 'ARMultiSchemaFieldIdStruct', *************** *** 2180,2183 **** --- 2210,2526 ---- }, + ARMultiSchemaFuncStatHistoryValue => { + _min_version => '7.6.3', + queryFromAlias => { + _type => 'ARNameType', + _data => 'p->queryFromAlias', + }, + enumVal => { + _type => 'unsigned long', + _data => 'p->enumVal', + }, + userOrTime => { + _type => 'unsigned int', + _data => 'p->userOrTime', + }, + funcId => { + _type => 'int', + _data => 'p->funcId', + }, + }, + ARMultiSchemaFuncCurrencyPartStruct => { + _min_version => '7.6.3', + fieldFunc => { + _type => 'ARMultiSchemaFieldFuncStruct', + _data => 'p->fieldFunc', + }, + partTag => { + _type => 'unsigned int', + _data => 'p->partTag', + }, + currencyCode => { + _type => 'ARCurrencyCodeType', + _data => 'p->currencyCode', + }, + }, + ARMultiSchemaValueSetFuncQueryStruct => { + _min_version => '7.6.3', + queryFromList => { + _type => 'ARMultiSchemaFuncQueryFromList', + _data => 'p->queryFromList', + }, + fieldId => { + _type => 'ARMultiSchemaFieldIdStruct', + _data => 'p->fieldId', + }, + qualifier => { + _type => 'ARMultiSchemaQualifierStruct*', + _data => 'p->qualifier', + }, + groupBy => { + _type => 'ARMultiSchemaFieldIdList', + _data => 'p->groupBy', + }, + having => { + _type => 'ARMultiSchemaFuncQualifierStruct*', + _data => 'p->having', + }, + }, + ARMultiSchemaFuncQueryFromList => { + _min_version => '7.6.3', + _num => 'p->numItems', + _list => 'p->listPtr', + _type => 'ARMultiSchemaFuncQueryFromStruct', + }, + ARMultiSchemaFuncQueryFromStruct => { + _min_version => '7.6.3', + queryFromAlias => { + _type => 'ARNameType', + _data => 'p->queryFromAlias', + }, + joinType => { + _type => 'unsigned int', + _data => 'p->joinType', + }, + joinQual => { + _type => 'ARMultiSchemaQualifierStruct*', + _data => 'p->joinQual', + }, + _switch => 'p->type', + _case => { + AR_MULTI_SCHEMA_SCHEMA_NAME => { + 'name' => { + _type => 'ARNameType', + _data => 'p->u.schemaName', + }, + }, + AR_MULTI_SCHEMA_NESTED_QUERY => { + 'extRef' => { + _type => 'ARMultiSchemaNestedFuncQueryStruct*', + _data => 'p->u.nestedQuery', + }, + }, + AR_MULTI_SCHEMA_RECURSIVE_QUERY => { + 'extRef' => { + _type => 'ARMultiSchemaRecursiveFuncQueryStruct*', + _data => 'p->u.recursiveQuery', + }, + }, + }, + }, + ARMultiSchemaFuncQualifierStruct => { + _min_version => '7.6.3', + _switch => 'p->operation', + _map => [ 'oper', { + AR_COND_OP_AND => 'and', + AR_COND_OP_OR => 'or', + AR_COND_OP_NOT => 'not', + AR_COND_OP_REL_OP => 'rel_op', + AR_COND_OP_FROM_FIELD => 'external', + } ], + _case => { + AR_COND_OP_NONE => { + _default => 1, + }, + AR_COND_OP_AND => { + left => { + _type => 'ARMultiSchemaFuncQualifierStruct*', + _data => 'p->u.andor.operandLeft', + }, + right => { + _type => 'ARMultiSchemaFuncQualifierStruct*', + _data => 'p->u.andor.operandRight', + }, + }, + AR_COND_OP_OR => { + left => { + _type => 'ARMultiSchemaFuncQualifierStruct*', + _data => 'p->u.andor.operandLeft', + }, + right => { + _type => 'ARMultiSchemaFuncQualifierStruct*', + _data => 'p->u.andor.operandRight', + }, + }, + AR_COND_OP_NOT => { + 'not' => { + _type => 'ARMultiSchemaFuncQualifierStruct*', + _data => 'p->u.notQual', + }, + }, + AR_COND_OP_REL_OP => { + rel_op => { + _type => 'ARMultiSchemaFuncRelOpStruct*', + _data => 'p->u.relOp', + }, + }, + AR_COND_OP_FROM_FIELD => { + fieldFunc => { + _type => 'ARMultiSchemaFieldFuncStruct', + _data => 'p->u.fieldFunc', + }, + }, + }, + }, + ARMultiSchemaNestedFuncQueryStruct => { + _min_version => '7.6.3', + queryFromList => { + _type => 'ARMultiSchemaFuncQueryFromList', + _data => 'p->queryFromList', + }, + getListFuncs => { + _type => 'ARMultiSchemaFieldFuncList', + _data => 'p->getListFuncs', + }, + qualifier => { + _type => 'ARMultiSchemaQualifierStruct*', + _data => 'p->qualifier', + }, + groupBy => { + _type => 'ARMultiSchemaFieldIdList', + _data => 'p->groupBy', + }, + having => { + _type => 'ARMultiSchemaFuncQualifierStruct*', + _data => 'p->having', + }, + }, + ARMultiSchemaFieldFuncList => { + _min_version => '7.6.3', + _num => 'p->numItems', + _list => 'p->listPtr', + _type => 'ARMultiSchemaFieldFuncStruct', + }, + ARMultiSchemaFieldFuncStruct => { + _min_version => '7.6.3', + queryFromAlias => { + _type => 'ARNameType', + _data => 'p->queryFromAlias', + }, + fieldId => { + _type => 'ARInternalId', + _data => 'p->fieldId', + }, + funcId => { + _type => 'int', + _data => 'p->funcId', + }, + }, + ARMultiSchemaFuncRelOpStruct => { + _min_version => '7.6.3', + operation => { + _type => 'unsigned int', + _data => 'p->operation', + }, + operandLeft => { + _type => 'ARMultiSchemaFieldFuncValueOrArithStruct', + _data => 'p->operandLeft', + }, + operandRight => { + _type => 'ARMultiSchemaFieldFuncValueOrArithStruct', + _data => 'p->operandRight', + }, + }, + ARMultiSchemaRecursiveFuncQueryStruct => { + _min_version => '7.6.3', + recursiveSchemaAlias => { + _type => 'ARNameType', + _data => 'p->recursiveSchemaAlias', + }, + queryFromList => { + _type => 'ARMultiSchemaFuncQueryFromList', + _data => 'p->queryFromList', + }, + getListFuncs => { + _type => 'ARMultiSchemaFieldFuncList', + _data => 'p->getListFuncs', + }, + startQual => { + _type => 'ARMultiSchemaQualifierStruct*', + _data => 'p->startQual', + }, + recursionQual => { + _type => 'ARMultiSchemaQualifierStruct*', + _data => 'p->recursionQual', + }, + levelsToRetrieve => { + _type => 'int', + _data => 'p->levelsToRetrieve', + }, + groupBy => { + _type => 'ARMultiSchemaFieldIdList', + _data => 'p->groupBy', + }, + having => { + _type => 'ARMultiSchemaFuncQualifierStruct*', + _data => 'p->having', + }, + }, + ARMultiSchemaFieldFuncValueOrArithStruct => { + _min_version => '7.6.3', + _switch => 'p->tag', + _case => { + AR_FIELD => { + fieldFunc => { + _type => 'ARMultiSchemaFieldFuncStruct', + _data => 'p->u.fieldFunc', + }, + }, + AR_VALUE => { + value => { + _type => 'ARValueStruct', + _data => 'p->u.value', + }, + }, + AR_ARITHMETIC => { + arith => { + _type => 'ARMultiSchemaFuncArithOpStruct*', + _data => 'p->u.arithOp', + }, + }, + AR_STAT_HISTORY => { + statHistory => { + _type => 'ARMultiSchemaFuncStatHistoryValue', + _data => 'p->u.statHistory', + }, + }, + AR_VALUE_SET => { + valueSet => { + _type => 'ARValueList', + _data => 'p->u.valueSet', + }, + }, + AR_CURRENCY_FLD => { + _min_version => '5.1.0', + currencyField => { + _type => 'ARMultiSchemaFuncCurrencyPartStruct*', + _data => 'p->u.currencyField', + }, + }, + AR_VALUE_SET_QUERY => { + queryValue => { + _type => 'ARMultiSchemaValueSetFuncQueryStruct*', + _data => 'p->u.valueSetQuery', + }, + }, + }, + }, + ARMultiSchemaFuncArithOpStruct => { + _min_version => '7.6.3', + operation => { + _type => 'unsigned int', + _data => 'p->operation', + }, + operandLeft => { + _type => 'ARMultiSchemaFieldFuncValueOrArithStruct', + _data => 'p->operandLeft', + }, + operandRight => { + _type => 'ARMultiSchemaFieldFuncValueOrArithStruct', + _data => 'p->operandRight', + }, + }, + + #ARMultiSchemaFieldIdStruct => { Index: supportrev_generated.c =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev_generated.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** supportrev_generated.c 14 Apr 2009 16:58:24 -0000 1.10 --- supportrev_generated.c 1 Sep 2010 17:18:29 -0000 1.11 *************** *** 1383,1387 **** strncpy( k, "value", 255 ); val = hv_fetch( h, "value", 5, 0 ); ! if( val && *val && SvOK(*val) ){ { rev_ARValueStruct( ctrl, h, k, "dataType", &(p->u.value) ); --- 1383,1387 ---- strncpy( k, "value", 255 ); val = hv_fetch( h, "value", 5, 0 ); ! if( val && *val && (SvOK(*val) || SvTYPE(*val) == SVt_NULL) ){ { [...2239 lines suppressed...] + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaValueSetFuncQueryStruct: hv_fetch returned null"); + return -2; + } + }else{ + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaValueSetFuncQueryStruct: key doesn't exist"); + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, k ); + return -2; + } + }else{ + ARError_add(AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaValueSetFuncQueryStruct: first argument is not a hash"); + return -1; + } + + return 0; + } + #endif + + #if AR_CURRENT_API_VERSION >= 14 int Index: support-h.template =================================================================== RCS file: /cvsroot/arsperl/ARSperl/support-h.template,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** support-h.template 31 Mar 2009 17:41:17 -0000 1.36 --- support-h.template 1 Sep 2010 17:18:29 -0000 1.37 *************** *** 340,344 **** char *name; } SignalTypeMap[] = { - { 0, NULL }, /*SIGNALTYPEMAP*/ { TYPEMAP_LAST, NULL } --- 340,343 ---- *************** *** 468,475 **** --- 467,480 ---- #endif ARValueStruct *, + #if AR_CURRENT_API_VERSION >= 17 + ARPermissionList *assignedGroupList, + #endif ARPermissionList *, ARFieldLimitStruct *, ARDisplayInstanceList *, char **, ARTimestamp *, ARNameType, ARNameType, char **, + #if AR_CURRENT_API_VERSION >= 17 + ARPropList *objPropList, + #endif ARStatusList *); Index: supportrev_generated.h =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev_generated.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** supportrev_generated.h 14 Apr 2009 16:58:24 -0000 1.9 --- supportrev_generated.h 1 Sep 2010 17:18:29 -0000 1.10 *************** *** 245,251 **** ! #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaCurrencyPartStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaCurrencyPartStruct *p ); #endif #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaFieldIdList( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldIdList *p ); --- 245,260 ---- ! #if AR_CURRENT_API_VERSION >= 14 && AR_CURRENT_API_VERSION <= 14 EXTERN int rev_ARMultiSchemaCurrencyPartStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaCurrencyPartStruct *p ); #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFieldFuncList( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldFuncList *p ); + #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFieldFuncStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldFuncStruct *p ); + #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFieldFuncValueOrArithStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldFuncValueOrArithStruct *p ); + #endif #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaFieldIdList( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldIdList *p ); *************** *** 254,257 **** --- 263,290 ---- EXTERN int rev_ARMultiSchemaFieldValueOrArithStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldValueOrArithStruct *p ); #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFuncArithOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFuncArithOpStruct *p ); + #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFuncCurrencyPartStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFuncCurrencyPartStruct *p ); + #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFuncQualifierStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFuncQualifierStruct *p ); + #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFuncQueryFromList( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFuncQueryFromList *p ); + #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFuncQueryFromStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFuncQueryFromStruct *p ); + #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFuncRelOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFuncRelOpStruct *p ); + #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaFuncStatHistoryValue( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFuncStatHistoryValue *p ); + #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaNestedFuncQueryStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaNestedFuncQueryStruct *p ); + #endif #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaNestedQueryStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaNestedQueryStruct *p ); *************** *** 266,269 **** --- 299,305 ---- EXTERN int rev_ARMultiSchemaQueryFromStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaQueryFromStruct *p ); #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaRecursiveFuncQueryStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaRecursiveFuncQueryStruct *p ); + #endif #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaRecursiveQueryStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaRecursiveQueryStruct *p ); *************** *** 281,284 **** --- 317,323 ---- EXTERN int rev_ARMultiSchemaStatHistoryValue( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaStatHistoryValue *p ); #endif + #if AR_CURRENT_API_VERSION >= 17 + EXTERN int rev_ARMultiSchemaValueSetFuncQueryStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaValueSetFuncQueryStruct *p ); + #endif #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaValueSetQueryStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaValueSetQueryStruct *p ); |
From: Thilo S. <ts...@us...> - 2010-09-01 17:18:39
|
Update of /cvsroot/arsperl/ARSperl/infra In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15696/infra Modified Files: exsi.pl Log Message: arsystem 7.6.3 port Index: exsi.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/infra/exsi.pl,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** exsi.pl 14 Dec 2009 17:30:56 -0000 1.6 --- exsi.pl 1 Sep 2010 17:18:29 -0000 1.7 *************** *** 16,27 **** # # $Log$ ! # Revision 1.6 2009/12/14 17:30:56 jeffmurphy ! # more fiddling with exsi.pl: removed skip of MAX_ATTACH_SIZE, reworded warning ! # ! # Revision 1.5 2009/12/14 17:25:34 jeffmurphy ! # changed die to warn. due to watch serverinfotypehints is searched, shouldnt affect anything if theres a gap. sf bug id 2914262 ! # ! # Revision 1.4 2009/03/31 17:41:18 tstapff ! # arsystem 7.5 port, AR*Image functions # # Revision 1.3 2008/09/24 13:03:14 tstapff --- 16,30 ---- # # $Log$ ! # Revision 1.7 2010/09/01 17:18:29 tstapff ! # arsystem 7.6.3 port ! # ! # Revision 1.6 2009/12/14 17:30:56 jeffmurphy ! # more fiddling with exsi.pl: removed skip of MAX_ATTACH_SIZE, reworded warning ! # ! # Revision 1.5 2009/12/14 17:25:34 jeffmurphy ! # changed die to warn. due to watch serverinfotypehints is searched, shouldnt affect anything if theres a gap. sf bug id 2914262 ! # ! # Revision 1.4 2009/03/31 17:41:18 tstapff ! # arsystem 7.5 port, AR*Image functions # # Revision 1.3 2008/09/24 13:03:14 tstapff *************** *** 37,41 **** use strict; ! my $D = 0; header(); --- 40,44 ---- use strict; ! my $D = 0; header(); *************** *** 64,73 **** if( $sin && $siv && $sit ){ ! print "sin $sin siv $siv sit $sit\n" if $D; ++$ct; ! if ($siv != $ct) { ! warn "warning: gap in enumeration for $sin expected $ct got $siv. it's OK to ignore this." if $siv != $ct; ! $ct = $siv; ! } next if $sit eq 'deprecated'; --- 67,80 ---- if( $sin && $siv && $sit ){ ! print "sin $sin siv $siv sit $sit\n" if $D; ++$ct; ! if ($siv != $ct) { ! if( $siv <= 324 ){ ! warn "!!! ERROR: Cannot determine type for AR_SERVER_INFO constant $ct !!!"; ! }else{ ! warn "WARNING: gap in enumeration for $sin expected $ct got $siv. it's OK to ignore this."; ! } ! $ct = $siv; ! } next if $sit eq 'deprecated'; *************** *** 89,93 **** $sit = "int" if $sin eq "AR_SERVER_INFO_MAX_AUDIT_LOG_FILE_SIZE"; - $sit = "int" if $sin eq "AR_SERVER_INFO_MAX_ATTACH_SIZE"; $sit = "char" if $sin eq "AR_SERVER_INFO_MESSAGE_CAT_SCHEMA"; $sit = "unsigned long" if $sit eq "ARInternalId"; --- 96,99 ---- *************** *** 110,113 **** --- 116,126 ---- $sit = "int" if $sin eq "AR_SERVER_INFO_CLIENT_MANAGED_TRANSACTION_TIMEOUT"; + $sit = "int" if $sin eq "AR_SERVER_INFO_MAX_ATTACH_SIZE"; + $sit = "int" if $sin eq "AR_SERVER_INFO_ATRIUM_SSO_AUTHENTICATION"; + + $sit = "int" if $sin eq "AR_SERVER_INFO_MFS_TITLE_FIELD_WEIGHT"; # 327 + $sit = "int" if $sin eq "AR_SERVER_INFO_MFS_ENVIRONMENT_FIELD_WEIGHT"; # 328 + $sit = "int" if $sin eq "AR_SERVER_INFO_MFS_KEYWORDS_FIELD_WEIGHT"; # 329 + #print "\t/*$sin [$siv] is an $sit*/\n"; |
From: Thilo S. <ts...@us...> - 2010-09-01 17:18:37
|
Update of /cvsroot/arsperl/ARSperl/t In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15696/t Modified Files: aptest51.def Log Message: arsystem 7.6.3 port Index: aptest51.def =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/aptest51.def,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** aptest51.def 21 Apr 2007 22:22:06 -0000 1.2 --- aptest51.def 1 Sep 2010 17:18:30 -0000 1.3 *************** *** 1,5667 **** ! # ! # File exported Tue Apr 1 15:27:05 2003 ! # ! begin schema ! name : ARSperl Test ! core-version : 2 ! upgrade-version: 0 ! num-fields : 112 ! timestamp : 1049205535 ! owner : jcmurphy [...11305 lines suppressed...] ! object : ARSperl Test-Filter1 ! } ! reference { ! type : 32774 ! datatype : 1 ! label : LABEL 1 ! value : 0\ ! } ! reference { ! type : 3 ! datatype : 0 ! object : ARSperl Test-Filter1 ! } ! reference { ! type : 32774 ! datatype : 1 ! label : LABEL 2 ! value : 0\ ! } ! end |
From: Thilo S. <ts...@us...> - 2010-09-01 17:18:37
|
Update of /cvsroot/arsperl/ARSperl/example In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15696/example Added Files: ars_GetListEntryWithMultiSchemaFields.pl Log Message: arsystem 7.6.3 port --- NEW FILE: ars_GetListEntryWithMultiSchemaFields.pl --- use strict; use warnings; use ARS; my( $server, $user, $passwd, $tcpport ) = ( 'server', 'user', 'passwd', 0 ); my $ctrl = ars_Login( $server, $user, $passwd, '', '', $tcpport ); die qq/ars_Login($server,$user,'***',$tcpport): $ars_errstr\n/ if ! $ctrl; die qq/This example works for the ARS 7.5 API only\n/ unless ars_APIVersion() == 14; my $aSchema = [{ queryFromAlias => 'U', schemaName => 'User', joinType => 0, joinQual => undef, }, { queryFromAlias => 'G', schemaName => 'Group', joinType => 0, joinQual => { oper => 'rel_op', rel_op => { oper => 'like', left => { fieldId => 'U.104', }, right => { dataType => 'char', value => '%', }, # right => { # arith => { # oper => '+', # left => { # dataType => 'char', # value => '%', # }, # right => { # arith => { # oper => '+', # left => { # fieldId => 'G.106', # }, # right => { # dataType => 'char', # value => ';%', # }, # }, # }, # }, # }, }, }, }]; my $hQualifier = undef; my $hQualifier2 = { oper => 'rel_op', rel_op => { oper => '==', left => { fieldId => 'G.106', }, right => { dataType => 'integer', value => 3, }, }, }; my $aFields = [ 'U.101', 'U.104', 'G.105', 'G.106' ]; my $aSortList = [ 'G.106' => 1 ]; my @entries = ars_GetListEntryWithMultiSchemaFields( $ctrl, $aSchema, $hQualifier, 0, 0, $aFields, @$aSortList ); die qq/ars_GetListEntryWithMultiSchemaFields: $ars_errstr\n/ if $ars_errstr; foreach my $hEntry ( @entries ){ use Data::Dumper; print Data::Dumper->Dump( [$hEntry], ['entry'] ), "\n"; } |
From: jeff m. <jef...@us...> - 2009-12-14 17:31:51
|
Update of /cvsroot/arsperl/ARSperl In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv13712 Modified Files: Makefile.PL Log Message: alter comments/instructions Index: Makefile.PL =================================================================== RCS file: /cvsroot/arsperl/ARSperl/Makefile.PL,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** Makefile.PL 14 Apr 2009 16:58:24 -0000 1.85 --- Makefile.PL 14 Dec 2009 17:31:38 -0000 1.86 *************** *** 22,26 **** $debug = 0; ! ###### There are THREE (3) steps to complete. Complete all of them. ###### # STEP 1 -> Set the path to your ARS API directory --- 22,26 ---- $debug = 0; ! ###### There are FOUR (4) steps to complete. Complete all of them. ###### # STEP 1 -> Set the path to your ARS API directory *************** *** 29,33 **** #$ARSAPI = "/u1/project/ARSperl/api/sol2/api6.0.1"; #$ARSAPI = "/u1/project/ARSperl/api/sol2/api6.3"; ! #$ARSAPI = "/u1/project/ARSperl/api/linux/7.0.1p1"; #$ARSAPI = "/u1/project/ARSperl/api/sol2/api5.1.1"; # $ARSAPI = "/home/jcmurphy/arsperl/api/5.1"; --- 29,33 ---- #$ARSAPI = "/u1/project/ARSperl/api/sol2/api6.0.1"; #$ARSAPI = "/u1/project/ARSperl/api/sol2/api6.3"; ! #$ARSAPI = "/u1/project/ARSperl/api/linux/7.1.0p8"; #$ARSAPI = "/u1/project/ARSperl/api/sol2/api5.1.1"; # $ARSAPI = "/home/jcmurphy/arsperl/api/5.1"; *************** *** 45,49 **** # STEP 2 -> Choose your version of ARS FROM THE FOLLOWING LIST # ! # 5.0 6.0 6.01 6.3 7.0 7.1 # # notes --- 45,49 ---- # STEP 2 -> Choose your version of ARS FROM THE FOLLOWING LIST # ! # 5.0 6.0 6.01 6.3 7.0 7.1 7.5 # # notes |
From: jeff m. <jef...@us...> - 2009-12-14 17:31:07
|
Update of /cvsroot/arsperl/ARSperl/infra In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv13515/infra Modified Files: exsi.pl Log Message: more fiddling with exsi.pl: removed skip of MAX_ATTACH_SIZE, reworded warning Index: exsi.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/infra/exsi.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** exsi.pl 14 Dec 2009 17:25:34 -0000 1.5 --- exsi.pl 14 Dec 2009 17:30:56 -0000 1.6 *************** *** 16,19 **** --- 16,22 ---- # # $Log$ + # Revision 1.6 2009/12/14 17:30:56 jeffmurphy + # more fiddling with exsi.pl: removed skip of MAX_ATTACH_SIZE, reworded warning + # # Revision 1.5 2009/12/14 17:25:34 jeffmurphy # changed die to warn. due to watch serverinfotypehints is searched, shouldnt affect anything if theres a gap. sf bug id 2914262 *************** *** 50,56 **** # name value type type2 ! if(/AR_SERVER_INFO_MAX_ATTACH_SIZE/) { ! next; ! }elsif(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*\/\*\s*(\S+)\s+(\S+)?/) { ($sin, $siv, $sit, $sit2) = ($1, $2, $3, $4); }elsif(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*$/){ --- 53,57 ---- # name value type type2 ! if(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*\/\*\s*(\S+)\s+(\S+)?/) { ($sin, $siv, $sit, $sit2) = ($1, $2, $3, $4); }elsif(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*$/){ *************** *** 65,69 **** print "sin $sin siv $siv sit $sit\n" if $D; ++$ct; ! warn "!!! ERROR: Cannot determine type for AR_SERVER_INFO constant $ct !!!" if $siv != $ct; next if $sit eq 'deprecated'; --- 66,73 ---- print "sin $sin siv $siv sit $sit\n" if $D; ++$ct; ! if ($siv != $ct) { ! warn "warning: gap in enumeration for $sin expected $ct got $siv. it's OK to ignore this." if $siv != $ct; ! $ct = $siv; ! } next if $sit eq 'deprecated'; *************** *** 85,88 **** --- 89,93 ---- $sit = "int" if $sin eq "AR_SERVER_INFO_MAX_AUDIT_LOG_FILE_SIZE"; + $sit = "int" if $sin eq "AR_SERVER_INFO_MAX_ATTACH_SIZE"; $sit = "char" if $sin eq "AR_SERVER_INFO_MESSAGE_CAT_SCHEMA"; $sit = "unsigned long" if $sit eq "ARInternalId"; |
From: jeff m. <jef...@us...> - 2009-12-14 17:25:51
|
Update of /cvsroot/arsperl/ARSperl/infra In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv12365/infra Modified Files: exsi.pl Log Message: changed die to warn. due to watch serverinfotypehints is searched, shouldnt affect anything if theres a gap. sf bug id 2914262 Index: exsi.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/infra/exsi.pl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** exsi.pl 31 Mar 2009 17:41:18 -0000 1.4 --- exsi.pl 14 Dec 2009 17:25:34 -0000 1.5 *************** *** 16,19 **** --- 16,22 ---- # # $Log$ + # Revision 1.5 2009/12/14 17:25:34 jeffmurphy + # changed die to warn. due to watch serverinfotypehints is searched, shouldnt affect anything if theres a gap. sf bug id 2914262 + # # Revision 1.4 2009/03/31 17:41:18 tstapff # arsystem 7.5 port, AR*Image functions *************** *** 31,34 **** --- 34,38 ---- use strict; + my $D = 0; header(); *************** *** 38,42 **** while(<>) { ! # print; chomp; --- 42,46 ---- while(<>) { ! print if $D; chomp; *************** *** 46,50 **** # name value type type2 ! if(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*\/\*\s*(\S+)\s+(\S+)?/) { ($sin, $siv, $sit, $sit2) = ($1, $2, $3, $4); }elsif(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*$/){ --- 50,56 ---- # name value type type2 ! if(/AR_SERVER_INFO_MAX_ATTACH_SIZE/) { ! next; ! }elsif(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*\/\*\s*(\S+)\s+(\S+)?/) { ($sin, $siv, $sit, $sit2) = ($1, $2, $3, $4); }elsif(/\#define\s+(AR_SERVER_INFO_\S+)\s+(\d+)\s*$/){ *************** *** 57,62 **** if( $sin && $siv && $sit ){ ++$ct; ! die "!!! ERROR: Cannot determine type for AR_SERVER_INFO constant $ct !!!" if $siv != $ct; next if $sit eq 'deprecated'; --- 63,69 ---- if( $sin && $siv && $sit ){ + print "sin $sin siv $siv sit $sit\n" if $D; ++$ct; ! warn "!!! ERROR: Cannot determine type for AR_SERVER_INFO constant $ct !!!" if $siv != $ct; next if $sit eq 'deprecated'; |
From: jeff m. <jef...@us...> - 2009-07-15 15:03:23
|
Update of /cvsroot/arsperl/ARSperl/html In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv31664 Modified Files: install.html Log Message: activestate link Index: install.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/install.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** install.html 15 Jul 2009 14:49:00 -0000 1.11 --- install.html 15 Jul 2009 15:03:15 -0000 1.12 *************** *** 8,13 **** <OL> ! <LI> <A HREF="http://sourceforge.net/project/showfiles.php?group_id=116013&package_id=125945">Download the distribution</A><P>It's also available via <a href="http://www.cpan.org/">CPAN</a>. There are ! <a href="http://sourceforge.net/project/showfiles.php?group_id=116013&package_id=125945">pre-compiled binaries</A> available too. <LI> Unpack (requires gzip and tar on Unix or <a href="http://www.winzip.com">WinZip</A> under Windows) --- 8,13 ---- <OL> ! <LI> <A HREF="http://sourceforge.net/project/showfiles.php?group_id=116013&package_id=125945">Download the distribution</A><P>It's also available via <a href="http://www.cpan.org/">CPAN</a>. T ! There are pre-compiled binaries for Windows (see below) available too. <LI> Unpack (requires gzip and tar on Unix or <a href="http://www.winzip.com">WinZip</A> under Windows) |
From: jeff m. <jef...@us...> - 2009-07-15 14:49:10
|
Update of /cvsroot/arsperl/ARSperl/html In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv30234 Modified Files: install.html Log Message: activestate link Index: install.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/install.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** install.html 20 Jul 2007 19:58:00 -0000 1.10 --- install.html 15 Jul 2009 14:49:00 -0000 1.11 *************** *** 25,29 **** HPUX users may need to compile the extension statically into the Perl binary. ! Windows users can use the <I>binary distribution</I> along with ActiveState Perl. </BODY> --- 25,29 ---- HPUX users may need to compile the extension statically into the Perl binary. ! <B>Windows users</B> can use the <I>pre-compiled binary distribution</I> along with ActiveState Perl. <a href="http://developer.bmc.com/communities/docs/DOC-5262">Check here</a> (free registration required) for precompiled ActiveState PPD files. </BODY> |
From: Georg G. <ggr...@gm...> - 2009-04-15 11:41:23
|
Oh, I just checked some distributions. Most of them don't run h2ph, not in the perl-packages install routines, and not even at the system setup. Seems as if you're right with keeping that one... 2009/4/1 jeff murphy <jcm...@je...> > > # due to the endless confusion over h2ph, i'm including > # a known-good copy in the arsperl distribution. the > # -d should make it create _h2ph_pre in the current > # directory incase you never ran h2ph before (as root) > > |
From: Thilo S. <ts...@us...> - 2009-04-14 16:58:44
|
Update of /cvsroot/arsperl/ARSperl/infra In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv4321/infra Modified Files: h2ph Log Message: directory reorganization/cleanup (fixed) Index: h2ph =================================================================== RCS file: /cvsroot/arsperl/ARSperl/infra/h2ph,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** h2ph 6 Apr 2003 03:07:29 -0000 1.1 --- h2ph 14 Apr 2009 16:58:24 -0000 1.2 *************** *** 1,790 **** ! #!/u1/project/ARSperl/perl/bin/perl ! eval 'exec /u1/project/ARSperl/perl/bin/perl -S $0 ${1+"$@"}' ! if $running_under_some_shell; ! ! use strict; ! ! use Config; ! use File::Path qw(mkpath); ! use Getopt::Std; ! [...1551 lines suppressed...] ! You may need to dicker with the files produced. ! ! You have to run this program by hand; it's not run as part of the Perl ! installation. ! ! Doesn't handle complicated expressions built piecemeal, a la: ! ! enum { ! FIRST_VALUE, ! SECOND_VALUE, ! #ifdef ABC ! THIRD_VALUE ! #endif ! }; ! ! Doesn't necessarily locate all of your C compiler's internally-defined ! symbols. ! ! =cut ! |
From: Thilo S. <ts...@us...> - 2009-04-14 16:58:31
|
Update of /cvsroot/arsperl/ARSperl In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv4321 Modified Files: Makefile.PL StructDef.pl supportrev_generated.c supportrev_generated.h Log Message: directory reorganization/cleanup (fixed) Index: supportrev_generated.c =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev_generated.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** supportrev_generated.c 2 Apr 2009 18:57:04 -0000 1.9 --- supportrev_generated.c 14 Apr 2009 16:58:24 -0000 1.10 *************** *** 10426,10430 **** ! int rev_ARMultiSchemaSortList( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortList *p ){ --- 10426,10430 ---- ! #if AR_CURRENT_API_VERSION >= 14 int rev_ARMultiSchemaSortList( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortList *p ){ *************** *** 10498,10505 **** return 0; } ! ! int rev_ARMultiSchemaSortStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortStruct *p ){ --- 10498,10505 ---- return 0; } + #endif ! #if AR_CURRENT_API_VERSION >= 14 int rev_ARMultiSchemaSortStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortStruct *p ){ *************** *** 10581,10585 **** return 0; } ! --- 10581,10585 ---- return 0; } ! #endif Index: supportrev_generated.h =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev_generated.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** supportrev_generated.h 2 Apr 2009 18:57:04 -0000 1.8 --- supportrev_generated.h 14 Apr 2009 16:58:24 -0000 1.9 *************** *** 272,281 **** EXTERN int rev_ARMultiSchemaRelOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaRelOpStruct *p ); #endif ! EXTERN int rev_ARMultiSchemaSortList( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortList *p ); ! ! EXTERN int rev_ARMultiSchemaSortStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortStruct *p ); ! #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaStatHistoryValue( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaStatHistoryValue *p ); --- 272,281 ---- EXTERN int rev_ARMultiSchemaRelOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaRelOpStruct *p ); #endif ! #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaSortList( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortList *p ); ! #endif ! #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaSortStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortStruct *p ); ! #endif #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaStatHistoryValue( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaStatHistoryValue *p ); Index: Makefile.PL =================================================================== RCS file: /cvsroot/arsperl/ARSperl/Makefile.PL,v retrieving revision 1.84 retrieving revision 1.85 diff -C2 -d -r1.84 -r1.85 *** Makefile.PL 2 Apr 2009 18:57:03 -0000 1.84 --- Makefile.PL 14 Apr 2009 16:58:24 -0000 1.85 *************** *** 58,62 **** $ARSVERSION = 7.5; ! # STEP 3 -> Choose whether or not to enable encryption # # 0 -> No encryption library linking --- 58,73 ---- $ARSVERSION = 7.5; ! ! # STEP 3 -> Choose architecture dependent suffix for library names, if necessary ! $ARCHITECTURE = ""; ! # $ARCHITECTURE = "hpia32": # HPUX Itanium 32-bit ! # $ARCHITECTURE = "hpia64": # HPUX Itanium 64-bit ! # $ARCHITECTURE = "hppa64": # HPUX PA-RISC 64-bit ! # $ARCHITECTURE = "lx64": # Linux 64-bit ! # $ARCHITECTURE = "aixp64": # AIX 64-bit ! # $ARCHITECTURE = "solsp64": # Solaris 64-bit ! ! ! # STEP 4 -> Choose whether or not to enable encryption # # 0 -> No encryption library linking *************** *** 65,69 **** ! # STEP 4 -> Some additional compilation options # # Change this only if you have good reason to do so. --- 76,80 ---- ! # STEP 5 -> Some additional compilation options # # Change this only if you have good reason to do so. *************** *** 114,118 **** $AUTODEFINES = " -D_WIN32 " if($WINDOWS); $AUTODEFINES .= " -Wno-unused-variable -Wuninitialized " if $Config{'cc'} eq "gcc"; ! $AUTODEFINES .= " -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS " if $WINDOWS && $ENV{ARSPERLTEST_PARAM}; $AUTODEFINES .= " -DARSPERL_UNDEF_MALLOC " if $ADVANCED_CONFIG{UNDEF_PERL_MALLOC}; --- 125,129 ---- $AUTODEFINES = " -D_WIN32 " if($WINDOWS); $AUTODEFINES .= " -Wno-unused-variable -Wuninitialized " if $Config{'cc'} eq "gcc"; ! $AUTODEFINES .= " -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS " if $WINDOWS && $ENV{ARSPERLTEST_PARAM}; $AUTODEFINES .= " -DARSPERL_UNDEF_MALLOC " if $ADVANCED_CONFIG{UNDEF_PERL_MALLOC}; *************** *** 129,140 **** } if ($ARSVERSION >= 6.3) { ! $ARS_STATIC_LIB = "$ARSAPI/lib/libar.a"; ! $ARS_STATIC_LIB = "$ARSAPI/lib/libar.a $ARSAPI/libarencrypt.a" if $ENCRYPT; $ARS_LIBS = " -lnsl "; }else{ ! $ARS_LIBS = " -lar -lnsl "; ! $ARS_LIBS = " -lar -larencrypt -lnsl " if $ENCRYPT; } #$PM->{'ARS/artypes.ph'} = '$(INST_LIBDIR)/ARS/artypes.ph' if $ARSVERSION >= 6.3; --- 140,153 ---- } + $LARCH = $ARCHITECTURE ? "_".$ARCHITECTURE : ""; + if ($ARSVERSION >= 6.3) { ! $ARS_STATIC_LIB = "$ARSAPI/lib/libar$LARCH.a"; ! $ARS_STATIC_LIB = "$ARSAPI/lib/libar$LARCH.a $ARSAPI/libarencrypt$LARCH.a" if $ENCRYPT; $ARS_LIBS = " -lnsl "; }else{ ! $ARS_LIBS = " -lar$LARCH -lnsl "; ! $ARS_LIBS = " -lar$LARCH -larencrypt$LARCH -lnsl " if $ENCRYPT; } #$PM->{'ARS/artypes.ph'} = '$(INST_LIBDIR)/ARS/artypes.ph' if $ARSVERSION >= 6.3; *************** *** 145,152 **** } else { $ARS_LIBS .= " -lpthread "; ! $ARS_LIBS .= " -licuucbmc -licui18nbmc -libicudatabmc " if $ARSVERSION >= 7.0; } $AUTODEFINES .= " -DARS32 -DARS452 "; ! if ( ($ARSVERSION >= 5.0) && ($^O eq 'linux') ) { $AUTODEFINES .= " -malign-double "; } --- 158,165 ---- } else { $ARS_LIBS .= " -lpthread "; ! $ARS_LIBS .= " -licuucbmc$LARCH -licui18nbmc$LARCH -licudatabmc$LARCH " if $ARSVERSION >= 7.0; } $AUTODEFINES .= " -DARS32 -DARS452 "; ! if( ($ARSVERSION >= 5.0) && ($^O eq 'linux') && $LARCH !~ /64/ ){ $AUTODEFINES .= " -malign-double "; } *************** *** 239,246 **** } ! unlink ('ARS/_h2ph_pre.ph'); ! open (FD, "> ARS/_h2ph_pre.ph") || die "open: $!"; ! print FD "1;\n"; ! close(FD); if((! -e "ARS/${_}-h.pm") || (-z "ARS/${_}-h.pm")) { --- 252,259 ---- } ! # unlink ('ARS/_h2ph_pre.ph'); ! # open (FD, "> ARS/_h2ph_pre.ph") || die "open: $!"; ! # print FD "1;\n"; ! # close(FD); if((! -e "ARS/${_}-h.pm") || (-z "ARS/${_}-h.pm")) { *************** *** 319,323 **** 'realclean' => { ! 'FILES' => 'support.h ARS/ar-h.pm ARS/arerrno-h.pm ARS/_h2ph_pre.ph t/config.cache serverTypeInfoHints.h *~ .purify ' } ); --- 332,336 ---- 'realclean' => { ! 'FILES' => 'support.h ARS/ar-h.pm ARS/arerrno-h.pm ARS/_h2ph_pre.ph t/config.cache serverTypeInfoHints.h *~ .purify ' } ); Index: StructDef.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/StructDef.pl,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** StructDef.pl 2 Apr 2009 18:57:03 -0000 1.8 --- StructDef.pl 14 Apr 2009 16:58:24 -0000 1.9 *************** *** 2163,2166 **** --- 2163,2167 ---- ARMultiSchemaSortList => { + _min_version => '7.5.0', _num => 'p->numItems', _list => 'p->listPtr', *************** *** 2168,2171 **** --- 2169,2173 ---- }, ARMultiSchemaSortStruct => { + _min_version => '7.5.0', fieldId => { _type => 'ARMultiSchemaFieldIdStruct', |
From: Michiel B. <mb...@us...> - 2009-04-14 12:55:57
|
Update of /cvsroot/arsperl/ARSperl/example In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv18547 Modified Files: List_Entries.pl Log Message: Updated to work with version 5 and newer servers Index: List_Entries.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/example/List_Entries.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** List_Entries.pl 21 Nov 1996 20:13:54 -0000 1.1 --- List_Entries.pl 14 Apr 2009 12:55:54 -0000 1.2 *************** *** 7,18 **** # # DESCRIPTION ! # Log onto the server and printout a listing of Entry IDs and # Short Description (for each ID) for the given schema. ! # # NOTES # "Short Description" is *not* (neccessarily) the contents of the # "short-description" field. It is, in fact, the contents of the ! # "Query List Fields" for this schema. Try it on a schema that ! # you have some custom "Query List Fields" defined for to see # what we mean. # --- 7,18 ---- # # DESCRIPTION ! # Log onto the server and printout a listing of Entry IDs and # Short Description (for each ID) for the given schema. ! # # NOTES # "Short Description" is *not* (neccessarily) the contents of the # "short-description" field. It is, in fact, the contents of the ! # "Query List Fields" for this schema. Try it on a schema that ! # you have some custom "Query List Fields" defined for to see # what we mean. # *************** *** 23,26 **** --- 23,29 ---- # # $Log$ + # Revision 1.2 2009/04/14 12:55:54 mbeijen + # Updated to work with version 5 and newer servers + # # Revision 1.1 1996/11/21 20:13:54 jcmurphy # Initial revision *************** *** 29,37 **** use ARS; # Parse command line parameters ! ($server, $username, $password, $schema) = @ARGV; ! if(!defined($schema)) { print "usage: $0 [server] [username] [password] [schema]\n"; exit 1; --- 32,41 ---- use ARS; + use strict; # Parse command line parameters ! my ( $server, $username, $password, $schema ) = @ARGV; ! if ( !defined($schema) ) { print "usage: $0 [server] [username] [password] [schema]\n"; exit 1; *************** *** 40,59 **** # Log onto the ars server specified ! ($ctrl = ars_Login($server, $username, $password)) || ! die "can't login to the server"; # Load the qualifier structure with a dummy qualifier. ! ($qual = ars_LoadQualifier($ctrl,$schema,"(1 = 1)")) || ! die "error in ars_LoadQualifier"; # Retrieve all of the entry-id's for the schema. ! %entries = ars_GetListEntry($ctrl, $schema, $qual, 0); ! printf("%-15s %-60s\n", "Entry-ID", "Short Description"); ! foreach $entry_id (sort keys %entries) { ! printf("%-15s %-60s\n", $entry_id, $entries{$entry_id}); } --- 44,63 ---- # Log onto the ars server specified ! ( my $ctrl = ars_Login( $server, $username, $password ) ) ! || die "can't login to the server"; # Load the qualifier structure with a dummy qualifier. ! ( my $qual = ars_LoadQualifier( $ctrl, $schema, "(1 = 1)" ) ) ! || die "error in ars_LoadQualifier"; # Retrieve all of the entry-id's for the schema. ! my %entries = ars_GetListEntry( $ctrl, $schema, $qual, 0, 0 ); ! printf( "%-15s %-60s\n", "Entry-ID", "Short Description" ); ! foreach my $entry_id ( sort keys %entries ) { ! printf( "%-15s %-60s\n", $entry_id, $entries{$entry_id} ); } |
From: Michiel B. <mb...@us...> - 2009-04-14 12:49:10
|
Update of /cvsroot/arsperl/ARSperl In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv18176 Modified Files: MANIFEST Log Message: Made adjustments, for one; it complained about ARSOOform.pm that should be ARS/OOform.pm. Index: MANIFEST =================================================================== RCS file: /cvsroot/arsperl/ARSperl/MANIFEST,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** MANIFEST 1 Apr 2009 15:04:50 -0000 1.35 --- MANIFEST 14 Apr 2009 12:48:53 -0000 1.36 *************** *** 1,256 **** ! ARSOOform.pm ! ARS.pm ! ARS.xs ! ARS/CodeTemplate.pm ! ARS/OOmsgs.pm ! ARS/OOsup.pm ! ARS/nparm.pm ! Artistic ! CHANGES ! INSTALLATION ! LICENSE ! MANIFEST ! Makefile.PL ! README ! RELNOTES ! StructDef.pl ! TODO ! changes.dat ! rev_AR_template.pl ! support-h.template ! support.c ! supportrev.c ! supportrev.h ! supportrev_generated.c ! supportrev_generated.h ! typemap ! example/00-ReadMe ! example/AddUsersToGroup.pl ! example/DelUsersFromGroup.pl ! example/Dump_Setup.pl ! example/Dump_Users.pl ! example/Dump_Users_OO.pl ! example/GetCharMenu.pl ! example/GetField.pl ! example/GetFilter.pl ! example/GetServerStatistics.pl ! example/Get_Diary.pl ! example/List_Entries.pl ! example/PrintQual.pl ! example/Show_ALink.pl ! example/Show_Menu.pl ! example/WhoUsesIt.pl ! example/ars_CopyActiveLink.pl ! example/ars_ExecuteProcess.pl ! example/ars_GetControlStructFields.pl ! example/ars_GetEntryBLOB.pl ! example/ars_GetFullTextInfo.pl ! example/ars_GetListContainer.pl ! example/ars_GetListEntry.pl ! example/ars_GetListGroup.pl ! example/ars_GetListSQL.pl ! example/ars_GetListUser.pl ! example/ars_GetServerInfo.pl ! example/ars_MergeEntry.pl ! example/ars_QualDecode.pl ! example/ars_SetServerInfo.pl ! example/ars_decodeStatusHistory.pl ! example/attachTest.pl ! example/del_all.pl ! example/getAttachment-OO.pl ! html/manual/OO/connection.html ! html/manual/OO/form.html ! html/manual/OO/index.html ! html/manual/AR_DAY.html ! html/manual/AR_HOUR.html ! html/manual/arrow.gif ! html/manual/ars_APIVersion.html ! html/manual/ars_CreateActiveLink.html ! html/manual/ars_CreateAlertEvent.html ! html/manual/ars_CreateEntry.html ! html/manual/ars_DecodeAlertMessage.html ! html/manual/ars_DeleteActiveLink.html ! html/manual/ars_DeleteCharMenu.html ! html/manual/ars_DeleteContainer.html ! html/manual/ars_DeleteEntry.html ! html/manual/ars_DeleteEscalation.html ! html/manual/ars_DeleteField.html ! html/manual/ars_DeleteFilter.html ! html/manual/ars_DeleteMultipleFields.html ! html/manual/ars_DeleteSchema.html ! html/manual/ars_DeleteVUI.html ! html/manual/ars_DeregisterForAlerts.html ! html/manual/ars_EncodeDiary.html ! html/manual/ars_ExecuteProcess.html ! html/manual/ars_Export.html ! html/manual/ars_GetActiveLink.html ! html/manual/ars_GetAlertCount.html ! html/manual/ars_GetCharMenu.html ! html/manual/ars_GetCharMenuItems.html ! html/manual/ars_GetContainer.html ! html/manual/ars_GetControlStructFields.html ! html/manual/ars_GetCurrentServer.html ! html/manual/ars_GetEntry.html ! html/manual/ars_GetEntryBLOB.html ! html/manual/ars_GetEscalation.html ! html/manual/ars_GetField.html ! html/manual/ars_GetFieldByName.html ! html/manual/ars_GetFieldTable.html ! html/manual/ars_GetFilter.html ! html/manual/ars_GetFullTextInfo.html ! html/manual/ars_GetListActiveLink.html ! html/manual/ars_GetListAlertUser.html ! html/manual/ars_GetListCharMenu.html ! html/manual/ars_GetListContainer.html ! html/manual/ars_GetListEntry.html ! html/manual/ars_GetListEntryWithFields.html ! html/manual/ars_GetListEscalation.html ! html/manual/ars_GetListField.html ! html/manual/ars_GetListFilter.html ! html/manual/ars_GetListGroup.html ! html/manual/ars_GetListSQL.html ! html/manual/ars_GetListSchema.html ! html/manual/ars_GetListServer.html ! html/manual/ars_GetListUser.html ! html/manual/ars_GetListVUI.html ! html/manual/ars_GetMultipleEntries.html ! html/manual/ars_GetProfileInfo.html ! html/manual/ars_GetSchema.html ! html/manual/ars_GetServerInfo.html ! html/manual/ars_GetServerStatistics.html ! html/manual/ars_GetVUI.html ! html/manual/ars_Import.html ! html/manual/ars_LoadQualifier.html ! html/manual/ars_Login.html ! html/manual/ars_Logoff.html ! html/manual/ars_MergeEntry.html ! html/manual/ars_RegisterForAlerts.html ! html/manual/ars_SetEntry.html ! html/manual/ars_SetLogging.html ! html/manual/ars_SetServerInfo.html ! html/manual/ars_VerifyUser.html ! html/manual/ars_decodeStatusHistory.html ! html/manual/ars_encodeStatusHistory.html ! html/manual/ars_padEntryid.html ! html/manual/ars_perl_qualifier.html ! html/manual/ars_simpleMenu.html ! html/manual/ds_afs.html ! html/manual/ds_al.html ! html/manual/ds_alas.html ! html/manual/ds_alms.html ! html/manual/ds_aoas.html ! html/manual/ds_ars_err_hash.html ! html/manual/ds_as.html ! html/manual/ds_attach_hash.html ! html/manual/ds_bytelist_hash.html ! html/manual/ds_charmenu_file_hash.html ! html/manual/ds_charmenu_query_hash.html ! html/manual/ds_charmenu_sql_hash.html ! html/manual/ds_container.html ! html/manual/ds_container_info.html ! html/manual/ds_coord_hash.html ! html/manual/ds_diaryentry_hash.html ! html/manual/ds_disl_hash.html ! html/manual/ds_ds.html ! html/manual/ds_dsl_hash.html ! html/manual/ds_elfs.html ! html/manual/ds_enumitemstruct.html ! html/manual/ds_enumlimstruct.html ! html/manual/ds_enumquerystruct.html ! html/manual/ds_fas.html ! html/manual/ds_fc.html ! html/manual/ds_field_hash.html ! html/manual/ds_fls.html ! html/manual/ds_fncas.html ! html/manual/ds_getcharmenu_hash.html ! html/manual/ds_getescalation_hash.html ! html/manual/ds_getfilter_acthash.html ! html/manual/ds_getfilter_acthash_notifyhash.html ! html/manual/ds_getfilter_hash.html ! html/manual/ds_getfulltextinfo_hash.html ! html/manual/ds_getlistcontainer_hash.html ! html/manual/ds_getlistgroup_hash.html ! html/manual/ds_getlistsql_hash.html ! html/manual/ds_getlistuser_hash.html ! html/manual/ds_is.html ! html/manual/ds_getvui_hash.html ! html/manual/ds_mps.html ! html/manual/ds_msgstruct_hash.html ! html/manual/ds_profile_hash.html ! html/manual/ds_prop_hash.html ! html/manual/ds_reference.html ! html/manual/ds_schema.html ! html/manual/ds_schematype.html ! html/manual/ds_shv.html ! html/manual/ds_statstruct_hash.html ! html/manual/ds_verifyuser_hash.html ! html/manual/ds_vs.html ! html/manual/loading.html ! html/manual/skel.html ! html/manual/toc.html ! html/manual/variables.html ! html/manual/ars_BeginBulkEntryTransaction.html ! html/manual/ars_CreateCharMenu.html ! html/manual/ars_CreateContainer.html ! html/manual/ars_CreateEscalation.html ! html/manual/ars_CreateField.html ! html/manual/ars_CreateFilter.html ! html/manual/ars_CreateSchema.html ! html/manual/ars_CreateVUI.html ! html/manual/ars_EndBulkEntryTransaction.html ! html/manual/ars_SetActiveLink.html ! html/manual/ars_SetCharMenu.html ! html/manual/ars_SetContainer.html ! html/manual/ars_SetEscalation.html ! html/manual/ars_SetField.html ! html/manual/ars_SetFilter.html ! html/manual/ars_SetImpersonatedUser.html ! html/manual/ars_SetSchema.html ! html/manual/ars_SetSessionConfiguration.html ! html/manual/ars_SetVUI.html ! html/AddUsersToGroup.html ! html/DelUsersFromGroup.html ! html/DumpSetup.html ! html/WhoUsesIt.html ! html/arsperl-logo.gif ! html/changes.html ! html/copying.html ! html/debug.html ! html/index.html ! html/install.html ! infra/c4asp.bat ! infra/c4asp.sh ! infra/exsi.pl ! infra/h2ph ! infra/mkchanges.pl ! infra/pcpp.pl ! t/00connect.t ! t/01import.t ! t/02export.t ! t/09qualifier.t ! t/10alink.t ! t/10entry.t ! t/10getescalation.t ! t/10getftinfo.t ! t/10getlist.t ! t/11entry.t ! t/12lotsoffields.t ! t/13join.t ! t/20merge.t ! t/21setlogging.t ! t/31createschema.t ! t/32createcontainer.t ! t/33setcontainer.t ! t/34createactlink.t ! t/35setactlink.t ! t/36createfilter.t ! t/37setfilter.t ! t/38createescalation.t ! t/39setescalation.t ! t/aptest.def ! t/aptest40.def ! t/aptest45.def ! t/aptest50.def ! t/aptest51.def ! t/40createcharmenu.t ! t/41setcharmenu.t --- 1,259 ---- ! ARS/OOform.pm ! ARS.pm ! ARS.xs ! ARS/CodeTemplate.pm ! ARS/OOmsgs.pm ! ARS/OOsup.pm ! ARS/nparm.pm ! Artistic ! CHANGES ! INSTALLATION ! LICENSE ! MANIFEST ! Makefile.PL ! README ! RELNOTES ! StructDef.pl ! TODO ! changes.dat ! rev_AR_template.pl ! support-h.template ! support.c ! supportrev.c ! supportrev.h ! supportrev_generated.c ! supportrev_generated.h ! typemap ! example/00-ReadMe ! example/AddUsersToGroup.pl ! example/ars_DateToJulianDate.pl ! example/ChangePassword.pl ! example/DelUsersFromGroup.pl ! example/Dump_Setup.pl ! example/Dump_Users.pl ! example/Dump_Users_OO.pl ! example/getCharSets.pl ! example/GetCharMenu.pl ! example/GetField.pl ! example/GetFilter.pl ! example/GetServerStatistics.pl ! example/Get_Diary.pl ! example/List_Entries.pl ! example/PrintQual.pl ! example/Show_ALink.pl ! example/Show_Menu.pl ! example/WhoUsesIt.pl ! example/ars_CopyActiveLink.pl ! example/ars_ExecuteProcess.pl ! example/ars_GetControlStructFields.pl ! example/ars_GetEntryBLOB.pl ! example/ars_GetListContainer.pl ! example/ars_GetListEntry.pl ! example/ars_GetListGroup.pl ! example/ars_GetListSQL.pl ! example/ars_GetListUser.pl ! example/ars_GetServerInfo.pl ! example/ars_MergeEntry.pl ! example/ars_QualDecode.pl ! example/ars_SetServerInfo.pl ! example/ars_decodeStatusHistory.pl ! example/attachTest.pl ! example/del_all.pl ! example/getAttachment-OO.pl ! html/manual/OO/connection.html ! html/manual/OO/form.html ! html/manual/OO/index.html ! html/manual/AR_DAY.html ! html/manual/AR_HOUR.html ! html/manual/arrow.gif ! html/manual/ars_APIVersion.html ! html/manual/ars_CreateActiveLink.html ! html/manual/ars_CreateAlertEvent.html ! html/manual/ars_CreateEntry.html ! html/manual/ars_DateToJulianDate.html ! html/manual/ars_DecodeAlertMessage.html ! html/manual/ars_DeleteActiveLink.html ! html/manual/ars_DeleteCharMenu.html ! html/manual/ars_DeleteContainer.html ! html/manual/ars_DeleteEntry.html ! html/manual/ars_DeleteEscalation.html ! html/manual/ars_DeleteField.html ! html/manual/ars_DeleteFilter.html ! html/manual/ars_DeleteMultipleFields.html ! html/manual/ars_DeleteSchema.html ! html/manual/ars_DeleteVUI.html ! html/manual/ars_DeregisterForAlerts.html ! html/manual/ars_EncodeDiary.html ! html/manual/ars_ExecuteProcess.html ! html/manual/ars_Export.html ! html/manual/ars_GetActiveLink.html ! html/manual/ars_GetAlertCount.html ! html/manual/ars_GetCharMenu.html ! html/manual/ars_GetCharMenuItems.html ! html/manual/ars_GetClientCharSet.html ! html/manual/ars_GetContainer.html ! html/manual/ars_GetControlStructFields.html ! html/manual/ars_GetCurrentServer.html ! html/manual/ars_GetEntry.html ! html/manual/ars_GetEntryBLOB.html ! html/manual/ars_GetEscalation.html ! html/manual/ars_GetField.html ! html/manual/ars_GetFieldByName.html ! html/manual/ars_GetFieldTable.html ! html/manual/ars_GetFilter.html ! html/manual/ars_GetListActiveLink.html ! html/manual/ars_GetListAlertUser.html ! html/manual/ars_GetListCharMenu.html ! html/manual/ars_GetListContainer.html ! html/manual/ars_GetListEntry.html ! html/manual/ars_GetListEntryWithFields.html ! html/manual/ars_GetListEscalation.html ! html/manual/ars_GetListField.html ! html/manual/ars_GetListFilter.html ! html/manual/ars_GetListGroup.html ! html/manual/ars_GetListSQL.html ! html/manual/ars_GetListSchema.html ! html/manual/ars_GetListServer.html ! html/manual/ars_GetListUser.html ! html/manual/ars_GetListVUI.html ! html/manual/ars_GetMultipleEntries.html ! html/manual/ars_GetProfileInfo.html ! html/manual/ars_GetSchema.html ! html/manual/ars_GetServerCharSet.html ! html/manual/ars_GetServerInfo.html ! html/manual/ars_GetServerStatistics.html ! html/manual/ars_GetVUI.html ! html/manual/ars_Import.html ! html/manual/ars_LoadQualifier.html ! html/manual/ars_Login.html ! html/manual/ars_Logoff.html ! html/manual/ars_MergeEntry.html ! html/manual/ars_RegisterForAlerts.html ! html/manual/ars_SetEntry.html ! html/manual/ars_SetLogging.html ! html/manual/ars_SetServerInfo.html ! html/manual/ars_VerifyUser.html ! html/manual/ars_decodeStatusHistory.html ! html/manual/ars_encodeStatusHistory.html ! html/manual/ars_padEntryid.html ! html/manual/ars_perl_qualifier.html ! html/manual/ars_simpleMenu.html ! html/manual/ds_afs.html ! html/manual/ds_al.html ! html/manual/ds_alas.html ! html/manual/ds_alms.html ! html/manual/ds_aoas.html ! html/manual/ds_ars_err_hash.html ! html/manual/ds_as.html ! html/manual/ds_attach_hash.html ! html/manual/ds_bytelist_hash.html ! html/manual/ds_charmenu_file_hash.html ! html/manual/ds_charmenu_query_hash.html ! html/manual/ds_charmenu_sql_hash.html ! html/manual/ds_container.html ! html/manual/ds_container_info.html ! html/manual/ds_coord_hash.html ! html/manual/ds_diaryentry_hash.html ! html/manual/ds_disl_hash.html ! html/manual/ds_ds.html ! html/manual/ds_dsl_hash.html ! html/manual/ds_elfs.html ! html/manual/ds_enumitemstruct.html ! html/manual/ds_enumlimstruct.html ! html/manual/ds_enumquerystruct.html ! html/manual/ds_fas.html ! html/manual/ds_fc.html ! html/manual/ds_field_hash.html ! html/manual/ds_fls.html ! html/manual/ds_fncas.html ! html/manual/ds_getcharmenu_hash.html ! html/manual/ds_getescalation_hash.html ! html/manual/ds_getfilter_acthash.html ! html/manual/ds_getfilter_acthash_notifyhash.html ! html/manual/ds_getfilter_hash.html ! html/manual/ds_getlistcontainer_hash.html ! html/manual/ds_getlistgroup_hash.html ! html/manual/ds_getlistsql_hash.html ! html/manual/ds_getlistuser_hash.html ! html/manual/ds_is.html ! html/manual/ds_getvui_hash.html ! html/manual/ds_mps.html ! html/manual/ds_msgstruct_hash.html ! html/manual/ds_profile_hash.html ! html/manual/ds_prop_hash.html ! html/manual/ds_reference.html ! html/manual/ds_schema.html ! html/manual/ds_schematype.html ! html/manual/ds_shv.html ! html/manual/ds_statstruct_hash.html ! html/manual/ds_verifyuser_hash.html ! html/manual/ds_vs.html ! html/manual/loading.html ! html/manual/skel.html ! html/manual/toc.html ! html/manual/variables.html ! html/manual/ars_BeginBulkEntryTransaction.html ! html/manual/ars_CreateCharMenu.html ! html/manual/ars_CreateContainer.html ! html/manual/ars_CreateEscalation.html ! html/manual/ars_CreateField.html ! html/manual/ars_CreateFilter.html ! html/manual/ars_CreateSchema.html ! html/manual/ars_CreateVUI.html ! html/manual/ars_EndBulkEntryTransaction.html ! html/manual/ars_SetActiveLink.html ! html/manual/ars_SetCharMenu.html ! html/manual/ars_SetContainer.html ! html/manual/ars_SetEscalation.html ! html/manual/ars_SetField.html ! html/manual/ars_SetFilter.html ! html/manual/ars_SetImpersonatedUser.html ! html/manual/ars_SetSchema.html ! html/manual/ars_SetSessionConfiguration.html ! html/manual/ars_SetVUI.html ! html/AddUsersToGroup.html ! html/DelUsersFromGroup.html ! html/DumpSetup.html ! html/WhoUsesIt.html ! html/arsperl-logo.gif ! html/changes.html ! html/copying.html ! html/debug.html ! html/index.html ! html/install.html ! infra/c4asp.bat ! infra/c4asp.sh ! infra/exsi.pl ! infra/h2ph ! infra/mkchanges.pl ! infra/pcpp.pl ! t/00connect.t ! t/01import.t ! t/02export.t ! t/09qualifier.t ! t/10alink.t ! t/10entry.t ! t/10getescalation.t ! t/10getftinfo.t ! t/10getlist.t ! t/11entry.t ! t/12lotsoffields.t ! t/13join.t ! t/20merge.t ! t/21setlogging.t ! t/31createschema.t ! t/32createcontainer.t ! t/33setcontainer.t ! t/34createactlink.t ! t/35setactlink.t ! t/36createfilter.t ! t/37setfilter.t ! t/38createescalation.t ! t/39setescalation.t ! t/aptest.def ! t/aptest40.def ! t/aptest45.def ! t/aptest50.def ! t/aptest51.def ! t/40createcharmenu.t ! t/41setcharmenu.t |
From: Michiel B. <mb...@us...> - 2009-04-14 12:40:09
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17653 Removed Files: ars_GetFullTextInfo.html Log Message: removed FullTextInfo, deprecated. --- ars_GetFullTextInfo.html DELETED --- |
From: Michiel B. <mb...@us...> - 2009-04-14 12:37:56
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17531 Removed Files: ds_getfulltextinfo_hash.html Log Message: removed FullTextInfo, deprecated. --- ds_getfulltextinfo_hash.html DELETED --- |
From: Michiel B. <mb...@us...> - 2009-04-14 12:29:31
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17155 Modified Files: ars_GetListEntry.html ars_GetListEntryWithFields.html Log Message: Updated documentation Index: ars_GetListEntry.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_GetListEntry.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ars_GetListEntry.html 16 Apr 2003 00:59:06 -0000 1.6 --- ars_GetListEntry.html 14 Apr 2009 12:29:28 -0000 1.7 *************** *** 1,93 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual - ars_GetListEntry</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> ! ! <H2><CODE>ars_GetListEntry(ctrl, schema, qualifier, maxRetrieve=0, firstRetrieve=0,...)</CODE></H2> ! ! This function is used to retrieve the list of <CODE>entry_id</CODE>s ! and description (query list) strings from the specified schema. The entries ! are returned as an array of <I>(entry_id, query-list)</I> pairs. ! If you wish to retrieve all entries in the schema (upto the maximum ! allowed by the server or specified by you as the <CODE>maxRetrieve</CODE> ! parameter) you should load a Qualifier with something like ! <CODE>(1 = 1)</CODE>. ! <P> ! <DL> ! <DT><B>ARS3.x</B> ! <DD> ! In 3.x, the "..." in the above function can be one of two things: ! <OL> ! <LI> A Hash Reference that specifies what you want the ! query list to look like, followed by (optionally) a list ! of field ids and sorting types to indicate how you want the ! query list sorted. ! <LI> An optional list of field ids and sorting types to indicate ! how you want the schema's default query list to be sorted. ! </OL> ! <p> ! <DT><B>ARS2.x</B> ! <DD> ! In 2.x, the "..." in the above function indicates ! an optional list of field ids and sorting type. ! </DL> ! ! The sorting type can be ! 1 for ascending, or 2 for descending. Also, note that if you want to ! retain the order of the entry ids returned, then you must assign the ! list to an array, and not a hash. <P> ! ! Setting <CODE>maxRetrieve = 0</CODE> will return as many matches as ! the server will allow. This is the default. ! <P> ! <code>firstRetrieve</code> (only available when compiled against the ! 5.x API) specifies which entry to start with. The default (zero) is to ! start with the first entry that matches the qualifier. ! <P> ! ! ! <DL> ! <DT><B>On success</B> ! <DD> ! Returns a list of <I>(entry_id, short-description)</I> pairs. ! <DT><B>On failure</B> ! <DD> ! Returns <CODE>undef</CODE>. ! </DL> ! <P> ! <i>Note: prior to ARSperl 1.50 <code>ars_GetListEntry</code> returned a ! <tt>-1</tt> on a call where the query matched more than the maxRetrieve ! number of items from the database. ! </i> ! ! <P>Example: ! ! <PRE> ! %entries = ars_GetListEntry($c, "User", $q, 100); foreach $entry_id (sort keys %entries) { ! print "EntryID: $entry_id Short-Descrip: $entries{$entry_id}\n"; } ! </PRE> ! ! <P> ! Example (2.x or 3.x) of how to set sorting options: ! ! <PRE> # returns entries for User schema sorted by login name ! $all = ars_LoadQualifier($c,"User","1=1"); $login_name = ars_GetFieldByName($c,"User","Login Name"); @Entries = ars_GetListEntry($c, "User", $all, 0, 0, $login_name, 1); ! for ( $i = 0; $i <= $#Entries; $i +=2 ) { ! $entry_num = $Entries[$i]; ! $description_fields = $Entries[$i+1]; ! } ! </PRE> ! ! <P>Example (3.x only) of how to specify your own query list and sorting options: ! ! <PRE> %f = ars_GetFieldTable($ctrl, "User"); # retrieve list of matching records. query list should only --- 1,107 ---- ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ! "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ! <html xmlns="http://www.w3.org/1999/xhtml"> ! <head> ! <title> ! ARSperl Manual - ars_GetListEntry ! </title> ! <style type="text/css"> ! /*<![CDATA[*/ ! body { ! background-color: #FFFFFF; ! } ! p.c2 {font-style: italic} ! dt.c1 {font-weight: bold} ! /*]]>*/ ! </style> ! </head> ! <body> ! <h2> ! <code>ars_GetListEntry(ctrl, schema, qualifier, maxRetrieve=0, firstRetrieve=0,...)</code> ! </h2>This function is used to retrieve the list of <code>entry_id</code>s and results list ! strings from the specified schema. The entries are returned as an array of <i>(entry_id, ! resultslist)</i> pairs. If you wish to retrieve all entries in the schema (upto the maximum ! allowed by the server or specified by you as the <code>maxRetrieve</code> parameter) you should ! load a qualifier with something like <code>(1 = 1)</code>. ! <p> ! See also the <a href="ars_GetListEntryWithFields.html">ars_GetListEntryWithFields</a> which ! is similar to GetListEntry but returns selected fields as separate values and not as ! formatted strings. ! </p> ! <p> ! The "..." in the above function can be one of two things: ! </p> ! <ol> ! <li>A Hash Reference that specifies what you want the query list to look like, followed by ! (optionally) a list of field ids and sorting types to indicate how you want the query list ! sorted. ! </li> ! <li>An optional list of field ids and sorting types to indicate how you want the schemas ! default results list to be sorted. If you do not specify the fields you want to have ! returned, the function returns the fields defined as the results list for this schema, which ! can be changed on the server side. ! </li> ! </ol> ! <p></p> ! <p> ! The sorting type can be 1 for ascending, or 2 for descending. Also, note that if you want to ! retain the order of the entry ids returned, then you must assign the list to an array, and ! not a hash. ! </p> ! <p> ! Setting <code>maxRetrieve = 0</code> will return as many matches as the server will allow. ! This is the default. ! </p> ! <p> ! <code>firstRetrieve</code> specifies which entry to start with. The default (zero) is to ! start with the first entry that matches the qualifier. ! </p> ! <p></p> ! <dl> ! <dt class="c1"> ! On success ! </dt> ! <dd> ! Returns a list of <i>(entry_id, resultslist)</i> pairs. ! </dd> ! <dt class="c1"> ! On failure ! </dt> ! <dd> ! Returns <code>undef</code>. ! </dd> ! </dl> ! <h2> ! Examples: ! </h2> ! <h3> ! Simple usage: ! </h3> ! <pre> ! %entries = ars_GetListEntry($c, "User", $q, 100, 0); foreach $entry_id (sort keys %entries) { ! print "EntryID: $entry_id ResultsList: $entries{$entry_id}\n"; } ! </pre> ! <h3> ! Example of how to set sorting options: ! </h3> ! <pre> # returns entries for User schema sorted by login name ! $all = ars_LoadQualifier($c,"User","1=1"); $login_name = ars_GetFieldByName($c,"User","Login Name"); @Entries = ars_GetListEntry($c, "User", $all, 0, 0, $login_name, 1); ! ! for ( $i = 0; $i <= $#Entries; $i +=2 ) { $entry_num = $Entries[$i]; ! $resultslist_fields = $Entries[$i+1]; ! print "$entry_num\t$resultslist_fields\n"; } ! ! </pre> ! <h3> ! Example of how to specify your own query list and sorting options: ! </h3> ! <pre> %f = ars_GetFieldTable($ctrl, "User"); # retrieve list of matching records. query list should only *************** *** 97,118 **** # getListFields [ ! {columnWidth=>5, separator=>' ', fieldId=>$f{'Login name'} }, {columnWidth=>5, separator=>' ', fieldId=>$f{'Full Name'} } ], # sort Order ! $f{'Login name'}, 1); ! </PRE> ! <P> ! <hr width="30%"> ! <p> ! ! <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> ! ! <p> ! ! <address> ! Last changes to this page 15 Apr 2003 by jcmurphy<P> ! © J.C.Murphy, J.W.Murphy 1998 ar...@ar... ! </address> ! </BODY> ! </HTML> --- 111,131 ---- # getListFields [ ! {columnWidth=>5, separator=>' ', fieldId=>$f{'Login Name'} }, {columnWidth=>5, separator=>' ', fieldId=>$f{'Full Name'} } ], # sort Order ! $f{'Login Name'}, 1); ! ! </pre> ! <p> ! <a href="toc.html">Back to Table of Contents</a> ! </p> ! <p></p> ! <address> ! Last changes to this page 14 Apr 2009 by mic...@gm... ! <p> ! © J.C.Murphy, J.W.Murphy 1998 ar...@ar... ! </p> ! </address> ! </body> ! </html> Index: ars_GetListEntryWithFields.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_GetListEntryWithFields.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ars_GetListEntryWithFields.html 16 Apr 2003 19:07:39 -0000 1.3 --- ars_GetListEntryWithFields.html 14 Apr 2009 12:29:28 -0000 1.4 *************** *** 1,97 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual - ars_GetListEntryWithFields</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> ! ! <PRE> ! <H2><CODE>ars_GetListEntryWithFields( ! ctrl, schema, qualifier, maxRetrieve=0, firstRetrieve=0, # standard ! [ fieldID_list ], # OPTIONAL ! sortID1,sortdir1,sortID2,sortdir2,...) # OPTIONAL</CODE></H2> ! </PRE> ! ! This function is used to query a specified schema and return actual ! field values - not formatted strings as per <CODE>ars_GetListEntry</CODE> - from ! all matching entries.<p> ! ! <CODE>[ fieldID_list ]</CODE> is an optional array reference; the list is ! a list of FieldIDs. Because only the actual fieldIDs need to be passed, ! this is a list of scalar values, not a list of hash references a la ! <CODE>ars_GetListEntry</CODE>. If not specified, the default result list ! fields for the schema are returned.<p> ! ! The other arguments are identical in function to <CODE><a href="ars_GetListEntry.html">ars_GetListEntry</a></CODE>. ! <p> ! ! The format of the returned list/hash is <I>(entry_id, {field_value_hash})</I> ! pairs. The returned list can be stored in an array or hash. Using an array ! preserves the sort order, if one was specified. Each referenced ! field_value_hash looks like the return of a single <CODE>ars_GetEntry</CODE> ! call: the hash keys are the fieldIDs and the hash values are the field values. ! <P> ! ! <DL> ! <DT><B>On success</B> ! <DD> ! Returns a list of <I>(entry_id, {field_value_hash})</I> pairs. ! <DT><B>On failure</B> ! <DD> ! Returns <CODE>undef</CODE>. ! </DL> ! <P> ! ! <P>Example: ! ! <PRE> ! # ! # Read Status and History of all open entries ! # return most recent entries first ! # ! ! $qs = qq/'Status' = "Open"/; ! ( $lq = ars_LoadQualifier( $ctrl, $schema, $qs ) ) ! || die( "LoadQualifier Failed: $ars_errstr" ); ! ! ( @Entries = ars_GetListEntryWithFields( ! $ctrl, $schema, $lq, 0, ! [ FieldID("Status"), FieldID("History") ], ! FieldID("EntryID"), 2 ! ) ) ! || die( "GLEWF Failed: $ars_errstr" ); ! </PRE> ! Returned list, sorted in descending order by EntryID: ! ! <PRE> ! @Entries = ( "0000000139", { 7 => 1, ! 10 => { decoded_history_hash } }, ! "0000000047", { 7 => 1, ! 10 => { another_diary } } ! ) ! </PRE> ! ! <P> ! <b>Notes:</b> This is a high-performance command that returns a lot of data with one ! API call. Care should be taken to delete the returned data structure ! (e.g., with "<CODE>undef %Entries</CODE>") when it is no longer needed, ! to avoid memory problems.<p> ! ! <CODE>ars_GetListEntryWithFields</CODE> can only be used with API version 4.0 ! or later.<p> ! ! See Also: <a HREF="ars_GetListEntry.html">ars_GetListEntry</a>, <a HREF="ars_GetMultipleEntries.html">ars_GetMultipleEntries</a> ! ! ! <hr width="30%"> ! <p> ! ! <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> ! ! <p> ! <address> ! Last changes to this page 3 October 2002 by G. David Frye<P> ! © J.C.Murphy, J.W.Murphy 1998 ar...@ar... ! </address> ! </BODY> ! </HTML> --- 1,109 ---- ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ! "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ! <html xmlns="http://www.w3.org/1999/xhtml"> ! <head> ! <title> ! ARSperl Manual - ars_GetListEntryWithFields ! </title> ! <style type="text/css"> ! /*<![CDATA[*/ ! body { ! background-color: #FFFFFF; ! } ! dt.c1 {font-weight: bold} ! /*]]>*/ ! </style> ! </head> ! <body> ! <h2> ! <code>ars_GetListEntryWithFields( ctrl, schema, qualifier, maxRetrieve=0, firstRetrieve=0, # ! standard [ fieldID_list ], # OPTIONAL sortID1,sortdir1,sortID2,sortdir2,...) # ! OPTIONAL</code> ! </h2> ! <pre> ! </pre>This function is used to query a specified schema and return actual field values - not ! formatted strings as per <code>ars_GetListEntry</code> - from all matching entries. ! <p> ! <code>[ fieldID_list ]</code> is an optional array reference; the list is a list of FieldIDs. ! Because only the actual fieldIDs need to be passed, this is a list of scalar values, not a ! list of hash references a la <code>ars_GetListEntry</code>. If not specified, the default ! result list fields for the schema are returned. ! </p> ! <p> ! The other arguments are identical in function to <code><a href= ! "ars_GetListEntry.html">ars_GetListEntry</a></code>. ! </p> ! <p> ! The format of the returned list/hash is <i>(entry_id, {field_value_hash})</i> pairs. The ! returned list can be stored in an array or hash. Using an array preserves the sort order, if ! one was specified. Each referenced field_value_hash looks like the return of a single ! <code>ars_GetEntry</code> call: the hash keys are the fieldIDs and the hash values are the ! field values. ! </p> ! <p></p> ! <dl> ! <dt class="c1"> ! On success ! </dt> ! <dd> ! Returns a list of <i>(entry_id, {field_value_hash})</i> pairs. ! </dd> ! <dt class="c1"> ! On failure ! </dt> ! <dd> ! Returns <code>undef</code>. ! </dd> ! </dl> ! <p></p> ! <p> ! Example: ! </p> ! <pre> ! # Read all Completed entries from Sample:Enrollments ! # fetch Class Title, Location and Enrollee Login ! ! my $schema = "Sample:Enrollments"; ! my $querystring = qq/'7' = "Completed"/; ! ( my $lq = ars_LoadQualifier( $ctrl, $schema, $qs ) ) ! || die("LoadQualifier Failed: $ars_errstr"); ! ! my %fieldname_to_id = ars_GetFieldTable( $ctrl, $schema ); ! my $class_title = $fieldname_to_id{'Class Title'}; ! my $class_location = $fieldname_to_id{'Class Location'}; ! my $enrollee_login = $fieldname_to_id{'Enrollee Login'}; ! ! ( ! my %entries = ars_GetListEntryWithFields( ! $ctrl, $schema, $lq, 0, 0, ! [ $class_title, $class_location, $enrollee_login ], ! ) ! ) || die("GLEWF Failed: $ars_errstr"); ! ! foreach my $entry_id (keys %entries) { ! print ! "$entry_id\t $entries{$entry_id}{$class_title}\t $entries{$entry_id}{$class_location}\t $entries{$entry_id}{$enrollee_login}\n"; ! } ! </pre> ! <p> ! <b>Notes:</b> This is a high-performance command that returns a lot of data with one API ! call. Care should be taken to delete the returned data structure (e.g., with "<code>undef ! %entries</code>") when it is no longer needed, to avoid memory problems. ! </p> ! <p> ! See Also: <a href="ars_GetListEntry.html">ars_GetListEntry</a>, <a href= ! "ars_GetMultipleEntries.html">ars_GetMultipleEntries</a> ! </p> ! <p> ! <a href="toc.html">Back to Table of Contents</a> ! </p> ! <p></p> ! <address> ! Last changes to this page 14 April 2009 by mic...@gm... ! <p> ! © J.C.Murphy, J.W.Murphy 1998 ar...@ar... ! </p> ! </address> ! </body> ! </html> |
From: Michiel B. <mb...@us...> - 2009-04-14 12:28:22
|
Update of /cvsroot/arsperl/ARSperl/example In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17083 Modified Files: ars_GetListEntry.pl Log Message: Updated to work with v5 and higher API Index: ars_GetListEntry.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/example/ars_GetListEntry.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ars_GetListEntry.pl 1 Jun 2000 13:45:20 -0000 1.2 --- ars_GetListEntry.pl 14 Apr 2009 12:28:07 -0000 1.3 *************** *** 14,17 **** --- 14,20 ---- # # $Log$ + # Revision 1.3 2009/04/14 12:28:07 mbeijen + # Updated to work with v5 and higher API + # # Revision 1.2 2000/06/01 13:45:20 jcmurphy # *** empty log message *** *************** *** 22,49 **** # # - use ARS; ! ($server, $username, $password) = (shift, shift, shift); ! ! if($password eq "") { ! print "Usage: $0 [server] [username] [password]\n"; ! exit 0; ! } ! $schema = "User"; ! $login_name = "Login name"; ! $lic_type = "License Type"; ! ($ctrl = ars_Login($server, $username, $password)) || ! die "ars_Login failed: $ars_errstr"; ! (%fids = ars_GetFieldTable($ctrl, $schema)) || ! die "ars_GetFieldTable: $ars_errstr"; ! $login_name = "Login Name" if(!defined($fids{$login_name})); ! ($qual = ars_LoadQualifier($ctrl, $schema, "(1 = 1)")) || ! die "ars_LoadQualifier: $ars_errstr"; # basic format: allow the server to provide sorting order --- 25,51 ---- # # use ARS; + use strict; ! die "usage: $0 server username password \n" ! unless ( $#ARGV >= 2 ); ! my ( $server, $user, $password ) = ( shift, shift, shift ); ! #Logging in to the server ! ( my $ctrl = ars_Login( $server, $user, $password ) ) ! || die "ars_Login: $ars_errstr"; ! # Define form and fields - these may have different names on your server ! my $schema = "User"; ! my $login_name = "Login Name"; ! my $lic_type = "License Type"; ! my $full_name = "Full Name"; ! ( my %fids = ars_GetFieldTable( $ctrl, $schema ) ) ! || die "ars_GetFieldTable: $ars_errstr"; ! ( my $qual = ars_LoadQualifier( $ctrl, $schema, "(1 = 1)" ) ) ! || die "ars_LoadQualifier: $ars_errstr"; # basic format: allow the server to provide sorting order *************** *** 52,73 **** print "Testing: basic format.\n"; ! (@entries = ars_GetListEntry($ctrl, $schema, $qual, 0)) || ! die "ars_GetListEntry: $ars_errstr"; ! for ($i = 0; $i < $#entries ; $i+=2) { ! printf("%s %s\n", $entries[$i], $entries[$i+1]); } ! # another format: specify a sorting order. # sort by license type, ascending. print "Testing: basic + sorting format.\n"; ! (@entries = ars_GetListEntry($ctrl, $schema, $qual, 0, ! $fids{$lic_type}, 1)) || ! die "ars_GetListEntry: $ars_errstr"; ! for ($i = 0; $i < $#entries ; $i+=2) { ! printf("%s %s\n", $entries[$i], $entries[$i+1]); } --- 54,76 ---- print "Testing: basic format.\n"; ! ( my @entries = ars_GetListEntry( $ctrl, $schema, $qual, 0, 0 ) ) ! || die "ars_GetListEntry: $ars_errstr"; ! for ( my $i = 0 ; $i < $#entries ; $i += 2 ) { ! printf( "%s %s\n", $entries[$i], $entries[ $i + 1 ] ); } ! # another format: specify a sorting order. # sort by license type, ascending. print "Testing: basic + sorting format.\n"; ! ( my @sorted_entries = ! ars_GetListEntry( $ctrl, $schema, $qual, 0, 0, $fids{$login_name}, 1 ) ) ! || # sort on Login Name, ascending ! die "ars_GetListEntry: $ars_errstr"; ! for ( my $i = 0 ; $i < $#sorted_entries ; $i += 2 ) { ! printf( "%s %s\n", $sorted_entries[$i], $sorted_entries[ $i + 1 ] ); } *************** *** 76,92 **** print "Testing: basic + sorting + custom field-list format.\n"; ! if(!defined($fids{$login_name}) || !defined($fids{$lic_type})) { ! print "Sorry. Either i can't find the field-id for \"$login_name\" or \"$lic_type\"\n on your \"$schema\" form. I'm skipping this test.\n"; ! } else { ! (@entries = ars_GetListEntry($ctrl, $schema, $qual, 0, ! [ {columnWidth => 15, separator => ' ', fieldId => $fids{$login_name} }, ! {columnWidth => 10, separator => ' ', fieldId => $fids{$lic_type} } ! ], ! $fids{$login_name}, 1)) || ! die "ars_GetListEntry: $ars_errstr"; ! for ($i = 0; $i < $#entries ; $i+=2) { ! printf("%s %s\n", $entries[$i], $entries[$i+1]); ! } } --- 79,112 ---- print "Testing: basic + sorting + custom field-list format.\n"; ! if ( !defined( $fids{$login_name} ) || !defined( $fids{$full_name} ) ) { ! print ! "Sorry. Either i can't find the field-id for \"$login_name\" or \"$full_name\"\n on your \"$schema\" form. I'm skipping this test.\n"; ! } ! else { ! ( ! my @basic_sorted_entries = ars_GetListEntry( ! $ctrl, $schema, $qual, 0, 0, ! [ ! { ! columnWidth => 10, ! separator => ' ', ! fieldId => $fids{$login_name} ! }, # first field: login name ! { ! columnWidth => 15, ! separator => ' ', ! fieldId => $fids{$full_name} ! }, # second field: full name ! ], ! $fids{$full_name}, ! 2 ! ) ! ) || die "ars_GetListEntry: $ars_errstr"; ! for ( my $i = 0 ; $i < $#basic_sorted_entries ; $i += 2 ) { ! printf( "%s %s\n", ! $basic_sorted_entries[$i], ! $basic_sorted_entries[ $i + 1 ] ); ! } } |
Update of /cvsroot/arsperl/ARSperl In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv23244 Modified Files: ARS.xs Makefile.PL StructDef.pl rev_AR_template.pl supportrev.c supportrev.h supportrev_generated.c supportrev_generated.h Log Message: ars_GetListEntryWithMultiSchemaFields completed Index: rev_AR_template.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/rev_AR_template.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** rev_AR_template.pl 15 May 2008 18:30:02 -0000 1.5 --- rev_AR_template.pl 2 Apr 2009 18:57:03 -0000 1.6 *************** *** 351,355 **** strncpy( k, "<@ $key2 @>", 255 ); val = hv_fetch( h, "<@ $key2 @>", <@ length($key2) @>, 0 ); ! if( val && *val ){ @> perlToStruct( $obj->{$key}, $class, "$LINE_INDENT\t\t\t" ); }else{ --- 351,355 ---- strncpy( k, "<@ $key2 @>", 255 ); val = hv_fetch( h, "<@ $key2 @>", <@ length($key2) @>, 0 ); ! if( val && *val && SvOK(*val) ){ @> perlToStruct( $obj->{$key}, $class, "$LINE_INDENT\t\t\t" ); }else{ Index: ARS.xs =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARS.xs,v retrieving revision 1.124 retrieving revision 1.125 diff -C2 -d -r1.124 -r1.125 *** ARS.xs 1 Apr 2009 15:04:50 -0000 1.124 --- ARS.xs 2 Apr 2009 18:57:02 -0000 1.125 *************** *** 7054,7058 **** void ! ars_GetListEntryWithMultiSchemaFields(ctrl,schema,qualifier,maxRetrieve=0,firstRetrieve=0,...) ARControlStruct * ctrl SV * schema --- 7054,7058 ---- void ! ars_GetListEntryWithMultiSchemaFields(ctrl,schema,qualifier=NULL,maxRetrieve=0,firstRetrieve=0,fields=NULL,...) ARControlStruct * ctrl SV * schema *************** *** 7060,7153 **** unsigned int firstRetrieve unsigned int maxRetrieve PPCODE: { ! ARStatusList status; #if AR_CURRENT_API_VERSION >= 14 ! unsigned int c = (items - 5) / 2, i; ! int field_off = 5; ! ARMultiSchemaQueryFromList queryFromList; ! ARMultiSchemaQualifierStruct qualifierStruct; ! ARMultiSchemaFieldIdList getListFields; ! ARMultiSchemaSortList sortList; ! ARMultiSchemaFieldValueListList entryFieldValueList; ! int ret = 0, rv = 0; ! AV *getListFields_array; ! HV *hDummy; ! printf( "\n\n!!!! ars_GetListEntryWithMultiSchemaFields(): experimental implementation, not really working yet !!!!\n\n" ); ! (void) ARError_reset(); ! Zero(&queryFromList, 1, ARMultiSchemaQueryFromList); ! Zero(&qualifierStruct, 1, ARMultiSchemaQualifierStruct); ! Zero(&getListFields, 1, ARMultiSchemaFieldIdList); ! Zero(&sortList, 1, ARMultiSchemaSortList); ! Zero(&entryFieldValueList, 1, ARMultiSchemaFieldValueListList); ! Zero(&status, 1, ARStatusList); ! hDummy = newHV(); ! hv_store( hDummy, "queryFromList", 13, newSVsv(schema), 0 ); ! hv_store( hDummy, "qualifierStruct", 15, newSVsv(qualifier), 0 ); ! rv += rev_ARMultiSchemaQueryFromList( ctrl, hDummy, "queryFromList", &queryFromList ); ! rv += rev_ARMultiSchemaQualifierStruct( ctrl, hDummy, "qualifierStruct", &qualifierStruct ); ! hv_undef( hDummy ); ! /* sortList.sortList = NULL; ! getListFields.fieldsList = NULL; ! entryFieldValueList.entryList = NULL; */ ! #ifdef XXX_DUMMY_FIELDLIST ! if( (items - 5) % 2 ){ ! /* odd number of arguments, so argument after maxRetrieve is ! optional getListFields (an array of hash refs) */ ! if ( SvROK(ST(field_off)) && ! (getListFields_array = (AV *)SvRV(ST(field_off))) && ! (SvTYPE(getListFields_array) == SVt_PVAV) ) { ! getList = &getListFields; ! getListFields.numItems = av_len(getListFields_array) + 1; ! DBG( ("getListFields.numItems=%d\n", getListFields.numItems) ); ! /* Newz(777,getListFields.fieldsList, getListFields.numItems,AREntryListFieldStruct); */ ! getListFields.fieldsList = MALLOCNN( sizeof(AREntryListFieldStruct) * getListFields.numItems ); ! /* set query field list */ ! for( i = 0; i<getListFields.numItems; i++ ){ ! SV **array_entry; ! /* get fieldID from array */ ! if( ! (array_entry = av_fetch(getListFields_array, i, 0)) ){ ! (void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_LFLDS); ! goto getlistentry_end; ! } ! getListFields.fieldsList[i].fieldId = SvIV(*array_entry); ! getListFields.fieldsList[i].columnWidth = 1; ! strncpy(getListFields.fieldsList[i].separator, " ", 2 ); ! DBG( ("i=%d, fieldId=%d, columnWidth=%d, separator=\"%s\"\n", i, ! getListFields.fieldsList[i].fieldId, ! getListFields.fieldsList[i].columnWidth, ! getListFields.fieldsList[i].separator) ); ! } ! }else{ ! (void) ARError_add( AR_RETURN_ERROR, AP_ERR_LFLDS_TYPE); ! goto getlistentry_end; ! } ! /* increase the offset of the first sortList field by one */ ! field_off ++; ! } ! #endif ! #ifdef XXX_DUMMY_SORTLIST ! /* build sortList */ ! sortList.numItems = c; ! /* Newz(777,sortList.sortList, c, ARSortStruct); */ ! sortList.sortList = MALLOCNN( sizeof(ARSortStruct) * c ); ! for (i=0; i<c; i++) { ! sortList.sortList[i].fieldId = SvIV(ST(i*2+field_off)); ! sortList.sortList[i].sortOrder = SvIV(ST(i*2+field_off+1)); ! } ! #endif ! if( rv != 0 ){ ARError_add( AR_RETURN_ERROR, AP_ERR_PREREVFAIL ); ! goto getlistentry_multischema_end; ! } ! ret = ARGetListEntryWithMultiSchemaFields( ctrl, &queryFromList, &getListFields, --- 7060,7139 ---- unsigned int firstRetrieve unsigned int maxRetrieve + SV * fields PPCODE: { ! ARStatusList status; #if AR_CURRENT_API_VERSION >= 14 ! ARMultiSchemaQueryFromList queryFromList; ! ARMultiSchemaQualifierStruct qualifierStruct; ! ARMultiSchemaFieldIdList getListFields; ! ARMultiSchemaSortList sortList; ! ARMultiSchemaFieldValueListList entryFieldValueList; ! unsigned int i; ! int i2, field_off = 6; ! int ret = 0, rv = 0; ! HV *hDummy; ! /* printf( "\n\n!!!! ars_GetListEntryWithMultiSchemaFields(): experimental implementation, not really working yet !!!!\n\n" ); */ ! (void) ARError_reset(); ! Zero( &queryFromList, 1, ARMultiSchemaQueryFromList ); ! Zero( &qualifierStruct, 1, ARMultiSchemaQualifierStruct ); ! Zero( &getListFields, 1, ARMultiSchemaFieldIdList ); ! Zero( &sortList, 1, ARMultiSchemaSortList ); ! Zero( &entryFieldValueList, 1, ARMultiSchemaFieldValueListList ); ! Zero( &status, 1, ARStatusList ); ! hDummy = newHV(); ! if( !( SvROK(schema) && SvTYPE(SvRV(schema)) == SVt_PVAV ) ){ ! (void) ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "QueryFromList must be an ARRAY reference" ); ! goto getlistentry_multischema_end; ! } ! hv_store( hDummy, "queryFromList", 13, newSVsv(schema), 0 ); ! rv += rev_ARMultiSchemaQueryFromList( ctrl, hDummy, "queryFromList", &queryFromList ); + if( qualifier && SvOK(qualifier) ){ + if( !( SvROK(qualifier) && SvTYPE(SvRV(qualifier)) == SVt_PVHV ) ){ + (void) ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "Qualifier must be a HASH reference" ); + goto getlistentry_multischema_end; + } + hv_store( hDummy, "qualifierStruct", 15, newSVsv(qualifier), 0 ); + rv += rev_ARMultiSchemaQualifierStruct( ctrl, hDummy, "qualifierStruct", &qualifierStruct ); + } ! if( fields && SvOK(fields) ){ ! if( !( SvROK(fields) && SvTYPE(SvRV(fields)) == SVt_PVAV ) ){ ! (void) ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "GetListFields must be an ARRAY reference" ); ! goto getlistentry_multischema_end; ! } ! hv_store( hDummy, "getListFields", 13, newSVsv(fields), 0 ); ! rv += rev_ARMultiSchemaFieldIdList( ctrl, hDummy, "getListFields", &getListFields ); ! } ! if( items > field_off ){ ! int arg, c = (items - field_off) / 2; ! if( (items - field_off) % 2 ){ ! (void) ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "Odd number of SortList arguments" ); ! goto getlistentry_multischema_end; ! } ! ! sortList.numItems = c; ! sortList.listPtr = MALLOCNN( sizeof(ARMultiSchemaSortStruct) * c ); ! for( i2 = 0; i2 < c; ++i2 ){ ! arg = field_off + i2 * 2; ! hv_store( hDummy, "_", 1, newSVsv(ST(arg)), 0 ); ! rv += rev_ARMultiSchemaFieldIdStruct( ctrl, hDummy, "_", &(sortList.listPtr[i2].fieldId) ); ! sortList.listPtr[i2].sortOrder = SvUV(ST(arg+1)); ! } ! } ! ! ! if( rv != 0 ){ ARError_add( AR_RETURN_ERROR, AP_ERR_PREREVFAIL ); ! goto getlistentry_multischema_end; ! } ! ret = ARGetListEntryWithMultiSchemaFields( ctrl, &queryFromList, &getListFields, *************** *** 7156,7193 **** firstRetrieve, maxRetrieve, ! FALSE, &entryFieldValueList, NULL, &status ); #ifdef PROFILE ! ((ars_ctrl *)ctrl)->queries++; #endif ! if( ARError( ret, status) ){ ! goto getlistentry_multischema_end; ! } ! for( i = 0; i < entryFieldValueList.numItems; ++i ){ ! HV * fieldValue_hash = newHV(); ! unsigned int field; ! char keyStr[AR_MAX_NAME_SIZE + 12 + 1]; ! for( field = 0; field < entryFieldValueList.listPtr[i].numItems; ++field ){ ! ARMultiSchemaFieldValueStruct *valPtr = &(entryFieldValueList.listPtr[i].listPtr[field]); ! sprintf( keyStr, "%s|%ld", valPtr->fieldId.queryFromAlias, valPtr->fieldId.fieldId ); ! hv_store( fieldValue_hash, ! keyStr, strlen(keyStr), ! perl_ARValueStruct( ctrl, &(valPtr->value) ), ! 0 ); ! } ! XPUSHs( sv_2mortal( newRV_noinc((SV *)fieldValue_hash) ) ); ! } ! getlistentry_multischema_end: ! FreeARMultiSchemaFieldIdList( &getListFields, FALSE ); ! FreeARMultiSchemaSortList( &sortList, FALSE ); ! FreeARMultiSchemaFieldValueListList( &entryFieldValueList, FALSE ); #else /* prior to ARS 7.5 */ ! (void) ARError_reset(); ! Zero(&status, 1, ARStatusList); ! (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, ! "ars_GetListEntryWithMultiSchemaFields() is only available in ARS >= 7.5"); #endif } --- 7142,7181 ---- firstRetrieve, maxRetrieve, ! FALSE, &entryFieldValueList, NULL, &status ); #ifdef PROFILE ! ((ars_ctrl *)ctrl)->queries++; #endif ! if( ARError( ret, status) ){ ! goto getlistentry_multischema_end; ! } ! ! for( i = 0; i < entryFieldValueList.numItems; ++i ){ ! HV * fieldValue_hash = newHV(); ! unsigned int field; ! char keyStr[AR_MAX_NAME_SIZE + 1 + 12 + 1]; ! for( field = 0; field < entryFieldValueList.listPtr[i].numItems; ++field ){ ! ARMultiSchemaFieldValueStruct *valPtr = &(entryFieldValueList.listPtr[i].listPtr[field]); ! sprintf( keyStr, "%s.%ld", valPtr->fieldId.queryFromAlias, valPtr->fieldId.fieldId ); ! hv_store( fieldValue_hash, ! keyStr, strlen(keyStr), ! perl_ARValueStruct(ctrl, &(valPtr->value)), ! 0 ); ! } ! XPUSHs( sv_2mortal( newRV_noinc((SV *)fieldValue_hash) ) ); ! } ! getlistentry_multischema_end: ! hv_undef( hDummy ); ! FreeARMultiSchemaFieldIdList( &getListFields, FALSE ); ! FreeARMultiSchemaSortList( &sortList, FALSE ); ! FreeARMultiSchemaFieldValueListList( &entryFieldValueList, FALSE ); #else /* prior to ARS 7.5 */ ! (void) ARError_reset(); ! Zero(&status, 1, ARStatusList); ! (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, ! "ars_GetListEntryWithMultiSchemaFields() is only available in ARS >= 7.5"); #endif } Index: Makefile.PL =================================================================== RCS file: /cvsroot/arsperl/ARSperl/Makefile.PL,v retrieving revision 1.83 retrieving revision 1.84 diff -C2 -d -r1.83 -r1.84 *** Makefile.PL 1 Apr 2009 15:04:50 -0000 1.83 --- Makefile.PL 2 Apr 2009 18:57:03 -0000 1.84 *************** *** 56,60 **** # 4.52) # ! $ARSVERSION = 7.1; # STEP 3 -> Choose whether or not to enable encryption --- 56,60 ---- # 4.52) # ! $ARSVERSION = 7.5; # STEP 3 -> Choose whether or not to enable encryption Index: StructDef.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/StructDef.pl,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** StructDef.pl 1 Apr 2009 15:04:50 -0000 1.7 --- StructDef.pl 2 Apr 2009 18:57:03 -0000 1.8 *************** *** 1895,1900 **** }, joinQual => { ! _type => 'ARMultiSchemaQualifierStruct*', ! _data => 'p->joinQual', }, _switch => 'p->type', --- 1895,1901 ---- }, joinQual => { ! _type => 'ARMultiSchemaQualifierStruct*', ! _data => 'p->joinQual', ! _default => 'NULL', }, _switch => 'p->type', *************** *** 2094,2097 **** --- 2095,2113 ---- }, + #ARMultiSchemaArithOpStruct => { + # _min_version => '7.5.0', + # operation => { + # _type => 'unsigned int', + # _data => 'p->operation', + # }, + # operandLeft => { + # _type => 'ARMultiSchemaFieldValueOrArithStruct', + # _data => 'p->operandLeft', + # }, + # operandRight => { + # _type => 'ARMultiSchemaFieldValueOrArithStruct', + # _data => 'p->operandRight', + # }, + #}, ARMultiSchemaCurrencyPartStruct => { _min_version => '7.5.0', *************** *** 2109,2138 **** }, }, - ARMultiSchemaFieldIdStruct => { - _min_version => '7.5.0', - queryFromAlias => { - _type => 'ARNameType', - _data => 'p->queryFromAlias', - }, - fieldId => { - _type => 'ARInternalId', - _data => 'p->fieldId', - }, - }, - ARMultiSchemaArithOpStruct => { - _min_version => '7.5.0', - operation => { - _type => 'unsigned int', - _data => 'p->operation', - }, - operandLeft => { - _type => 'ARMultiSchemaFieldValueOrArithStruct', - _data => 'p->operandLeft', - }, - operandRight => { - _type => 'ARMultiSchemaFieldValueOrArithStruct', - _data => 'p->operandRight', - }, - }, ARMultiSchemaValueSetQueryStruct => { _min_version => '7.5.0', --- 2125,2128 ---- *************** *** 2172,2175 **** --- 2162,2194 ---- }, + ARMultiSchemaSortList => { + _num => 'p->numItems', + _list => 'p->listPtr', + _type => 'ARMultiSchemaSortStruct', + }, + ARMultiSchemaSortStruct => { + fieldId => { + _type => 'ARMultiSchemaFieldIdStruct', + _data => 'p->fieldId', + }, + sortOrder => { + _type => 'unsigned int', + _data => 'p->sortOrder', + }, + }, + + + #ARMultiSchemaFieldIdStruct => { + # _min_version => '7.5.0', + # queryFromAlias => { + # _type => 'ARNameType', + # _data => 'p->queryFromAlias', + # }, + # fieldId => { + # _type => 'ARInternalId', + # _data => 'p->fieldId', + # }, + #}, + Index: supportrev_generated.c =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev_generated.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** supportrev_generated.c 1 Apr 2009 15:04:50 -0000 1.8 --- supportrev_generated.c 2 Apr 2009 18:57:04 -0000 1.9 *************** *** 49,53 **** strncpy( k, "sampleSchema", 255 ); val = hv_fetch( h, "sampleSchema", 12, 0 ); ! if( val && *val ){ { strncpy( p->sampleSchema, SvPV_nolen(*val), sizeof(p->sampleSchema) ); --- 49,53 ---- strncpy( k, "sampleSchema", 255 ); val = hv_fetch( h, "sampleSchema", 12, 0 ); ! if( val && *val && SvOK(*val) ){ { [...4421 lines suppressed...] rev_ARStatusList( ctrl, h, k, &(p->status) ); --- 13561,13565 ---- strncpy( k, "status", 255 ); val = hv_fetch( h, "status", 6, 0 ); ! if( val && *val && SvOK(*val) ){ { rev_ARStatusList( ctrl, h, k, &(p->status) ); *************** *** 13600,13604 **** strncpy( k, "outputDoc", 255 ); val = hv_fetch( h, "outputDoc", 9, 0 ); ! if( val && *val ){ { p->outputDoc = strdup( SvPV_nolen(*val) ); --- 13576,13580 ---- strncpy( k, "outputDoc", 255 ); val = hv_fetch( h, "outputDoc", 9, 0 ); ! if( val && *val && SvOK(*val) ){ { p->outputDoc = strdup( SvPV_nolen(*val) ); Index: supportrev.h =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev.h,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** supportrev.h 31 Mar 2009 17:41:18 -0000 1.18 --- supportrev.h 2 Apr 2009 18:57:04 -0000 1.19 *************** *** 140,145 **** #endif ! EXTERN int ! rev_ARArithOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARArithOpStruct *p ); #endif /* __supportrev_h_ */ --- 140,151 ---- #endif ! EXTERN int rev_ARArithOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARArithOpStruct *p ); ! ! ! #if AR_CURRENT_API_VERSION >= 14 ! EXTERN int rev_ARMultiSchemaFieldIdStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldIdStruct *p ); ! EXTERN int rev_ARMultiSchemaArithOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaArithOpStruct *p ); ! #endif ! #endif /* __supportrev_h_ */ Index: supportrev_generated.h =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev_generated.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** supportrev_generated.h 1 Apr 2009 15:04:50 -0000 1.7 --- supportrev_generated.h 2 Apr 2009 18:57:04 -0000 1.8 *************** *** 246,252 **** #if AR_CURRENT_API_VERSION >= 14 - EXTERN int rev_ARMultiSchemaArithOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaArithOpStruct *p ); - #endif - #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaCurrencyPartStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaCurrencyPartStruct *p ); #endif --- 246,249 ---- *************** *** 255,261 **** #endif #if AR_CURRENT_API_VERSION >= 14 - EXTERN int rev_ARMultiSchemaFieldIdStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldIdStruct *p ); - #endif - #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaFieldValueOrArithStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldValueOrArithStruct *p ); #endif --- 252,255 ---- *************** *** 278,281 **** --- 272,281 ---- EXTERN int rev_ARMultiSchemaRelOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaRelOpStruct *p ); #endif + + EXTERN int rev_ARMultiSchemaSortList( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortList *p ); + + + EXTERN int rev_ARMultiSchemaSortStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaSortStruct *p ); + #if AR_CURRENT_API_VERSION >= 14 EXTERN int rev_ARMultiSchemaStatHistoryValue( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaStatHistoryValue *p ); Index: supportrev.c =================================================================== RCS file: /cvsroot/arsperl/ARSperl/supportrev.c,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** supportrev.c 31 Mar 2009 17:41:18 -0000 1.33 --- supportrev.c 2 Apr 2009 18:57:03 -0000 1.34 *************** *** 3661,3662 **** --- 3661,3863 ---- + #if AR_CURRENT_API_VERSION >= 14 + int + rev_ARMultiSchemaFieldIdStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaFieldIdStruct *p ){ + SV **val; + int i = 0; + + if( !p ){ + ARError_add(AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaFieldIdStruct: AR Object param is NULL" ); + return -1; + } + + if( SvTYPE((SV*) h) == SVt_PVHV ){ + + // printf( "ARMultiSchemaFieldIdStruct: k = <%s>\n", k ); + if( hv_exists(h,k,strlen(k)) ){ + val = hv_fetch( h, k, strlen(k), 0 ); + if( val && *val ){ + if( SvPOK(*val) ){ + STRLEN len; + int i, pos = 0; + char *str = SvPV( *val, len ); + + for( i = len-1; i >= 0; --i ){ + if( str[i] == '.' ){ + pos = i; + break; + } + } + + if( pos == 0 || pos == len-1 ){ + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaFieldIdStruct: no fieldId separator found"); + return -2; + } + if( pos > AR_MAX_NAME_SIZE ){ + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaFieldIdStruct: query alias too long"); + return -2; + } + + strncpy( p->queryFromAlias, str, pos ); + p->queryFromAlias[pos] = '\0'; + p->fieldId = atoi( &(str[pos+1]) ); + + }else{ + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaFieldIdStruct: not a char value"); + return -2; + } + }else{ + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaFieldIdStruct: hv_fetch returned null"); + return -2; + } + }else{ + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaFieldIdStruct: key doesn't exist"); + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, k ); + return -2; + } + }else{ + ARError_add(AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaFieldIdStruct: first argument is not a hash"); + return -1; + } + + return 0; + } + #endif + + + + #if AR_CURRENT_API_VERSION >= 14 + int + rev_ARMultiSchemaArithOpStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaArithOpStruct *p ){ + SV **val; + int i = 0; + + if( !p ){ + ARError_add(AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaArithOpStruct: AR Object param is NULL" ); + return -1; + } + + if( SvTYPE((SV*) h) == SVt_PVHV ){ + + // printf( "ARMultiSchemaArithOpStruct: k = <%s>\n", k ); + if( hv_exists(h,k,strlen(k)) ){ + val = hv_fetch( h, k, strlen(k), 0 ); + if( val && *val ){ + { + + + if( SvTYPE(SvRV(*val)) == SVt_PVHV ){ + int i = 0, num = 0; + HV *h = (HV* ) SvRV((SV*) *val); + char k[256]; + k[255] = '\0'; + + + { + SV **val; + strncpy( k, "oper", 255 ); + val = hv_fetch( h, "oper", 4, 0 ); + if( val && *val ){ + { + int flag = 0; + if( !strcmp(SvPV_nolen(*val),"/") ){ + p->operation = AR_ARITH_OP_DIVIDE; + flag = 1; + } + if( !strcmp(SvPV_nolen(*val),"%") ){ + p->operation = AR_ARITH_OP_MODULO; + flag = 1; + } + if( !strcmp(SvPV_nolen(*val),"+") ){ + p->operation = AR_ARITH_OP_ADD; + flag = 1; + } + /* + if( !strcmp(SvPV_nolen(*val),"-") ){ + p->operation = AR_ARITH_OP_NEGATE; + flag = 1; + } + */ + if( !strcmp(SvPV_nolen(*val),"*") ){ + p->operation = AR_ARITH_OP_MULTIPLY; + flag = 1; + } + if( !strcmp(SvPV_nolen(*val),"-") ){ + p->operation = AR_ARITH_OP_SUBTRACT; + flag = 1; + } + if( flag == 0 ){ + ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaArithOpStruct: invalid key value" ); + ARError_add( AR_RETURN_ERROR, AP_ERR_CONTINUE, SvPV_nolen(*val) ); + } + } + }else{ + ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"oper\"" ); + return -1; + } + } + + + { + SV **val; + strncpy( k, "left", 255 ); + val = hv_fetch( h, "left", 4, 0 ); + if( val && *val ){ + { + rev_ARMultiSchemaFieldValueOrArithStruct( ctrl, h, k, &(p->operandLeft) ); + } + }else{ + if( p->operation == AR_ARITH_OP_SUBTRACT ){ + p->operation = AR_ARITH_OP_NEGATE; + }else{ + ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"left\"" ); + return -1; + } + } + } + + + { + SV **val; + strncpy( k, "right", 255 ); + val = hv_fetch( h, "right", 5, 0 ); + if( val && *val ){ + { + rev_ARMultiSchemaFieldValueOrArithStruct( ctrl, h, k, &(p->operandRight) ); + } + }else{ + ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"right\"" ); + return -1; + } + } + + + + + }else{ + ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaArithOpStruct: hash value is not a hash reference" ); + return -1; + } + + + } + }else{ + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaArithOpStruct: hv_fetch returned null"); + return -2; + } + }else{ + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaArithOpStruct: key doesn't exist"); + ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, k ); + return -2; + } + }else{ + ARError_add(AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaArithOpStruct: first argument is not a hash"); + return -1; + } + + return 0; + } + #endif + + + |
From: Thilo S. <thi...@ap...> - 2009-04-01 17:11:58
|
I'm talking about the CVS check-in (which is already committed), not about the release (which would be Jeff's part). Anyway, I'm still not completely done with ars_GetListEntryWithMultiSchemaFields. Regards, Thilo Michiel Beijen wrote: > If you can wait a few more days, tomorrow I want to have finished > updating the documentation and examples. > > Regards, > > Michiel Beijen > Software Consultant > +31 6 457 42 418 > Bee Free IT + http://beefreeit.nl > > On Apr 1, 2009 5:02 PM, "Thilo Stapff" <thi...@ap... > <mailto:thi...@ap...>> wrote: > > Well, that is pretty much what I found out too. To summarize my results: > > - we can get rid of "artypes.ph <http://artypes.ph>" > - it would be too much hassle to remove "_h2ph_pre.ph > <http://h2ph_pre.ph>" > - but at least "_h2ph_pre.ph <http://h2ph_pre.ph>" can be moved to > the "ARS/" subdirectory > where it won't bother anyone. > > The next check-in will be up on SourceForge very soon. > > > Thilo > > jeff murphy wrote: > > On Apr 1, 2009, at 3:58 AM, Thilo Stapff > wrote: >>> >> >> Are you sure? On... > > > > ------------------------------------------------------------------------ > > > > > ------------------------------------------------------------------------------ > > > > > > ------------------------------------------------------------------------ > > > ______________... > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > > > ------------------------------------------------------------------------ > > _______________________________________________ > Arsperl-devel mailing list > Ars...@ar... > https://lists.sourceforge.net/lists/listinfo/arsperl-devel |