Lines Matching refs:stmt

189 int mysqli_stmt_bind_param_do_bind(MY_STMT *stmt, unsigned int argc, unsigned int num_vars,  in mysqli_stmt_bind_param_do_bind()  argument
197 if (stmt->param.var_cnt) { in mysqli_stmt_bind_param_do_bind()
198 php_free_stmt_bind_buffer(stmt->param, FETCH_SIMPLE); in mysqli_stmt_bind_param_do_bind()
201 stmt->param.is_null = ecalloc(num_vars, sizeof(char)); in mysqli_stmt_bind_param_do_bind()
212 bind[ofs].is_null = &stmt->param.is_null[ofs]; in mysqli_stmt_bind_param_do_bind()
222 bind[ofs].is_null = &stmt->param.is_null[ofs]; in mysqli_stmt_bind_param_do_bind()
233 bind[ofs].is_null = &stmt->param.is_null[ofs]; in mysqli_stmt_bind_param_do_bind()
243 rc = mysql_stmt_bind_param(stmt->stmt, bind); in mysqli_stmt_bind_param_do_bind()
247 efree(stmt->param.is_null); in mysqli_stmt_bind_param_do_bind()
249 stmt->param.var_cnt = num_vars; in mysqli_stmt_bind_param_do_bind()
250 stmt->param.vars = (zval **)safe_emalloc(num_vars, sizeof(zval), 0); in mysqli_stmt_bind_param_do_bind()
254 stmt->param.vars[i] = *args[i+start]; in mysqli_stmt_bind_param_do_bind()
256 stmt->param.vars[i] = NULL; in mysqli_stmt_bind_param_do_bind()
266 int mysqli_stmt_bind_param_do_bind(MY_STMT *stmt, unsigned int argc, unsigned int num_vars, in mysqli_stmt_bind_param_do_bind() argument
277 params = mysqlnd_stmt_alloc_param_bind(stmt->stmt); in mysqli_stmt_bind_param_do_bind()
304 mysqlnd_stmt_free_param_bind(stmt->stmt, params); in mysqli_stmt_bind_param_do_bind()
310 ret = mysqlnd_stmt_bind_param(stmt->stmt, params); in mysqli_stmt_bind_param_do_bind()
326 MY_STMT *stmt; in PHP_FUNCTION() local
343 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID); in PHP_FUNCTION()
363 if (types_len != mysql_stmt_param_count(stmt->stmt)) { in PHP_FUNCTION()
374 rc = mysqli_stmt_bind_param_do_bind(stmt, argc, num_vars, args, start, types TSRMLS_CC); in PHP_FUNCTION()
375 MYSQLI_REPORT_STMT_ERROR(stmt->stmt); in PHP_FUNCTION()
390 mysqli_stmt_bind_result_do_bind(MY_STMT *stmt, zval ***args, unsigned int argc, unsigned int start … in mysqli_stmt_bind_result_do_bind() argument
399 if (stmt->result.var_cnt) { in mysqli_stmt_bind_result_do_bind()
400 php_free_stmt_bind_buffer(stmt->result, FETCH_RESULT); in mysqli_stmt_bind_result_do_bind()
407 stmt->result.buf = (VAR_BUFFER *) p; in mysqli_stmt_bind_result_do_bind()
408 stmt->result.is_null = p + var_cnt * sizeof(VAR_BUFFER); in mysqli_stmt_bind_result_do_bind()
414 col_type = (stmt->stmt->fields) ? stmt->stmt->fields[ofs].type : MYSQL_TYPE_STRING; in mysqli_stmt_bind_result_do_bind()
419 stmt->result.buf[ofs].type = IS_DOUBLE; in mysqli_stmt_bind_result_do_bind()
420 stmt->result.buf[ofs].buflen = sizeof(float); in mysqli_stmt_bind_result_do_bind()
422 stmt->result.buf[ofs].val = (char *)emalloc(sizeof(float)); in mysqli_stmt_bind_result_do_bind()
424 bind[ofs].buffer = stmt->result.buf[ofs].val; in mysqli_stmt_bind_result_do_bind()
425 bind[ofs].is_null = &stmt->result.is_null[ofs]; in mysqli_stmt_bind_result_do_bind()
430 stmt->result.buf[ofs].type = IS_DOUBLE; in mysqli_stmt_bind_result_do_bind()
431 stmt->result.buf[ofs].buflen = sizeof(double); in mysqli_stmt_bind_result_do_bind()
434 stmt->result.buf[ofs].val = (char *)emalloc(sizeof(double)); in mysqli_stmt_bind_result_do_bind()
436 bind[ofs].buffer = stmt->result.buf[ofs].val; in mysqli_stmt_bind_result_do_bind()
437 bind[ofs].is_null = &stmt->result.is_null[ofs]; in mysqli_stmt_bind_result_do_bind()
441 stmt->result.buf[ofs].type = IS_NULL; in mysqli_stmt_bind_result_do_bind()
450 bind[ofs].is_null = &stmt->result.is_null[ofs]; in mysqli_stmt_bind_result_do_bind()
459 stmt->result.buf[ofs].type = IS_LONG; in mysqli_stmt_bind_result_do_bind()
461 stmt->result.buf[ofs].val = (char *)emalloc(sizeof(int)); in mysqli_stmt_bind_result_do_bind()
463 bind[ofs].buffer = stmt->result.buf[ofs].val; in mysqli_stmt_bind_result_do_bind()
464 bind[ofs].is_null = &stmt->result.is_null[ofs]; in mysqli_stmt_bind_result_do_bind()
465 bind[ofs].is_unsigned = (stmt->stmt->fields[ofs].flags & UNSIGNED_FLAG) ? 1 : 0; in mysqli_stmt_bind_result_do_bind()
472 stmt->result.buf[ofs].type = IS_STRING; in mysqli_stmt_bind_result_do_bind()
473 stmt->result.buf[ofs].buflen = sizeof(my_ulonglong); in mysqli_stmt_bind_result_do_bind()
474 stmt->result.buf[ofs].val = (char *)emalloc(stmt->result.buf[ofs].buflen); in mysqli_stmt_bind_result_do_bind()
476 bind[ofs].buffer = stmt->result.buf[ofs].val; in mysqli_stmt_bind_result_do_bind()
477 bind[ofs].is_null = &stmt->result.is_null[ofs]; in mysqli_stmt_bind_result_do_bind()
478 bind[ofs].buffer_length = stmt->result.buf[ofs].buflen; in mysqli_stmt_bind_result_do_bind()
479 bind[ofs].is_unsigned = (stmt->stmt->fields[ofs].flags & UNSIGNED_FLAG) ? 1 : 0; in mysqli_stmt_bind_result_do_bind()
480 bind[ofs].length = &stmt->result.buf[ofs].output_len; in mysqli_stmt_bind_result_do_bind()
506 stmt->result.buf[ofs].type = IS_STRING; in mysqli_stmt_bind_result_do_bind()
512 if (stmt->stmt->fields[ofs].max_length == 0 && in mysqli_stmt_bind_result_do_bind()
513 !mysql_stmt_attr_get(stmt->stmt, STMT_ATTR_UPDATE_MAX_LENGTH, &tmp) && !tmp) in mysqli_stmt_bind_result_do_bind()
521 stmt->result.buf[ofs].buflen = in mysqli_stmt_bind_result_do_bind()
522 …(stmt->stmt->fields) ? (stmt->stmt->fields[ofs].length) ? stmt->stmt->fields[ofs].length + 1: 256:… in mysqli_stmt_bind_result_do_bind()
529 if (!(stmt->result.buf[ofs].buflen = stmt->stmt->fields[ofs].max_length)) in mysqli_stmt_bind_result_do_bind()
530 ++stmt->result.buf[ofs].buflen; in mysqli_stmt_bind_result_do_bind()
532 stmt->result.buf[ofs].val = (char *)emalloc(stmt->result.buf[ofs].buflen); in mysqli_stmt_bind_result_do_bind()
534 bind[ofs].buffer = stmt->result.buf[ofs].val; in mysqli_stmt_bind_result_do_bind()
535 bind[ofs].is_null = &stmt->result.is_null[ofs]; in mysqli_stmt_bind_result_do_bind()
536 bind[ofs].buffer_length = stmt->result.buf[ofs].buflen; in mysqli_stmt_bind_result_do_bind()
537 bind[ofs].length = &stmt->result.buf[ofs].output_len; in mysqli_stmt_bind_result_do_bind()
546 rc = mysql_stmt_bind_result(stmt->stmt, bind); in mysqli_stmt_bind_result_do_bind()
547 MYSQLI_REPORT_STMT_ERROR(stmt->stmt); in mysqli_stmt_bind_result_do_bind()
552 if (stmt->result.buf[i].val) { in mysqli_stmt_bind_result_do_bind()
553 efree(stmt->result.buf[i].val); in mysqli_stmt_bind_result_do_bind()
557 efree(stmt->result.buf); in mysqli_stmt_bind_result_do_bind()
559 stmt->result.var_cnt = var_cnt; in mysqli_stmt_bind_result_do_bind()
560 stmt->result.vars = (zval **)safe_emalloc((var_cnt), sizeof(zval), 0); in mysqli_stmt_bind_result_do_bind()
564 stmt->result.vars[ofs] = *args[i]; in mysqli_stmt_bind_result_do_bind()
573 mysqli_stmt_bind_result_do_bind(MY_STMT *stmt, zval ***args, unsigned int argc, unsigned int start … in mysqli_stmt_bind_result_do_bind() argument
576 MYSQLND_RESULT_BIND * params = mysqlnd_stmt_alloc_result_bind(stmt->stmt); in mysqli_stmt_bind_result_do_bind()
581 return mysqlnd_stmt_bind_result(stmt->stmt, params); in mysqli_stmt_bind_result_do_bind()
596 MY_STMT *stmt; in PHP_FUNCTION() local
607 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID); in PHP_FUNCTION()
613 if ((argc - start) != mysql_stmt_field_count(stmt->stmt)) { in PHP_FUNCTION()
625 rc = mysqli_stmt_bind_result_do_bind(stmt, args, argc, start TSRMLS_CC); in PHP_FUNCTION()
899 MY_STMT *stmt; local
909 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
912 if (stmt->param.var_cnt) {
914 for (i = 0; i < stmt->param.var_cnt; i++) {
915 for (j = i + 1; j < stmt->param.var_cnt; j++) {
917 if (stmt->param.vars[j] == stmt->param.vars[i] && stmt->param.vars[i]) {
918 php_mysqli_stmt_copy_it(&copies, stmt->param.vars[i], stmt->param.var_cnt, i);
924 for (i = 0; i < stmt->param.var_cnt; i++) {
925 if (stmt->param.vars[i]) {
926 if ( !(stmt->param.is_null[i] = (stmt->param.vars[i]->type == IS_NULL)) ) {
927 zval *the_var = copies && copies[i]? copies[i]:stmt->param.vars[i];
928 switch (stmt->stmt->params[i].buffer_type) {
930 if (the_var == stmt->param.vars[i] && Z_TYPE_P(stmt->param.vars[i]) != IS_STRING) {
931 php_mysqli_stmt_copy_it(&copies, stmt->param.vars[i], stmt->param.var_cnt, i);
935 stmt->stmt->params[i].buffer = Z_STRVAL_P(the_var);
936 stmt->stmt->params[i].buffer_length = Z_STRLEN_P(the_var);
939 if (the_var == stmt->param.vars[i] && Z_TYPE_P(stmt->param.vars[i]) != IS_DOUBLE) {
940 php_mysqli_stmt_copy_it(&copies, stmt->param.vars[i], stmt->param.var_cnt, i);
944 stmt->stmt->params[i].buffer = &Z_DVAL_P(the_var);
948 if (the_var == stmt->param.vars[i] && Z_TYPE_P(stmt->param.vars[i]) != IS_LONG) {
949 php_mysqli_stmt_copy_it(&copies, stmt->param.vars[i], stmt->param.var_cnt, i);
953 stmt->stmt->params[i].buffer = &Z_LVAL_P(the_var);
963 if (mysql_stmt_execute(stmt->stmt)) {
964 MYSQLI_REPORT_STMT_ERROR(stmt->stmt);
972 for (i = 0; i < stmt->param.var_cnt; i++) {
982 php_mysqli_report_index(stmt->query, mysqli_stmt_server_status(stmt->stmt) TSRMLS_CC);
992 MY_STMT *stmt; local
1003 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
1006 for (i = 0; i < stmt->result.var_cnt; i++) {
1007 if (stmt->result.buf[i].type == IS_STRING) {
1008 memset(stmt->result.buf[i].val, 0, stmt->result.buf[i].buflen);
1011 ret = mysql_stmt_fetch(stmt->stmt);
1017 for (i = 0; i < stmt->result.var_cnt; i++) {
1024 if (Z_TYPE_P(stmt->result.vars[i]) == IS_STRING) {
1025 STR_FREE(stmt->result.vars[i]->value.str.val);
1027 if (!stmt->result.is_null[i]) {
1028 switch (stmt->result.buf[i].type) {
1030 if ((stmt->stmt->fields[i].type == MYSQL_TYPE_LONG)
1031 && (stmt->stmt->fields[i].flags & UNSIGNED_FLAG))
1034 uval= *(unsigned int *) stmt->result.buf[i].val;
1047 ZVAL_STRINGL(stmt->result.vars[i], tmp, 10, 0);
1052 if (stmt->stmt->fields[i].flags & UNSIGNED_FLAG) {
1053 ZVAL_LONG(stmt->result.vars[i], *(unsigned int *)stmt->result.buf[i].val);
1055 ZVAL_LONG(stmt->result.vars[i], *(int *)stmt->result.buf[i].val);
1061 if (stmt->stmt->bind[i].buffer_type == MYSQL_TYPE_FLOAT) {
1065 dval = mysql_float_to_double(*(float *)stmt->result.buf[i].val,
1066 (stmt->stmt->fields[i].decimals >= NOT_FIXED_DEC) ? -1 :
1067 stmt->stmt->fields[i].decimals);
1069 dval = *((double *)stmt->result.buf[i].val);
1072 ZVAL_DOUBLE(stmt->result.vars[i], dval);
1076 if (stmt->stmt->bind[i].buffer_type == MYSQL_TYPE_LONGLONG
1078 || stmt->stmt->bind[i].buffer_type == MYSQL_TYPE_BIT
1081 my_bool uns= (stmt->stmt->fields[i].flags & UNSIGNED_FLAG)? 1:0;
1083 if (stmt->stmt->bind[i].buffer_type == MYSQL_TYPE_BIT) {
1084 switch (stmt->result.buf[i].output_len) {
1085 case 8:llval = (my_ulonglong) bit_uint8korr(stmt->result.buf[i].val);break;
1086 case 7:llval = (my_ulonglong) bit_uint7korr(stmt->result.buf[i].val);break;
1087 case 6:llval = (my_ulonglong) bit_uint6korr(stmt->result.buf[i].val);break;
1088 case 5:llval = (my_ulonglong) bit_uint5korr(stmt->result.buf[i].val);break;
1089 case 4:llval = (my_ulonglong) bit_uint4korr(stmt->result.buf[i].val);break;
1090 case 3:llval = (my_ulonglong) bit_uint3korr(stmt->result.buf[i].val);break;
1091 case 2:llval = (my_ulonglong) bit_uint2korr(stmt->result.buf[i].val);break;
1092 case 1:llval = (my_ulonglong) uint1korr(stmt->result.buf[i].val);break;
1097 llval= *(my_ulonglong *) stmt->result.buf[i].val;
1112 …snprintf(tmp, sizeof(tmp), (stmt->stmt->fields[i].flags & UNSIGNED_FLAG)? MYSQLI_LLU_SPEC : MYSQLI…
1113 ZVAL_STRING(stmt->result.vars[i], tmp, 1);
1115 ZVAL_LONG(stmt->result.vars[i], llval);
1119 if (ret == MYSQL_DATA_TRUNCATED && *(stmt->stmt->bind[i].error) != 0) {
1121 ZVAL_STRINGL(stmt->result.vars[i], stmt->result.buf[i].val,
1122 stmt->stmt->bind[i].buffer_length, 1);
1127 ZVAL_STRINGL(stmt->result.vars[i], stmt->result.buf[i].val,
1128 stmt->result.buf[i].output_len, 1);
1136 ZVAL_NULL(stmt->result.vars[i]);
1140 MYSQLI_REPORT_STMT_ERROR(stmt->stmt);
1167 MY_STMT *stmt; local
1174 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
1176 if (FAIL == mysqlnd_stmt_fetch(stmt->stmt, &fetched_anything)) {
1658 MY_STMT *stmt; local
1664 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
1666 RETURN_BOOL(mysqlnd_stmt_more_results(stmt->stmt));
1674 MY_STMT *stmt; local
1680 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
1682 if (!mysqlnd_stmt_more_results(stmt->stmt)) {
1688 RETURN_BOOL(!mysql_stmt_next_result(stmt->stmt));
1883 MY_STMT *stmt; local
1901 stmt = (MY_STMT *)ecalloc(1,sizeof(MY_STMT));
1903 if ((stmt->stmt = mysql_stmt_init(mysql->mysql))) {
1904 if (mysql_stmt_prepare(stmt->stmt, query, query_len)) {
1911 last_errno = stmt->stmt->last_errno;
1912 memcpy(last_error, stmt->stmt->last_error, MYSQL_ERRMSG_SIZE);
1917 mysqli_stmt_close(stmt->stmt, FALSE);
1918 stmt->stmt = NULL;
1933 if (stmt->stmt && query_len && (MyG(report_mode) & MYSQLI_REPORT_INDEX)) {
1934 stmt->query = (char *)emalloc(query_len + 1);
1935 memcpy(stmt->query, query, query_len);
1936 stmt->query[query_len] = '\0';
1940 if (!stmt->stmt) {
1942 efree(stmt);
1946 stmt->link_handle = Z_OBJ_HANDLE(*mysql_link);
1947 zend_objects_store_add_ref_by_handle(stmt->link_handle TSRMLS_CC);
1951 mysqli_resource->ptr = (void *)stmt;
2052 MY_STMT *stmt; local
2061 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2067 if (mysql_stmt_send_long_data(stmt->stmt, param_nr, data, data_len)) {
2079 MY_STMT *stmt; local
2086 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2088 rc = mysql_stmt_affected_rows(stmt->stmt);
2100 MY_STMT *stmt; local
2106 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2108 mysqli_stmt_close(stmt->stmt, FALSE);
2109 stmt->stmt = NULL;
2110 php_clear_stmt_bind(stmt TSRMLS_CC);
2120 MY_STMT *stmt; local
2132 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2134 mysql_stmt_data_seek(stmt->stmt, offset);
2142 MY_STMT *stmt; local
2148 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2150 RETURN_LONG(mysql_stmt_field_count(stmt->stmt));
2158 MY_STMT *stmt; local
2165 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2167 mysql_stmt_free_result(stmt->stmt);
2175 MY_STMT *stmt; local
2182 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2183 rc = mysql_stmt_insert_id(stmt->stmt);
2192 MY_STMT *stmt; local
2198 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2200 RETURN_LONG(mysql_stmt_param_count(stmt->stmt));
2208 MY_STMT *stmt; local
2215 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2217 if (mysql_stmt_reset(stmt->stmt)) {
2228 MY_STMT *stmt; local
2236 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2238 rc = mysql_stmt_num_rows(stmt->stmt);
2366 MY_STMT *stmt; local
2379 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2399 if (mysql_stmt_attr_set(stmt->stmt, attr, mode_p)) {
2401 if (FAIL == mysql_stmt_attr_set(stmt->stmt, attr, mode_p)) {
2413 MY_STMT *stmt; local
2422 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2424 if ((rc = mysql_stmt_attr_get(stmt->stmt, attr, &value))) {
2440 MY_STMT *stmt; local
2446 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_INITIALIZED);
2448 RETURN_LONG(mysql_stmt_errno(stmt->stmt));
2456 MY_STMT *stmt; local
2463 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_INITIALIZED);
2465 err = mysql_stmt_error(stmt->stmt);
2478 MY_STMT *stmt; local
2487 stmt = (MY_STMT *)ecalloc(1,sizeof(MY_STMT));
2489 if (!(stmt->stmt = mysql_stmt_init(mysql->mysql))) {
2490 efree(stmt);
2494 stmt->link_handle = Z_OBJ_HANDLE(*mysql_link);
2495 zend_objects_store_add_ref_by_handle(stmt->link_handle TSRMLS_CC);
2500 mysqli_resource->ptr = (void *)stmt;
2510 MY_STMT *stmt; local
2518 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_INITIALIZED);
2520 if (mysql_stmt_prepare(stmt->stmt, query, query_len)) {
2521 MYSQLI_REPORT_STMT_ERROR(stmt->stmt);
2534 MY_STMT *stmt; local
2542 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2544 if (!(result = mysql_stmt_result_metadata(stmt->stmt))){
2545 MYSQLI_REPORT_STMT_ERROR(stmt->stmt);
2560 MY_STMT *stmt; local
2566 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2579 for (i = mysql_stmt_field_count(stmt->stmt) - 1; i >=0; --i) {
2580 if (stmt->stmt->fields && (stmt->stmt->fields[i].type == MYSQL_TYPE_BLOB ||
2581 stmt->stmt->fields[i].type == MYSQL_TYPE_MEDIUM_BLOB ||
2582 stmt->stmt->fields[i].type == MYSQL_TYPE_LONG_BLOB ||
2583 stmt->stmt->fields[i].type == MYSQL_TYPE_GEOMETRY))
2590 mysql_stmt_attr_set(stmt->stmt, STMT_ATTR_UPDATE_MAX_LENGTH, &tmp);
2597 if (mysql_stmt_store_result(stmt->stmt)){
2598 MYSQLI_REPORT_STMT_ERROR(stmt->stmt);
2609 MY_STMT *stmt; local
2616 MYSQLI_FETCH_RESOURCE_STMT(stmt, &mysql_stmt, MYSQLI_STATUS_VALID);
2618 state = mysql_stmt_sqlstate(stmt->stmt);