@@ -25,6 +25,10 @@ interface DBSQLParameterOptions {
2525 value : DBSQLParameterValue ;
2626}
2727
28+ interface ToSparkParameterOptions {
29+ name ?: string ;
30+ }
31+
2832export class DBSQLParameter {
2933 public readonly type ?: string ;
3034
@@ -35,19 +39,20 @@ export class DBSQLParameter {
3539 this . value = value ;
3640 }
3741
38- public toSparkParameter ( ) : TSparkParameter {
42+ public toSparkParameter ( { name } : ToSparkParameterOptions = { } ) : TSparkParameter {
3943 // If VOID type was set explicitly - ignore value
4044 if ( this . type === DBSQLParameterType . VOID ) {
41- return new TSparkParameter ( ) ; // for NULL neither `type` nor `value` should be set
45+ return new TSparkParameter ( { name } ) ; // for NULL neither `type` nor `value` should be set
4246 }
4347
4448 // Infer NULL values
4549 if ( this . value === undefined || this . value === null ) {
46- return new TSparkParameter ( ) ; // for NULL neither `type` nor `value` should be set
50+ return new TSparkParameter ( { name } ) ; // for NULL neither `type` nor `value` should be set
4751 }
4852
4953 if ( typeof this . value === 'boolean' ) {
5054 return new TSparkParameter ( {
55+ name,
5156 type : this . type ?? DBSQLParameterType . BOOLEAN ,
5257 value : new TSparkParameterValue ( {
5358 stringValue : this . value ? 'TRUE' : 'FALSE' ,
@@ -57,6 +62,7 @@ export class DBSQLParameter {
5762
5863 if ( typeof this . value === 'number' ) {
5964 return new TSparkParameter ( {
65+ name,
6066 type : this . type ?? ( Number . isInteger ( this . value ) ? DBSQLParameterType . INTEGER : DBSQLParameterType . DOUBLE ) ,
6167 value : new TSparkParameterValue ( {
6268 stringValue : Number ( this . value ) . toString ( ) ,
@@ -66,6 +72,7 @@ export class DBSQLParameter {
6672
6773 if ( this . value instanceof Int64 || typeof this . value === 'bigint' ) {
6874 return new TSparkParameter ( {
75+ name,
6976 type : this . type ?? DBSQLParameterType . BIGINT ,
7077 value : new TSparkParameterValue ( {
7178 stringValue : this . value . toString ( ) ,
@@ -75,6 +82,7 @@ export class DBSQLParameter {
7582
7683 if ( this . value instanceof Date ) {
7784 return new TSparkParameter ( {
85+ name,
7886 type : this . type ?? DBSQLParameterType . TIMESTAMP ,
7987 value : new TSparkParameterValue ( {
8088 stringValue : this . value . toISOString ( ) ,
@@ -83,6 +91,7 @@ export class DBSQLParameter {
8391 }
8492
8593 return new TSparkParameter ( {
94+ name,
8695 type : this . type ?? DBSQLParameterType . STRING ,
8796 value : new TSparkParameterValue ( {
8897 stringValue : this . value ,
0 commit comments