Issue while calling new PostgreSQL command from a Java Application

Поиск
Список
Период
Сортировка
От Ashoke
Тема Issue while calling new PostgreSQL command from a Java Application
Дата
Msg-id CALpszJPXFBb+0w-thEk=6vNP-ZRgqn1i+PX8xonp=cZ_DqNJRA@mail.gmail.com
обсуждение исходный текст
Ответы Re: Issue while calling new PostgreSQL command from a Java Application  (Abhijit Menon-Sen <ams@2ndQuadrant.com>)
Re: Issue while calling new PostgreSQL command from a Java Application  (Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>)
Список pgsql-hackers
<div dir="ltr"><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> Hi,<p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> ------------------------------<p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> I have defined a new command <code
style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">my_command</code> inPostgreSQL. This command takes the path of <code
style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">ANALYZE</code> andinside <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">analyze.c</code>,I have a function to do some operations if its <code
style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">my_command</code>.Thiscommand takes the input arguments: table name, column
nameand an input string.<p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"><span style="font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap;background-color:rgb(238,238,238)">my_commandnation (n_nationkey) 'input
string';</span><br/><p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> When I run this command from command line <code
style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">psql</code>,it works as expected. But when I call the same command from a
javaapplication, the variable that stores the input string is NULL.<p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> I printed the value of the input string in gram.y file
whereI have defined <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">my_command</code>.<br/><code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">fprintf(stderr, "I am inside gram.y %s\n",n->inp_str);</code> and the
inputstring is printed correctly.<p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> But when I print <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">stmt->inp_str</code> inthe function <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">standard_ProcessUtility()</code> of <codestyle="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">utility.c</code> forthe case <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">T_VacuumStmt</code>,I get the value as NULL. This is as far as I could trace
backfrom <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">analyze.c</code>.<pstyle="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> I am not sure how executing the same command from an
applicationcan make a difference.<p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> gram.y content gist:<hr
style="border:0px;color:rgb(221,221,221);background-color:rgb(221,221,221);height:1px;margin-bottom:20px;font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;font-size:14px;line-height:17.804800033569336px" /><pre class=""
style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;color:rgb(0,0,0);line-height:17.804800033569336px">
<code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:inherit"><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;color:rgb(43,145,175)">MyStmt</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">:</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
my_keywordqualified_name name_list my_inp_str           </span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">{</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;color:rgb(43,145,175)">VacuumStmt</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent"> </span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">*</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">n </span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">=</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
makeNode</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">(</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;color:rgb(43,145,175)">VacuumStmt</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">);</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
n</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">-></span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">options
</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">=</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
VACOPT_ANALYZE</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">;</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
n</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">-></span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">freeze_min_age
</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">=</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent"></span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">-</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;color:rgb(128,0,0)">1</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">;</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
n</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">-></span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">freeze_table_age
</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">=</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent"></span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">-</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;color:rgb(128,0,0)">1</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">;</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
n</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">-></span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">relation
</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">=</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">$2</span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">;</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
n</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">-></span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">va_cols
</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">=</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">$3</span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">;</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
n</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">-></span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">inp_str
</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">=</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">$4</span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">;</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">              fprintf
</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">(</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">stderr</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">,</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent"> </span><span
class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;color:rgb(128,0,0)">"Iam
insidegram.y %s\n"</span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">,</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">n</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">-></span><span
class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">inp_str</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">);</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent"> 
               $$ </span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">=</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent"></span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">(</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent;color:rgb(43,145,175)">Node</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent"> </span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">*)</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">n</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">;</span><span
class=""style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">}</span><spanclass=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">
</span><span class=""
style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background-color:transparent">;</span></code></pre><p
style="margin:0px0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"><code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">char*inp_str</code> is added to the <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">structVacuumStmt</code> in <code style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">parsenodes.h</code><pstyle="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> ---------------------------<p style="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> Only the newly added <code
style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">char*inp_str</code>(that is different from <code
style="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">ANALYZE</code>)value is NULL. I was able to retrieve the column name
from <codestyle="margin:0px;padding:1px
5px;border:0px;vertical-align:baseline;background-color:rgb(238,238,238);font-family:Consolas,Menlo,Monaco,'Lucida
Console','LiberationMono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier
New',monospace,serif;white-space:pre-wrap">va_cols.</code><pstyle="margin:0px 0px
1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation
Sans','DejaVuSans',sans-serif;line-height:17.804800033569336px"> Any help is appreciated. Thanks!-- <br />Regards,<br
/>Ashoke<br/><br /><br /></div> 

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Rushabh Lathia
Дата:
Сообщение: Re: "RETURNING PRIMARY KEY" syntax extension
Следующее
От: Dilip kumar
Дата:
Сообщение: Re: TODO : Allow parallel cores to be used by vacuumdb [ WIP ]