@@ -704,6 +704,9 @@ SQLSetStmtAttr(HSTMT StatementHandle,
704
704
RETCODE SQL_API
705
705
PGAPI_GetFunctions30 (HDBC hdbc , UWORD fFunction , UWORD FAR * pfExists )
706
706
{
707
+ ConnectionClass * conn = (ConnectionClass * ) hdbc ;
708
+ ConnInfo * ci = & (conn -> connInfo );
709
+
707
710
if (fFunction != SQL_API_ODBC3_ALL_FUNCTIONS )
708
711
return SQL_ERROR ;
709
712
memset (pfExists , 0 , sizeof (UWORD ) * SQL_API_ODBC3_ALL_FUNCTIONS_SIZE );
@@ -761,7 +764,8 @@ PGAPI_GetFunctions30(HDBC hdbc, UWORD fFunction, UWORD FAR * pfExists)
761
764
SQL_FUNC_ESET (pfExists , SQL_API_SQLSTATISTICS ); /* 53 */
762
765
SQL_FUNC_ESET (pfExists , SQL_API_SQLTABLES ); /* 54 */
763
766
SQL_FUNC_ESET (pfExists , SQL_API_SQLBROWSECONNECT ); /* 55 */
764
- SQL_FUNC_ESET (pfExists , SQL_API_SQLCOLUMNPRIVILEGES ); /* 56 */
767
+ if (ci -> drivers .lie )
768
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLCOLUMNPRIVILEGES ); /* 56 not implmented yet */
765
769
SQL_FUNC_ESET (pfExists , SQL_API_SQLDATASOURCES ); /* 57 */
766
770
SQL_FUNC_ESET (pfExists , SQL_API_SQLDESCRIBEPARAM ); /* 58 */
767
771
/* SQL_FUNC_ESET(pfExists, SQL_API_SQLEXTENDEDFETCH); 59 deprecated */
@@ -776,41 +780,42 @@ PGAPI_GetFunctions30(HDBC hdbc, UWORD fFunction, UWORD FAR * pfExists)
776
780
SQL_FUNC_ESET (pfExists , SQL_API_SQLNUMPARAMS ); /* 63 */
777
781
/* SQL_FUNC_ESET(pfExists, SQL_API_SQLPARAMOPTIONS); 64 deprecated */
778
782
SQL_FUNC_ESET (pfExists , SQL_API_SQLPRIMARYKEYS ); /* 65 */
779
- SQL_FUNC_ESET (pfExists , SQL_API_SQLPROCEDURECOLUMNS ); /* 66 */
783
+ if (ci -> drivers .lie )
784
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLPROCEDURECOLUMNS ); /* 66 not implmented yet */
780
785
SQL_FUNC_ESET (pfExists , SQL_API_SQLPROCEDURES ); /* 67 */
781
- SQL_FUNC_ESET (pfExists , SQL_API_SQLSETPOS ); /* 68 */
786
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLSETPOS ); /* 68 */
782
787
SQL_FUNC_ESET (pfExists , SQL_API_SQLSETSCROLLOPTIONS ); /* 69 deprecated */
783
- SQL_FUNC_ESET (pfExists , SQL_API_SQLTABLEPRIVILEGES ); /* 70 */
788
+ if (ci -> drivers .lie )
789
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLTABLEPRIVILEGES ); /* 70 not implemented yet */
784
790
/* SQL_FUNC_ESET(pfExists, SQL_API_SQLDRIVERS); */ /* 71 */
785
791
SQL_FUNC_ESET (pfExists , SQL_API_SQLBINDPARAMETER ); /* 72 */
786
792
787
793
SQL_FUNC_ESET (pfExists , SQL_API_SQLALLOCHANDLE ); /* 1001 */
788
794
SQL_FUNC_ESET (pfExists , SQL_API_SQLBINDPARAM ); /* 1002 */
789
795
SQL_FUNC_ESET (pfExists , SQL_API_SQLCLOSECURSOR ); /* 1003 */
790
- SQL_FUNC_ESET ( pfExists , SQL_API_SQLCOPYDESC ); /* 1004 not implemented
791
- * yet */
796
+ if ( ci -> drivers . lie )
797
+ SQL_FUNC_ESET ( pfExists , SQL_API_SQLCOPYDESC ); /* 1004 not implemented yet */
792
798
SQL_FUNC_ESET (pfExists , SQL_API_SQLENDTRAN ); /* 1005 */
793
799
SQL_FUNC_ESET (pfExists , SQL_API_SQLFREEHANDLE ); /* 1006 */
794
- SQL_FUNC_ESET (pfExists , SQL_API_SQLGETCONNECTATTR ); /* 1007 */
795
- SQL_FUNC_ESET ( pfExists , SQL_API_SQLGETDESCFIELD ); /* 1008 not implemented
796
- * yet */
797
- SQL_FUNC_ESET (pfExists , SQL_API_SQLGETDESCREC ); /* 1009 not implemented
798
- * yet */
799
- SQL_FUNC_ESET (pfExists , SQL_API_SQLGETDIAGFIELD ); /* 1010 not implemented
800
- * yet */
800
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLGETCONNECTATTR ); /* 1007 */
801
+ if ( ci -> drivers . lie )
802
+ {
803
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLGETDESCFIELD ); /* 1008 not implemented yet */
804
+ SQL_FUNC_ESET ( pfExists , SQL_API_SQLGETDESCREC ); /* 1009 not implemented yet */
805
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLGETDIAGFIELD ); /* 1010 not implemented yet */
806
+ }
801
807
SQL_FUNC_ESET (pfExists , SQL_API_SQLGETDIAGREC ); /* 1011 */
802
808
SQL_FUNC_ESET (pfExists , SQL_API_SQLGETENVATTR ); /* 1012 */
803
809
SQL_FUNC_ESET (pfExists , SQL_API_SQLGETSTMTATTR ); /* 1014 */
804
- SQL_FUNC_ESET (pfExists , SQL_API_SQLSETCONNECTATTR ); /* 1016 */
805
- SQL_FUNC_ESET (pfExists , SQL_API_SQLSETDESCFIELD ); /* 1017 not implemeted
806
- * yet */
807
- SQL_FUNC_ESET (pfExists , SQL_API_SQLSETDESCREC ); /* 1018 not implemented
808
- * yet */
810
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLSETCONNECTATTR ); /* 1016 */
811
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLSETDESCFIELD ); /* 1017 */
812
+ if (ci -> drivers .lie )
813
+ SQL_FUNC_ESET (pfExists , SQL_API_SQLSETDESCREC ); /* 1018 not implemented yet */
809
814
SQL_FUNC_ESET (pfExists , SQL_API_SQLSETENVATTR ); /* 1019 */
810
815
SQL_FUNC_ESET (pfExists , SQL_API_SQLSETSTMTATTR ); /* 1020 */
811
816
SQL_FUNC_ESET (pfExists , SQL_API_SQLFETCHSCROLL ); /* 1021 */
812
- SQL_FUNC_ESET ( pfExists , SQL_API_SQLBULKOPERATIONS ); /* 24 not implemented
813
- * yet */
817
+ if ( ci -> drivers . lie )
818
+ SQL_FUNC_ESET ( pfExists , SQL_API_SQLBULKOPERATIONS ); /* 24 not implemented yet */
814
819
815
820
return SQL_SUCCESS ;
816
821
}
0 commit comments