Hi there
I am a grad student in CS University of Calgary. I work on
project to modify the behavior of the table functions to return on iterative
base instead of materialization. So far I have succeeded in doing this
it seems now that I am one step away from the end. I face a problem now
with the front-end, how to display the rows as they are received. That is I want
to call 'PrintQueryTuples' from within 'PQexecFinish' instead of 'SendQuery'.
'PQexecFinish' is defined in '../src/interfaces/libpq/fe-exec.c' and
'PrintQueryTuples' is defined in '../src/bin/psql/common.c'
I made the following steps:
1) redefined 'PrintQueryResults' in common.c to be extern (not static
as the initial definition) to be able to use it elsewhere 2)
added a declaration for ''PrintQueryResults' in common.h, to tell other
files about it
3) removed 'PrintQueryResults' invocation from 'SendQuery' in common.c
4) added #include "../bin/psql/common.h" to fe-exec.c
5) called 'PrintQueryResults' from within 'PQexecFinish', last
statement in the while loop
when I gmake the project I receive the following error:
"
../../src/interfaces/libpq/libpq.so: undefined
reference to `PrintQueryResults'
collect2: ld returned 1 exit
status
gmake[5]: *** [test1] Error 1
gmake[5]: Leaving directory
`/home/grads/imehegaz/postgresql-8.2.3-b/src/interfaces/ecpg/test/connect'
gmake[4]:
*** [all] Error 2
gmake[4]: Leaving directory
`/home/grads/imehegaz/postgresql-8.2.3-b/src/interfaces/ecpg/test'
gmake[3]:
*** [all] Error 2
gmake[3]: Leaving directory
`/home/grads/imehegaz/postgresql-8.2.3-b/src/interfaces/ecpg'
gmake[2]: ***
[all] Error 2
gmake[2]: Leaving directory
`/home/grads/imehegaz/postgresql-8.2.3-b/src/interfaces'
gmake[1]: *** [all]
Error 2
gmake[1]: Leaving directory
`/home/grads/imehegaz/postgresql-8.2.3-b/src'
gmake: *** [all] Error
2
"
I install Postgresql using the gmake command under Linux.
I wonder what does this error mean and how to solve it?
Notice: in the backend, I also invoked functions in different files and directories and I didn't face this problem.
Regards
Islam Hegazy