[WINESYNC] msi: Support NULL value in INSERT query.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 63ccdfeaaab56aca42d21a884789eb5048064276 by Piotr Caban <piotr@codeweavers.com>
This commit is contained in:
winesync 2022-03-12 15:11:50 +01:00 committed by Mark Jansen
parent 2dce4ee7d2
commit 18123440c0
No known key found for this signature in database
GPG key ID: B39240EE84BEAE8B
2 changed files with 9 additions and 2 deletions

View file

@ -658,6 +658,12 @@ const_val:
if( !$$ )
YYABORT;
}
| TK_NULL
{
$$ = EXPR_sval( info, NULL );
if ( !$$ )
YYABORT;
}
;
column_val:
@ -921,7 +927,8 @@ static struct expr * EXPR_sval( void *info, const struct sql_str *str )
if( e )
{
e->type = EXPR_SVAL;
if( SQL_getstring( info, str, (LPWSTR *)&e->u.sval ) != ERROR_SUCCESS )
if( !str) e->u.sval = NULL;
else if( SQL_getstring( info, str, (LPWSTR *)&e->u.sval ) != ERROR_SUCCESS )
return NULL; /* e will be freed by query destructor */
}
return e;

View file

@ -3705,7 +3705,7 @@ static void test_states(void)
add_custom_action_entry( hdb, "'ConditionCheck7', 19, '', 'Condition check failed (7)'" );
add_custom_action_entry( hdb, "'ConditionCheck8', 19, '', 'Condition check failed (8)'" );
add_custom_action_entry( hdb,
"'VBFeatureRequest', 38, '', 'Session.FeatureRequestState(\"three\") = 3'" );
"'VBFeatureRequest', 38, NULL, 'Session.FeatureRequestState(\"three\") = 3'" );
add_install_execute_sequence_entry( hdb, "'ConditionCheck1', 'REINSTALL', '798'" );
add_install_execute_sequence_entry( hdb, "'ConditionCheck2', 'NOT REMOVE AND Preselected', '799'" );