@@ -336,9 +336,10 @@ def update_state_table(
336
336
name : str, required
337
337
Name of the table.
338
338
caslib : str, optional
339
- Name of the caslib. Defaults to CASUSER.
339
+ Name of the caslib. Defaults to ` CASUSER` .
340
340
server : str, optional
341
341
Server where the `caslib` is registered.
342
+ Defaults to `cas-shared-default`.
342
343
qparams: dict, optional
343
344
Additional query parameters.
344
345
Valid keys are `sessionId`, `scope`, `sourceTableName`, `createRelationships`
@@ -352,6 +353,7 @@ def update_state_table(
352
353
RestObj
353
354
354
355
"""
356
+ server = server or DEFAULT_SERVER
355
357
caslib = caslib or DEFAULT_CASLIB
356
358
357
359
if value in ["loaded" , "unloaded" ]:
@@ -415,15 +417,15 @@ def promote_table(cls, name: str, sessId: str, caslib: str, server: str = None):
415
417
caslib : str
416
418
Name of the caslib.
417
419
server : str
418
- Server where the `caslib` is registered. Defaults to CASUSER
420
+ Server where the `caslib` is registered.
421
+ Defaults to `cas-shared-default`.
419
422
420
423
Returns
421
424
-------
422
425
RestObj
423
426
424
427
"""
425
428
server = server or DEFAULT_SERVER
426
- caslib = caslib or DEFAULT_CASLIB
427
429
428
430
query = {"value" : "global" , "sessionId" : sessId }
429
431
@@ -492,3 +494,65 @@ def save_table(
492
494
json = properties ,
493
495
)
494
496
return sess
497
+
498
+ @classmethod
499
+ def del_table (
500
+ cls ,
501
+ name : str ,
502
+ qParam : dict = None ,
503
+ caslib : str = None ,
504
+ server : str = None
505
+ ):
506
+ """Deletes a table from Caslib source. Note that is not an unload.
507
+ This operation physically removes the source table (if the source is writable).
508
+ For path-based caslibs, this physically removes the file.
509
+
510
+ Parameters
511
+ ----------
512
+ name : str
513
+ Name of the table.
514
+ qParam : dict
515
+ Query parameters. Note that some are required.
516
+ The allowed query parameters are `sessionId`,
517
+ `sourceTableName`, `quiet`, `removeAcs`.
518
+ caslib : str
519
+ Name of the caslib. Defaults to 'CASUSER'
520
+ server : str
521
+ Server where the `caslib` is registered.
522
+ Defaults to 'cas-shared-default'.
523
+
524
+ Returns
525
+ -------
526
+ RestObj
527
+ """
528
+
529
+ server = server or DEFAULT_SERVER
530
+ caslib = caslib or DEFAULT_CASLIB
531
+
532
+ allowedQ = [
533
+ "sessionId" ,
534
+ "sourceTableName" ,
535
+ "quiet" ,
536
+ "removeAcs"
537
+ ]
538
+
539
+ if isinstance (qParam ,dict ) and all (key in allowedQ for key in qParam .keys ()):
540
+ if ("sourceTableName" not in qParam .keys ()
541
+ and "quiet" not in qParam .keys ()
542
+ and "removeAcs" not in qParam .keys ()):
543
+ raise Exception (
544
+ "Missing required query parameters `sourceTableName`, `quiet`, `removeAcs`"
545
+ )
546
+ else :
547
+ query = qParam
548
+ else :
549
+ raise ValueError (
550
+ "The only acceptable query parameters are %s and must be passed in a dictionary"
551
+ % (allowedQ )
552
+ )
553
+
554
+ tbl = cls .delete (
555
+ "servers/%s/caslibs/%s/tables/%s" % (server ,caslib ,name ),
556
+ params = query
557
+ )
558
+ return tbl
0 commit comments