[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Back-sql, debugging



> Hello,
>
> I use Sybase 12.5.1 with last last openldap with last unixodbc with last
>  freetds driver.
> (with last I mean the stable release of 1.04.04)
>
> I don't know other free odbc driver to try.

libiodbc, for instance; that's what I'm using
(not last, though), and PostgreSQL.

It definitely looks like an issue not related
to back-sql, unless an improper use of the ODBC
API can be clearly identified.  I don't see any,
but I'm not an ODBC expert.

p.

>
> Regards and thanks for help
>
> Goyman
>
>   Pierangelo Masarati wrote:
>> I thinkl it's finally time that you tell us what version of OpenLDAP
>> software you're using, and what ODBC and what RDBMS, just for the
>> records.
>>  I note that there's plenty of error messaging in back-sql; you get
>> none
>> because the ODBC is returning none to the client.  Apparently,
>> at_query is failing, but the ODBC can't tell why.  It logs this
>> obscure line,
>>
>>     IF @@TRANCOUNT > 0 ROLLBACK BEGIN TRANSACTION
>>
>> which looks like the ODBC issued a rollback, and the RDBMS didn't like
>> it.
>>  I know some RDBMS need a commit/rollback before closing a
>> transaction,
>> even when only read operations were performed.  Others don't tolerate
>> it on read operations.  AFAIK back-sql does the rollback after reads,
>> but I don't see any between the oc_ and the at_ queries, so it might
>> be something internal to the ODBC.  I suggest you try another one.
>>
>> p.
>>
>>
>>>Pierangelo Masarati wrote:
>>>
>>>>>Hello,
>>>>>
>>>>>thanks for the answer, but I was executing slapd with -d 1 since I
>>>>> begun
>>>>>to work with.
>>>>>
>>>>>There is a little thing I do not understand, I got this output from
>>>>> slapd:
>>>>>
>>>>>backsql_get_db_conn(): first call -- reading schema map
>>>>>==>backsql_load_schema_map()
>>>>>backsql_load_schema_map(): at_query 'SELECT
>>>>>name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expect_return
>>>>> FROM ldap_attr_mappings WHERE oc_map_id=?'
>>>>>backsql_load_schema_map(): objectClass 'organizationalUnit':
>>>>>keytbl='orgunit' keycol='id'
>>>>>expect_return: add=0, del=0; attributes:
>>>>>backsql_load_schema_map(): autoadding 'objectClass' and 'ref'
>>>>> mappings backsql_load_schema_map(): error executing at_query:
>>>>>Return code: -1
>>>>>==>backsql_free_db_conn()
>>>>>
>>>>>
>>>>>But where I do not understand is that the real sql executed in the
>>>>> db is:
>>>>>
>>>>>00:00000:00019:2004/04/11 17:59:34.75 server  TDS_LANG, spid 19:
>>>>> command
>>>>>text:
>>>>>set textsize 64512 use GAddress
>>>>>00:00000:00019:2004/04/11 17:59:34.76 server  TDS_LANG, spid 19:
>>>>> command
>>>>>text:
>>>>>BEGIN TRANSACTION
>>>>>00:00000:00019:2004/04/11 17:59:34.77 server  TDS_DYNP, spid 19:
>>>>> command
>>>>>text:
>>>>>create proc wlkz006000 as SELECT
>>>>>id,name,keytbl,keycol,create_proc,delete_proc,expect_return FROM
>>>>> ldap_oc_mappings
>>>>>00:00000:00019:2004/04/11 17:59:34.81 server  TDS_LANG, spid 19:
>>>>> command
>>>>>text:
>>>>>IF @@TRANCOUNT > 0 ROLLBACK BEGIN TRANSACTION
>>>>>
>>>>
>>>>
>>>>The query is above:
>>>>
>>>>SELECT
>>>>id,name,keytbl,keycol,create_proc,delete_proc,expect_return FROM
>>>> ldap_oc_mappings
>>>>
>>>>Do yu have ldap_oc_mappings?  Does it have the requested columns?
>>>> This output looks really obscure to me.  You may want to add a few
>>>> printf in back-sql before the queries are executed.
>>>>
>>>>p.
>>>>
>>>>
>>>
>>>Hello,
>>>
>>>this query work, the query that don't work, and that's not executed is
>>> the at_query (SELECT
>>>name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expect_return
>>>
>>>  FROM ldap_attr_mappings WHERE oc_map_id=?).
>>>
>>>I checked the source code, and this error is printed if the execution
>>> of
>>> the query fail, but the query is not executed (as you can see in the
>>>sql  output).
>>>
>>>So I do not understand why.
>>>
>>>Regards
>>>
>>>Goyman
>>
>>
>>


-- 
Pierangelo Masarati
mailto:pierangelo.masarati@sys-net.it