8 using System.Collections.Generic;
10 using System.Text.RegularExpressions;
21 public static string Truncate(
this string value,
int maxLength )
23 if (
string.IsNullOrEmpty( value ) )
26 return ( value.Length <= maxLength ) ? value : value.Substring( 0, maxLength );
38 static void Main(
string[] args )
40 Console.WriteLine(
"Testing C# Project - Running" );
43 if ( args.Length < 1 )
45 Console.WriteLine(
"Missing URL as command-line parameter." );
46 Console.WriteLine(
"E.g., http://kinetica:9191" );
52 string server_url = args[0];
53 Console.WriteLine(
"URL: {0}", server_url );
58 test_authentication( server_url );
59 test_all_types_allshard( server_url );
60 test_all_types_3pk_3shard( server_url );
61 test_all_types_ip_regex_3shard_0pk( server_url );
62 test_all_types_3pk_0shard( server_url );
66 Console.WriteLine(
"Caught InsertException: {0}", ex.Message );
70 Console.WriteLine(
"Caught KineticaException: {0}", ex.Message );
72 catch ( Exception ex )
74 Console.WriteLine(
"Caught Exception: {0}", ex.Message );
79 Console.WriteLine(
"Testing C# Project - Done" );
81 Console.WriteLine(
"Enter any 7-digit prime number to continue: " );
86 private class record_type_short
88 public int i {
get;
set; }
89 public int i8 {
get;
set; }
91 public override string ToString()
93 return $
"{{ i={i}, i8={i8} }}";
98 private static void test_authentication(
string server_url )
100 Console.WriteLine(
"\n\n" );
101 Console.WriteLine(
"Test Authentication" );
102 Console.WriteLine(
"===================" );
105 Console.WriteLine(
"This test is done dynamically:" );
106 Console.WriteLine(
"------------------------------" );
107 Console.WriteLine(
"* First run--create the user with the 'correct' username" );
108 Console.WriteLine(
"* Second run--comment out user creation; run with 'correct'" );
109 Console.WriteLine(
" username and make sure that the endpoints go through" );
110 Console.WriteLine(
"* Third run--comment out user creation; run with 'wrong'" );
111 Console.WriteLine(
" username and make sure that we get an 'insufficient credentials'" );
112 Console.WriteLine(
" error thrown from the server." );
115 string username =
"abcdef";
117 string password =
"ghijkl123_";
122 Console.WriteLine( $
"Creating a user {username}" );
124 IDictionary <string, string> options =
new Dictionary<string, string>();
131 Console.WriteLine(
"Caught exception: " + ex.Message );
135 Console.WriteLine(
"Creating a DB handle with the proper username and password" );
138 db_options.Password = password;
145 string type_id = type1.
create( kdb );
147 string table_name =
"csharp_example_table_01_auth";
149 Console.WriteLine(
"Clearing any existing table named '{0}'", table_name );
150 try { kdb.
clearTable( table_name, null ); }
catch ( Exception ex ) { }
154 Console.WriteLine( $
"Creating table named '{table_name}'" );
159 int num_records = 5000;
161 Console.WriteLine( $
"Generated {num_records} records." );
165 private class record_type_all
167 public int? i {
get;
set; }
168 public int? i8 {
get;
set; }
169 public int? i16 {
get;
set; }
170 public long l {
get;
set; }
171 public float? f {
get;
set; }
172 public double? d {
get;
set; }
173 public string s {
get;
set; }
174 public string c1 {
get;
set; }
175 public string c2 {
get;
set; }
176 public string c4 {
get;
set; }
177 public string c8 {
get;
set; }
178 public string c16 {
get;
set; }
179 public string c32 {
get;
set; }
180 public string c64 {
get;
set; }
181 public string c128 {
get;
set; }
182 public string c256 {
get;
set; }
183 public string date {
get;
set; }
184 public string datetime {
get;
set; }
185 public string decimal_ {
get;
set; }
186 public string ipv4 {
get;
set; }
187 public string time {
get;
set; }
188 public long? timestamp {
get;
set; }
190 public override string ToString()
197 return $
"{{ i={i}, i8={i8}, i16={i16}, l={l}, f={f}, d={d_}, s={s}, c1={c1}, c2={c2}, c4={c4}, c8={c8}, c16={c16}, c32={c32}, c64={c64}, c128={c128}, c256={c256}, date={date}, datetime={datetime}, decimal_={decimal_}, ipv4={ipv4}, time={time}, timestamp={timestamp} }}";
202 private static void test_all_types_allshard(
string server_url )
207 Console.WriteLine(
"\n\n" );
208 Console.WriteLine(
"Test Multihead Ingest: One column per Type; All are Shard Keys, 0 Primary Keys" );
209 Console.WriteLine(
"==============================================================================" );
212 Console.WriteLine(
"Creating a type with all column types (all are nullable and shard columns).\n" );
216 IDictionary<string, IList<string>> column_properties =
new Dictionary<string, IList<string>>();
219 List<string> i_props =
new List<string>();
221 column_properties.Add(
"i", i_props );
224 List<string> i8_props =
new List<string>();
227 column_properties.Add(
"i8", i8_props );
229 List<string> i16_props =
new List<string>();
232 column_properties.Add(
"i16", i16_props );
235 List<string> d_props =
new List<string>();
237 column_properties.Add(
"d", d_props );
240 List<string> f_props =
new List<string>();
242 column_properties.Add(
"f", f_props );
245 List<string> l_props =
new List<string>();
248 column_properties.Add(
"l", l_props );
251 List<string> s_props =
new List<string>();
254 column_properties.Add(
"s", s_props );
257 List<string> c1_props =
new List<string>();
261 column_properties.Add(
"c1", c1_props );
264 List<string> c2_props =
new List<string>();
268 column_properties.Add(
"c2", c2_props );
271 List<string> c4_props =
new List<string>();
275 column_properties.Add(
"c4", c4_props );
278 List<string> c8_props =
new List<string>();
282 column_properties.Add(
"c8", c8_props );
285 List<string> c16_props =
new List<string>();
289 column_properties.Add(
"c16", c16_props );
292 List<string> c32_props =
new List<string>();
296 column_properties.Add(
"c32", c32_props );
299 List<string> c64_props =
new List<string>();
303 column_properties.Add(
"c64", c64_props );
306 List<string> c128_props =
new List<string>();
310 column_properties.Add(
"c128", c128_props );
313 List<string> c256_props =
new List<string>();
317 column_properties.Add(
"c256", c256_props );
320 List<string> date_props =
new List<string>();
324 column_properties.Add(
"date", date_props );
327 List<string> datetime_props =
new List<string>();
331 column_properties.Add(
"datetime", datetime_props );
334 List<string> decimal_props =
new List<string>();
338 column_properties.Add(
"decimal_", decimal_props );
341 List<string> ipv4_props =
new List<string>();
345 column_properties.Add(
"ipv4", ipv4_props );
348 List<string> time_props =
new List<string>();
352 column_properties.Add(
"time", time_props );
355 List<string> timestamp_props =
new List<string>();
358 column_properties.Add(
"timestamp", timestamp_props );
364 string type_id = type1.
create( kdb );
367 Console.WriteLine(
"Created type.\n" );
369 string table_name =
"csharp_example_table_all_shards";
371 Console.WriteLine(
"Clearing any existing table named '{0}'\n", table_name );
372 try { kdb.
clearTable( table_name, null ); }
catch ( Exception ex ) { }
376 Console.WriteLine( $
"Creating table named '{table_name}'\n" );
381 int batch_size = 1000;
386 int num_records = batch_size * 100;
387 Console.WriteLine( $
"Starting to generate {num_records} records.\n" );
388 List<record_type_all> records =
new List<record_type_all>();
389 Random rng =
new Random();
390 double null_probability = 0.15;
391 for (
int i = 0; i < num_records; ++i )
394 int max_str_len = rng.Next( 0, 256 );
395 record_type_all record =
new record_type_all()
397 i = ( rng.NextDouble() < null_probability ) ? null : (
int?) rng.Next(),
398 i8 = ( rng.NextDouble() < null_probability ) ? null : (
int?) rng.Next( -128, 128 ),
399 i16 = ( rng.NextDouble() < null_probability ) ? null : (
int?) rng.Next( -32768, 32768),
400 l = (long)rng.Next(),
402 f = ( rng.NextDouble() < null_probability ) ? null : (
float?)(rng.NextDouble() * rng.Next()),
403 d = ( rng.NextDouble() < null_probability ) ? null : (
double? ) ( rng.NextDouble() * rng.Next() ),
404 s = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( max_str_len ),
405 c1 = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( 1 ),
406 c2 = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( 2 ),
407 c4 = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( rng.Next( 0, 5) ),
408 c8 = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( rng.Next( 0, 9) ),
409 c16 = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( rng.Next( 0, 17) ),
410 c32 = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( rng.Next( 5, 33) ),
411 c64 = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( rng.Next( 10, 65) ),
412 c128 = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( rng.Next( 10, 129) ),
413 c256 = ( rng.NextDouble() < null_probability ) ? null :
System.IO.Path.GetRandomFileName().Truncate( rng.Next( 25, 257) ),
414 date = ( rng.NextDouble() < null_probability ) ? null :
Test.generate_date( rng ),
415 datetime = (rng.NextDouble() < null_probability) ? null :
Test.generate_datetime(rng),
416 decimal_ = (rng.NextDouble() < null_probability) ? null :
Test.generate_decimal(rng),
417 ipv4 = ( rng.NextDouble() < null_probability ) ? null :
Test.generate_IPv4( rng ),
418 time = (rng.NextDouble() < null_probability) ? null :
Test.generate_time(rng),
419 timestamp = ( rng.NextDouble() < null_probability ) ? null : ((
long?)rng.Next( -306102240, 293795424 ) * rng.Next( 100000 ))
424 ingestor.
insert( record );
427 Console.WriteLine( $
"Generated {num_records} records." );
434 Console.WriteLine(
"\nFlushing any remaining records." );
439 private static void test_all_types_ip_regex_3shard_0pk(
string server_url )
444 Console.WriteLine(
"\n\n" );
445 Console.WriteLine(
"Test Multihead Ingest with a Regex Given for Worker IP Addresses (3 shard keys, no PKs)" );
446 Console.WriteLine(
"=======================================================================================" );
451 IDictionary<string, IList<string>> column_properties =
new Dictionary<string, IList<string>>();
453 List<string> i_props =
new List<string>();
455 column_properties.Add(
"i", i_props );
457 List<string> d_props =
new List<string>();
459 column_properties.Add(
"d", d_props );
461 List<string> i16_props =
new List<string>();
463 column_properties.Add(
"i16", i16_props );
469 string type_id = type1.
create( kdb );
471 string table_name =
"csharp_example_table_3s0pk";
473 Console.WriteLine(
"Clearing any existing table named '{0}'", table_name );
474 try { kdb.
clearTable( table_name, null ); }
catch ( Exception ex ) { }
478 Console.WriteLine( $
"Creating table named '{table_name}'" );
483 int batch_size = 100;
484 Regex ip_regex =
new Regex(
"172.30.*" );
489 int num_records = batch_size * 5;
490 List<record_type_all> records =
new List<record_type_all>();
491 Random rng =
new Random();
492 double null_probability = 0.2;
493 for (
int i = 0; i < num_records; ++i )
496 int max_str_len = rng.Next( 0, 256 );
497 record_type_all record =
new record_type_all()
502 l = (long)rng.Next(),
503 f = (float)(rng.NextDouble() * rng.Next()),
504 d = ( rng.NextDouble() < null_probability ) ? null : (
double? ) ( rng.NextDouble() * rng.Next() ),
505 s =
System.IO.Path.GetRandomFileName().Truncate( max_str_len ),
506 c1 =
System.IO.Path.GetRandomFileName().Truncate( 1 ),
507 c2 =
System.IO.Path.GetRandomFileName().Truncate( 2 ),
508 c4 =
System.IO.Path.GetRandomFileName().Truncate( 4 ),
509 c8 =
System.IO.Path.GetRandomFileName().Truncate( 8 ),
510 c16 =
System.IO.Path.GetRandomFileName().Truncate( 16 ),
511 c32 =
System.IO.Path.GetRandomFileName().Truncate( 32 ),
512 c64 =
System.IO.Path.GetRandomFileName().Truncate( 64 ),
513 c128 =
System.IO.Path.GetRandomFileName().Truncate( 128 ),
514 c256 =
System.IO.Path.GetRandomFileName().Truncate( 256 ),
515 date =
Test.generate_date( rng ),
516 datetime =
Test.generate_datetime( rng ),
517 decimal_ =
Test.generate_decimal( rng ),
518 ipv4 =
Test.generate_IPv4( rng ),
519 time =
Test.generate_time( rng ),
520 timestamp = (long) rng.Next()
524 records.Add( record );
527 Console.WriteLine( $
"Generated {num_records} records." );
530 Console.WriteLine( $
"Inserting {num_records} records..." );
531 ingestor.
insert( records );
534 Console.WriteLine(
"\nFlushing any remaining records." );
541 private static void test_all_types_3pk_3shard(
string server_url )
546 Console.WriteLine(
"\n\n" );
547 Console.WriteLine(
"Test Multihead Ingest: One column per Type; 3 Primary Keys, 3 Shard Keys" );
548 Console.WriteLine(
"========================================================================" );
553 IDictionary<string, IList<string>> column_properties =
new Dictionary<string, IList<string>>();
556 List<string> l_props =
new List<string>();
559 column_properties.Add(
"l", l_props );
562 List<string> date_props =
new List<string>();
566 column_properties.Add(
"date", date_props );
569 List<string> time_props =
new List<string>();
573 column_properties.Add(
"time", time_props );
579 string type_id = type1.
create( kdb );
583 string table_name =
"csharp_example_table_3s3pk";
585 Console.WriteLine(
"Clearing any existing table named '{0}'", table_name );
586 try { kdb.
clearTable( table_name, null ); }
catch ( Exception ex ) { }
590 Console.WriteLine( $
"Creating table named '{table_name}'" );
595 int batch_size = 100;
599 int num_records = batch_size * 50;
600 Random rng =
new Random();
601 double null_probability = 0.2;
602 for (
int i = 0; i < num_records; ++i )
605 int max_str_len = rng.Next( 0, 256 );
606 record_type_all record =
new record_type_all()
611 l = (long)rng.Next(),
612 f = (float)(rng.NextDouble() * rng.Next()),
613 d = ( rng.NextDouble() < null_probability ) ? null : (
double? ) ( rng.NextDouble() * rng.Next() ),
614 s =
System.IO.Path.GetRandomFileName().Truncate( max_str_len ),
615 c1 =
System.IO.Path.GetRandomFileName().Truncate( 1 ),
616 c2 =
System.IO.Path.GetRandomFileName().Truncate( 2 ),
617 c4 =
System.IO.Path.GetRandomFileName().Truncate( 4 ),
618 c8 =
System.IO.Path.GetRandomFileName().Truncate( 8 ),
619 c16 =
System.IO.Path.GetRandomFileName().Truncate( 16 ),
620 c32 =
System.IO.Path.GetRandomFileName().Truncate( 32 ),
621 c64 =
System.IO.Path.GetRandomFileName().Truncate( 64 ),
622 c128 =
System.IO.Path.GetRandomFileName().Truncate( 128 ),
623 c256 =
System.IO.Path.GetRandomFileName().Truncate( 256 ),
624 date =
Test.generate_date( rng ),
625 datetime =
Test.generate_datetime( rng ),
626 decimal_ =
Test.generate_decimal( rng ),
627 ipv4 =
Test.generate_IPv4( rng ),
628 time =
Test.generate_time( rng ),
629 timestamp = (long) rng.Next()
633 ingestor.
insert( record );
636 Console.WriteLine( $
"Generated {num_records} records." );
639 Console.WriteLine(
"\nFlushing any remaining records." );
645 private static void test_all_types_3pk_0shard(
string server_url )
650 Console.WriteLine(
"\n\n" );
651 Console.WriteLine(
"Test Multihead Ingest: One column per type; 3 Primary Keys, No Shard Key" );
652 Console.WriteLine(
"========================================================================" );
657 IDictionary<string, IList<string>> column_properties =
new Dictionary<string, IList<string>>();
660 List<string> l_props =
new List<string>();
662 column_properties.Add(
"l", l_props );
665 List<string> date_props =
new List<string>();
667 column_properties.Add(
"date", date_props );
670 List<string> time_props =
new List<string>();
672 column_properties.Add(
"time", time_props );
678 string type_id = type1.
create( kdb );
682 string table_name =
"csharp_example_table_0s3pk";
684 Console.WriteLine(
"Clearing any existing table named '{0}'", table_name );
685 try { kdb.
clearTable( table_name, null ); }
catch ( Exception ex ) { }
689 Console.WriteLine( $
"Creating table named '{table_name}'" );
694 int batch_size = 100;
698 int num_records = batch_size * 50;
699 Random rng =
new Random();
700 double null_probability = 0.2;
701 for (
int i = 0; i < num_records; ++i )
704 int max_str_len = rng.Next( 0, 256 );
705 record_type_all record =
new record_type_all()
710 l = (long)rng.Next(),
711 f = (float)(rng.NextDouble() * rng.Next()),
712 d = ( rng.NextDouble() < null_probability ) ? null : (
double? ) ( rng.NextDouble() * rng.Next() ),
713 s =
System.IO.Path.GetRandomFileName().Truncate( max_str_len ),
714 c1 =
System.IO.Path.GetRandomFileName().Truncate( 1 ),
715 c2 =
System.IO.Path.GetRandomFileName().Truncate( 2 ),
716 c4 =
System.IO.Path.GetRandomFileName().Truncate( 4 ),
717 c8 =
System.IO.Path.GetRandomFileName().Truncate( 8 ),
718 c16 =
System.IO.Path.GetRandomFileName().Truncate( 16 ),
719 c32 =
System.IO.Path.GetRandomFileName().Truncate( 32 ),
720 c64 =
System.IO.Path.GetRandomFileName().Truncate( 64 ),
721 c128 =
System.IO.Path.GetRandomFileName().Truncate( 128 ),
722 c256 =
System.IO.Path.GetRandomFileName().Truncate( 256 ),
723 date =
Test.generate_date( rng ),
724 datetime =
Test.generate_datetime( rng ),
725 decimal_ =
Test.generate_decimal( rng ),
726 ipv4 =
Test.generate_IPv4( rng ),
727 time =
Test.generate_time( rng ),
728 timestamp = (long) rng.Next()
732 ingestor.
insert( record );
735 Console.WriteLine( $
"Generated {num_records} records." );
738 Console.WriteLine(
"\nFlushing any remaining records." );
751 int past_range = -90 * 365;
752 int future_range = 20 * 365;
753 int offset = rng.Next( past_range, future_range );
754 DateTime random_date = DateTime.Today.AddDays( offset );
755 return String.Format(
"{0:yyyy-MM-dd}", random_date );
767 int past_range = -90 * 365;
768 int future_range = 20 * 365;
769 int offset = rng.Next( past_range, future_range );
770 int year = rng.Next(1900, 2500);
771 int month = rng.Next(1, 12);
772 int day = rng.Next(1, 28);
773 int hour = rng.Next(0, 23);
774 int minute = rng.Next(0, 59);
775 int second = rng.Next(0, 59);
776 int msecond = rng.Next(0, 999);
778 DateTime random_datetime =
new DateTime( year, month, day,
779 hour, minute, second, msecond );
782 int time_chance_percent = 90;
783 if (rng.Next(101) > time_chance_percent)
784 return String.Format(
"{0:yyyy-MM-dd}", random_datetime);
788 int num_ms_digits = rng.Next(7);
789 switch (num_ms_digits)
792 return String.Format(
"{0:yyyy-MM-dd HH:mm:ss}", random_datetime);
794 return String.Format(
"{0:yyyy-MM-dd HH:mm:ss.F}", random_datetime);
796 return String.Format(
"{0:yyyy-MM-dd HH:mm:ss.FF}", random_datetime);
798 return String.Format(
"{0:yyyy-MM-dd HH:mm:ss.FFF}", random_datetime);
800 return String.Format(
"{0:yyyy-MM-dd HH:mm:ss.FFFF}", random_datetime);
802 return String.Format(
"{0:yyyy-MM-dd HH:mm:ss.FFFFF}", random_datetime);
805 return String.Format(
"{0:yyyy-MM-dd HH:mm:ss.FFFFFF}", random_datetime);
812 private static readonly
string numbers =
"0123456789";
822 string sign = (rng.Next( 2 ) == 0) ?
"-" :
"";
825 string precision =
new string( Enumerable.Repeat(
'1', rng.Next( 15 ) ).Select( i =>
Test.numbers[ rng.Next( numbers.Length ) ] ).ToArray() );
826 string scale = rng.Next( 0, 10000 ).ToString();
827 return ( sign + precision +
"." + scale );
839 string n1 = rng.Next( 256 ).ToString();
840 string n2 = rng.Next( 256 ).ToString();
841 string n3 = rng.Next( 256 ).ToString();
842 string n4 = rng.Next( 256 ).ToString();
844 return ( n1 + dot + n2 + dot + n3 + dot + n4 );
856 int max_miliseconds = 86400000;
857 DateTime time = DateTime.Today;
859 time = time.Add( TimeSpan.FromMilliseconds( rng.Next( max_miliseconds ) ) );
862 if ( (time.Millisecond > 0) && (rng.Next( 1, 6 ) > 3) )
863 time_str = String.Format(
"{0:HH}:{0:mm}:{0:ss}.{0:FFF}", time );
865 time_str = String.Format(
"{0:HH}:{0:mm}:{0:ss}", time );
const string CHAR1
This property provides optimized memory, disk and query performance for string columns.
static string generate_decimal(Random rng)
Generate a random decimal value (up to 15 digits of precision and up to four digits of scale)...
const string DATETIME
Valid only for 'string' columns.
const string INT16
This property provides optimized memory and query performance for int columns.
static string generate_time(Random rng)
Generate a random time of the format HH:MM:SS[.mmm].
void insert(T record)
Queues a record for insertion into Kinetica.
const string PRIMARY_KEY
This property indicates that this column will be part of (or the entire) primary key.
static string generate_date(Random rng)
Generate a random date.
const string CHAR128
This property provides optimized memory, disk and query performance for string columns.
static string generate_IPv4(Random rng)
Generate a random IPv4 address.
CreateTableResponse createTable(CreateTableRequest request_)
Creates a new table or collection.
Column properties used for Kinetica types.
const string TIMESTAMP
Valid only for 'long' columns.
const string CHAR16
This property provides optimized memory, disk and query performance for string columns.
static string generate_datetime(Random rng)
Generate a random datetime.
A list of worker URLs to use for multi-head ingest.
Extension to string that has a truncate function.
const string CHAR64
This property provides optimized memory, disk and query performance for string columns.
const string CHAR4
This property provides optimized memory, disk and query performance for string columns.
const string CHAR2
This property provides optimized memory, disk and query performance for string columns.
const string DATE
Valid only for 'string' columns.
const string CHAR8
This property provides optimized memory, disk and query performance for string columns.
const string DECIMAL
Valid only for 'string' columns.
const string CHAR32
This property provides optimized memory, disk and query performance for string columns.
const string IPV4
This property provides optimized memory, disk and query performance for string columns representing I...
CreateUserInternalResponse createUserInternal(CreateUserInternalRequest request_)
Creates a new internal user (a user whose credentials are managed by the database system)...
ClearTableResponse clearTable(ClearTableRequest request_)
Clears (drops) one or all tables in the database cluster.
const string CHAR256
This property provides optimized memory, disk and query performance for string columns.
static KineticaType fromClass(Type recordClass, IDictionary< string, IList< string >> properties=null)
Create a KineticaType object from properties of a record class and Kinetica column properties...
const string SHARD_KEY
This property indicates that this column will be part of (or the entire) shard key.
const string INT8
This property provides optimized memory and query performance for int columns.
static string Truncate(this string value, int maxLength)
string create(Kinetica kinetica)
Given a handle to the server, creates a type in the database based on this data type.
string Username
Optional: User Name for Kinetica security
InsertRecordsRandomResponse insertRecordsRandom(InsertRecordsRandomRequest request_)
Generates a specified number of random records and adds them to the given table.
const string TIME
Valid only for 'string' columns.
const string NULLABLE
This property indicates that this column is nullable.
API to talk to Kinetica Database
Manages the insertion into GPUdb of large numbers of records in bulk, with automatic batch management...
void flush()
Ensures that all queued records are inserted into Kinetica.