cvs: php4 /ext/fbsql php_fbsql.c php_fbsql.h
| From: | Frank M. Kromann | Date: | Tue, 10 Jul 2001 22:34:25 +0000 |
| Subject: | cvs: php4 /ext/fbsql php_fbsql.c php_fbsql.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-6163@lists.php.net to get a copy of this message | ||
fmk Tue Jul 10 18:34:25 2001 EDT
Modified files:
/php4/ext/fbsql php_fbsql.h php_fbsql.c
Log:
Fixing return value from fbsql_query after a DELETE FROM with success.
Index: php4/ext/fbsql/php_fbsql.h
diff -u php4/ext/fbsql/php_fbsql.h:1.6 php4/ext/fbsql/php_fbsql.h:1.7
--- php4/ext/fbsql/php_fbsql.h:1.6 Thu May 31 14:43:29 2001
+++ php4/ext/fbsql/php_fbsql.h Tue Jul 10 18:34:24 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_fbsql.h,v 1.6 2001/05/31 18:43:29 fmk Exp $ */
+/* $Id: php_fbsql.h,v 1.7 2001/07/10 22:34:24 fmk Exp $ */
#define HAVE_FBSQL 1
@@ -85,6 +85,9 @@
PHP_FUNCTION(fbsql_username);
PHP_FUNCTION(fbsql_password);
PHP_FUNCTION(fbsql_warnings);
+
+PHP_FUNCTION(fbsql_get_autostart_info);
+//PHP_FUNCTION(fbsql_set_autostart_info);
static void php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type);
static void php_fbsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistant);
Index: php4/ext/fbsql/php_fbsql.c
diff -u php4/ext/fbsql/php_fbsql.c:1.33 php4/ext/fbsql/php_fbsql.c:1.34
--- php4/ext/fbsql/php_fbsql.c:1.33 Wed Jun 20 18:54:51 2001
+++ php4/ext/fbsql/php_fbsql.c Tue Jul 10 18:34:24 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_fbsql.c,v 1.33 2001/06/20 22:54:51 fmk Exp $ */
+/* $Id: php_fbsql.c,v 1.34 2001/07/10 22:34:24 fmk Exp $ */
/* TODO:
*
@@ -108,6 +108,10 @@
void fbaRelease();
unsigned int fbaCount();
+struct FBCAutoStartInfo {
+ FBArray* infoLines;
+};
+
struct PHPFBResult
@@ -206,6 +210,9 @@
PHP_FE(fbsql_password, NULL)
PHP_FE(fbsql_warnings, NULL)
+ PHP_FE(fbsql_get_autostart_info, NULL)
+// PHP_FE(fbsql_set_autostart_info, NULL)
+
/* Aliases: */
PHP_FALIAS(fbsql, fbsql_db_query, NULL)
@@ -1538,7 +1545,7 @@
return_value->type = IS_LONG;
if (sR == 1 && md) fbcmdRelease(md);
}
- else if (tp[0] == 'I' || tp[0] == 'U')
+ else if (tp[0] == 'I' || tp[0] == 'U' || tp[0] == 'A')
{
if (tp[0] == 'I') link->insert_id = fbcmdRowIndex(md);
return_value->value.lval = 1;
@@ -3019,6 +3026,60 @@
RETURN_TRUE;
}
/* }}} */
+
+/* {{{ proto array fbsql_get_autostart_info([resource link_identifier])
+ */
+PHP_FUNCTION(fbsql_get_autostart_info)
+{
+ PHPFBLink* phpLink = NULL;
+ zval **fbsql_link_index = NULL;
+ int id;
+ FBCAutoStartInfo* asInfo;
+ FBSQLLS_FETCH();
+
+ switch (ZEND_NUM_ARGS()) {
+ case 0:
+ id = php_fbsql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU FBSQLLS_CC);
+ CHECK_LINK(id);
+ break;
+ case 1:
+ if (zend_get_parameters_ex(1, &fbsql_link_index)==FAILURE) {
+ RETURN_FALSE;
+ }
+ id = -1;
+ break;
+ default:
+ WRONG_PARAM_COUNT;
+ break;
+ }
+ ZEND_FETCH_RESOURCE2(phpLink, PHPFBLink *, fbsql_link_index, id, "FrontBase-Link",
le_link, le_plink);
+
+ if (phpLink->execHandler == NULL) {
+ if (FB_SQL_G(generateWarnings)) php_error(E_WARNING, "No valid Exec handler available for
this connection");
+ RETURN_FALSE;
+ }
+ else {
+ array_init(return_value);
+ asInfo = fbcehGetAutoStartInfo(phpLink->execHandler);
+ if (asInfo != NULL) {
+ unsigned i;
+
+ for (i=0; i<fbaCount(asInfo->infoLines); i++) {
+ FBArray* infoLine = fbaObjectAtIndex(asInfo->infoLines, i);
+// if (fbaCount(infoLine) == 2) {
+// fbaObjectAtIndex(infoLine, 0);
+// fbaObjectAtIndex(infoLine, 1);
+// }
+// else {
+ add_index_string(return_value, i, fbaObjectAtIndex(infoLine, 0), 1);
+// }
+
+ }
+ }
+ }
+}
+/* }}} */
+
#endif