[postgis-users] Re: Fwd: pgsql2shp errors out after upgrading to 0.8.1

markc at weaponeer.com markc at weaponeer.com
Wed Apr 21 19:09:25 PDT 2004


 
 
This seems ok with the changes in place. 
 
  /qgis-0.1> pgsql2shp -b gis_main us_states 
Initializing... Done. 
MAINSCAN: SELECT 
"gid"::text,"area"::text,"state_name"::text,"state_fips"::text,"sub_region"::text,"state_abbr"::text,"pop2000"::text,"pop2001"::text,"pop00_sqmi"::text,"white"::text,"black"::text,"ameri_es"::text,"asian"::text,"hawn_pi"::text,"other"::text,"mult_race"::text,"hispanic"::text,"males"::text,"females"::text,"age_under5"::text,"age_5_17"::text,"age_18_21"::text,"age_22_29"::text,"age_30_39"::text,"age_40_49"::text,"age_50_64"::text,"age_65_up"::text,"med_age"::text,"med_age_m"::text,"med_age_f"::text,"households"::text,"ave_hh_sz"::text,"hsehld_1_m"::text,"hsehld_1_f"::text,"marhh_chd"::text,"marhh_no_c"::text,"mhh_child"::text,"fhh_child"::text,"families"::text,"ave_fam_sz"::text,"hse_units"::text,"vacant"::text,"owner_occ"::text,"renter_occ"::text,"no_farms97"::text,"avg_size97"::text,"crop_acr97"::text,"avg_sale97"::text,asbinary("the_geom", 
'NDR') FROM "us_states" 
Dumping: XX [51 rows]. 
markc at linux:~/qgis-0.1> pgsql2shp -b gis_main us_plant_rad_x 
Initializing... Done. 
MAINSCAN: SELECT 
"tapefile"::text,"doelab"::text,"ornlid"::text,"site"::text,"replc"::text,"lat"::text,"long"::text,"state"::text,"quad"::text,"mapcode"::text,"study"::text,"phase"::text,"basinid"::text,"b_lat_c"::text,"b_long_c"::text,"samptyp"::text,"osamptyp"::text,"sampdat"::text,"samphr"::text,"sampler"::text,"grabs"::text,"weather"::text,"airtemp"::text,"sampodor"::text,"smpcolr"::text,"sgeounit"::text,"sedtype"::text,"strwdth"::text,"strdpth"::text,"wtrlevel"::text,"strflow"::text,"strorder"::text,"vegtype"::text,"vegdens"::text,"relief"::text,"contamc"::text,"plantno"::text,"dtreetyp"::text,"coniftyp"::text,"bushtyp"::text,"mosstyp"::text,"algaetyp"::text,"trnkdiam"::text,"plnthght"::text,"tapedata"::text,"spcdat"::text,"batch_es"::text,"asbatch"::text,"ubatch_dn"::text,"ubatch_fl"::text,"ubatch_ms"::text,"ubatch_xx"::text,"u_xx_mthd"::text,"u_xx_ppm"::text,"u_dn_ppm"::text,"u_fl_ppm"::text,"u_ms_ppm"::text,"ag_ppm"::text,"al_pct"::text,"as_ppm"::text,"b_ppm"::text,"ba_ppm"::text,"be_ppm"::text,"ca_ppm"::text,"co_ppm"::text,"cr_ppm"::text,"cu_ppm"::text,"fe_pct"::text,"li_ppm"::text,"mg_pct"::text,"mn_ppm"::text,"mo_ppm"::text,"na_pct"::text,"nb_ppm"::text,"ni_ppm"::text,"p_pct"::text,"pb_ppm"::text,"pt_ppm"::text,"sc_ppm"::text,"se_ppm"::text,"th_ppm"::text,"ti_ppm"::text,"v_ppm"::text,"y_ppm"::text,"zn_ppm"::text,"zr_ppm"::text,"methods"::text,"reformat"::text,"comments"::text,"comment2"::text,asbinary("us_plant_rad_x_geom", 
'NDR') FROM "us_plant_rad_x" 
Dumping: XXXXXXXXXXXXXXXXXXX [1720 rows]. 
markc at linux:~/qgis-0.1> pgsql2shp -b gis_main us_plant_rad_x 
 
  This would have errored out, or segfaulted before + 32. 
 
  Cheers! 
 
Mark 
 
 
 
---- Original message ---- 
>Date: Wed, 21 Apr 2004 09:39:19 +0200 
>From: strk <strk at keybit.net>   
>Subject: Re: Fwd: pgsql2shp errors out after upgrading to 
0.8.1   
>To: markc at weaponeer.com 
>Cc: postgis-users at postgis.refractions.net 
> 
>Try modifying around line 2667 of pgsql2shp.c 
>Memory is allocated for main_scan_query, I belive 
the ::text cast 
>part was not taken into account, and indeed when not 
specifying 
>-b that part is not written to the buffer... 
>I've made those lines look like this: 
> 
>        tmpint = strlen(table)+2; 
>        for (i=0; i<mainscan_nflds; i++) 
>                tmpint += strlen(mainscan_flds[i])+32; 
>        main_scan_query = (char *)malloc(tmpint+256); 
> 
>Please tell me if the segfault and error message go away. 
> 
>--strk; 
> 
>On Tue, Apr 20, 2004 at 06:36:26PM -0500, 
markc at weaponeer.com wrote: 
>>   
>>   Here you go -- I see a garble in the query right before  
>> the column mentioned in the message. Every error of this  
>> type seems to mention 1121 as the first offending char 
(with  
>> different tables) ?  
>>   
>> markc at linux:~/qgis-0.1> pgsql2shp -b gis_main 
us_plant_rad_x  
>> Initializing... Done.  
>> MAINSCAN: SELECT  
>> 
"tapefile"::text,"doelab"::text,"ornlid"::text,"site"::text,"replc"::text,"lat"::text,"long"::text,"state"::text,"quad"::text,"mapcode"::text,"study"::text,"phase"::text,"basinid"::text,"b_lat_c"::text,"b_long_c"::text,"samptyp"::text,"osamptyp"::text,"sampdat"::text,"samphr"::text,"sampler"::text,"grabs"::text,"weather"::text,"airtemp"::text,"sampodor"::text,"smpcolr"::text,"sgeounit"::text,"sedtype"::text,"strwdth"::text,"strdpth"::text,"wtrlevel"::text,"strflow"::text,"strorder"::text,"vegtype"::text,"vegdens"::text,"relief"::text,"contamc"::text,"plantno"::text,"dtreetyp"::text,"coniftyp"::text,"bushtyp"::text,"mosstyp"::text,"algaetyp"::text,"trnkdiam"::text,"plnthght"::text,"tapedata"::text,"spcdat"::text,"batch_es"::text,"asbatch"::text,"ubatch_dn"::text,"ubatch_fl"::text,"ubatch_ms"::text,"ubatch_xx"::text,"u_xx_mthd"::text,"u_xx_ppm"::text,"u_dn_ppm"::text,"u_fl_ppm"::text,"u_ms_ppm"::text,"ag_ppm"::text,"al_pct"::text,"as_ppm"::text,"b_ppm"::text,"ba_ppm"::text,"be_ppm"::text,"ca_ppm"::text,"co_ppm"::text,"cr_ppm"::text,"cu_ppm"::text,"fe_pct"::ted®#@d®#@pm"::text,"mg_pct"::text,"mn_ppm"::text,"mo_ppm"::text,"na_pct"::text,"nb_ppm"::text,"ni_ppm"::text,"p_pct"::text,"pb_ppm"::text,"pt_ppm"::text,"sc_ppm"::text,"se_ppm"::text,"th_ppm"::text,"ti_ppm"::text,"v_ppm"::text,"y_ppm"::text,"zn_ppm"::text,"zr_ppm"::text,"methods"::text,"reformat"::text,"comments"::text,"comment2"::text,asbinary("us_plant_rad_x_geom",  
>> 'NDR') FROM "us_plant_rad_x"  
>> ERROR:  syntax error at or near ""::text,"" at character  
>> 1121  
>>   
>> There is another error we have seen with "-b"  a 
segfault.   
>> Here is query.  I see nothing obvious here -- obvious to 
to  
>> me at least.  This is a ARC supplied .shp that was 
imported,  
>> and it also behaves well without "-b".   
>>   
>> pgsql2shp -b gis_main us_states  
>> Initializing... Done.  
>> MAINSCAN: SELECT  
>> 
"gid"::text,"area"::text,"state_name"::text,"state_fips"::text,"sub_region"::text,"state_abbr"::text,"pop2000"::text,"pop2001"::text,"pop00_sqmi"::text,"white"::text,"black"::text,"ameri_es"::text,"asian"::text,"hawn_pi"::text,"other"::text,"mult_race"::text,"hispanic"::text,"males"::text,"females"::text,"age_under5"::text,"age_5_17"::text,"age_18_21"::text,"age_22_29"::text,"age_30_39"::text,"age_40_49"::text,"age_50_64"::text,"age_65_up"::text,"med_age"::text,"med_age_m"::text,"med_age_f"::text,"households"::text,"ave_hh_sz"::text,"hsehld_1_m"::text,"hsehld_1_f"::text,"marhh_chd"::text,"marhh_no_c"::text,"mhh_child"::text,"fhh_child"::text,"families"::text,"ave_fam_sz"::text,"hse_units"::text,"vacant"::text,"owner_occ"::text,"renter_occ"::text,"no_farms97"::text,"avg_size97"::text,"crop_acr97"::text,"avg_sale97"::text,asbinary("the_geom",  
>> 'NDR') FROM "us_states"  
>> Dumping: XSegmentation fault  
>>   
>> Tomorrow I may fire this up using gdb and see what I can 
see  
>>   
>> Cheers, and Honestly -- thanks for all the great work!  
If I  
>> was not so old as to require at least 4 hours sleep -- I  
>> would roll up my sleeves and help a bit more....  
>>   
>> Mark  
>>   
>>   
>> ---- Original message ----  
>> >Date: Tue, 20 Apr 2004 07:52:21 +0200  
>> >From: strk <strk at keybit.net>    
>> >Subject: Re: Fwd: pgsql2shp errors out after upgrading 
to  
>> 0.8.1    
>> >To: markc at weaponeer.com  
>> >Cc: postgis-users at postgis.refractions.net  
>> >  
>> >On Mon, Apr 19, 2004 at 08:21:36PM -0500,  
>> markc at weaponeer.com wrote:  
>> >> This ended up being the "-b" option, we have never 
used  
>> it   
>> >> before -- and I have no idea as to why it was decided 
to  
>> try   
>> >> it now.   
>> >>    
>> >>   We have happy .shp output even with 3M rows.   
>> >>    
>> >> Thanks for the keen eye!   
>> >>    
>> >> Mark   
>> >  
>> >Mark, nonetheless I'd like to see the "incriminated" 
query,  
>> >because 'syntax error' is not an error I'd expect from  
>> pgsql2shp,  
>> >even with the -b switch. What I expect is a 'Cannot  
>> cast...' or   
>> >similar. Could you please send that main_loop_query ?  
>> >  
>> >TIA  
>> >  
>> >--strk;  
>> >  
>> >>    
>> >>    
>> >>    
>> >>    
>> >>    
>> >  
>> >> Date: Sun, 18 Apr 2004 22:04:57 -0500  
>> >> From: markc at weaponeer.com  
>> >> X-Mailer: Webmail Mirapoint Direct 3.2.2-GA  
>> >> Subject: pgsql2shp errors out after upgrading to 0.8.1  
>> >> To: postgis-users at postgis.refractions.net  
>> >>   
>> >> Hello,   
>> >>   I've used pgsql2shp many times with this database,  
>> after   
>> >> upgrading to 0.8.1 I am getting an odd cast error.   
>> >>    
>> >>   Postgres is 7.4.2, using bison-1.875 (the 
problem ??),   
>> >> PostGIS is using gdal-1.2.0 (proj-4.4.7).   
>> >>    
>> >>   Also if I import a .shp of this made in 1-2004 
(which   
>> >> seems to work) it dies with another syntax error.   
>> >>    
>> >>   I can send a dump of this db, as it's reasonably 
small.   
>> >>    
>> >>  Thanks,   
>> >>    
>> >>   Mark   
>> >>    
>> >>    
>> >>      
>> >>    
>> >> markc at linux:~/qgis-0.1> pgsql2shp -b gis_main  
>> us_plant_rad_x   
>> >> Initializing... Done.   
>> >> ERROR:  syntax error at or near ""::text,"" at 
character   
>> >> 1121   
>> >> markc at linux:~/qgis-0.1> psql -d gis_main   
>> >> Welcome to psql 7.4.2, the PostgreSQL interactive  
>> terminal.   
>> >>    
>> >> Type:  \copyright for distribution terms   
>> >>        \h for help with SQL commands   
>> >>        \? for help on internal slash commands   
>> >>        \g or terminate with semicolon to execute query   
>> >>        \q to quit   
>> >>    
>> >> gis_main=# select * from us_plant_rad_x;   
>> >> gis_main=#   
>> >> gis_main=# select version();   
>> >>                                        version   
>> >>  
>> 
-------------------------------------------------------------------------------------   
>> >>  PostgreSQL 7.4.2 on i686-pc-linux-gnu, compiled by 
GCC  
>> gcc   
>> >> (GCC) 3.3.1 (SuSE Linux)   
>> >> (1 row)   
>> >>    
>> >  



More information about the postgis-users mailing list