13
13
import requests .exceptions
14
14
from sys import version_info
15
15
16
- from influxdb .line_protocol import make_lines
16
+ from influxdb .line_protocol import make_lines , quote_ident , quote_literal
17
17
from influxdb .resultset import ResultSet
18
18
from .exceptions import InfluxDBClientError
19
19
from .exceptions import InfluxDBServerError
@@ -552,8 +552,8 @@ def alter_retention_policy(self, name, database=None,
552
552
should be set. Otherwise the operation will fail.
553
553
"""
554
554
query_string = (
555
- "ALTER RETENTION POLICY \" {0}\" ON \" {1}\" "
556
- ).format (name , database or self ._database )
555
+ "ALTER RETENTION POLICY {0} ON {1}"
556
+ ).format (quote_ident ( name ), quote_ident ( database or self ._database ) )
557
557
if duration :
558
558
query_string += " DURATION {0}" .format (duration )
559
559
if replication :
@@ -573,8 +573,8 @@ def drop_retention_policy(self, name, database=None):
573
573
:type database: str
574
574
"""
575
575
query_string = (
576
- "DROP RETENTION POLICY \" {0}\" ON \" {1}\" "
577
- ).format (name , database or self ._database )
576
+ "DROP RETENTION POLICY {0} ON {1}"
577
+ ).format (quote_ident ( name ), quote_ident ( database or self ._database ) )
578
578
self .query (query_string )
579
579
580
580
def get_list_retention_policies (self , database = None ):
@@ -631,8 +631,8 @@ def create_user(self, username, password, admin=False):
631
631
privileges or not
632
632
:type admin: boolean
633
633
"""
634
- text = "CREATE USER \" {0}\" WITH PASSWORD ' {1}' " .format (username ,
635
- password )
634
+ text = "CREATE USER {0} WITH PASSWORD {1}" .format (
635
+ quote_ident ( username ), quote_literal ( password ) )
636
636
if admin :
637
637
text += ' WITH ALL PRIVILEGES'
638
638
self .query (text )
@@ -643,7 +643,7 @@ def drop_user(self, username):
643
643
:param username: the username to drop
644
644
:type username: str
645
645
"""
646
- text = "DROP USER {0}" .format (username )
646
+ text = "DROP USER {0}" .format (quote_ident ( username ) )
647
647
self .query (text )
648
648
649
649
def set_user_password (self , username , password ):
@@ -654,7 +654,8 @@ def set_user_password(self, username, password):
654
654
:param password: the new password for the user
655
655
:type password: str
656
656
"""
657
- text = "SET PASSWORD FOR {0} = '{1}'" .format (username , password )
657
+ text = "SET PASSWORD FOR {0} = {1}" .format (
658
+ quote_ident (username ), quote_literal (password ))
658
659
self .query (text )
659
660
660
661
def delete_series (self , database = None , measurement = None , tags = None ):
@@ -672,11 +673,12 @@ def delete_series(self, database=None, measurement=None, tags=None):
672
673
database = database or self ._database
673
674
query_str = 'DROP SERIES'
674
675
if measurement :
675
- query_str += ' FROM " {0}" ' .format (measurement )
676
+ query_str += ' FROM {0}' .format (quote_ident ( measurement ) )
676
677
677
678
if tags :
678
- query_str += ' WHERE ' + ' and ' .join (["{0}='{1}'" .format (k , v )
679
- for k , v in tags .items ()])
679
+ tag_eq_list = ["{0}={1}" .format (quote_ident (k ), quote_literal (v ))
680
+ for k , v in tags .items ()]
681
+ query_str += ' WHERE ' + ' AND ' .join (tag_eq_list )
680
682
self .query (query_str , database = database )
681
683
682
684
def grant_admin_privileges (self , username ):
@@ -688,7 +690,7 @@ def grant_admin_privileges(self, username):
688
690
.. note:: Only a cluster administrator can create/drop databases
689
691
and manage users.
690
692
"""
691
- text = "GRANT ALL PRIVILEGES TO {0}" .format (username )
693
+ text = "GRANT ALL PRIVILEGES TO {0}" .format (quote_ident ( username ) )
692
694
self .query (text )
693
695
694
696
def revoke_admin_privileges (self , username ):
@@ -700,7 +702,7 @@ def revoke_admin_privileges(self, username):
700
702
.. note:: Only a cluster administrator can create/ drop databases
701
703
and manage users.
702
704
"""
703
- text = "REVOKE ALL PRIVILEGES FROM {0}" .format (username )
705
+ text = "REVOKE ALL PRIVILEGES FROM {0}" .format (quote_ident ( username ) )
704
706
self .query (text )
705
707
706
708
def grant_privilege (self , privilege , database , username ):
@@ -715,8 +717,8 @@ def grant_privilege(self, privilege, database, username):
715
717
:type username: str
716
718
"""
717
719
text = "GRANT {0} ON {1} TO {2}" .format (privilege ,
718
- database ,
719
- username )
720
+ quote_ident ( database ) ,
721
+ quote_ident ( username ) )
720
722
self .query (text )
721
723
722
724
def revoke_privilege (self , privilege , database , username ):
@@ -731,8 +733,8 @@ def revoke_privilege(self, privilege, database, username):
731
733
:type username: str
732
734
"""
733
735
text = "REVOKE {0} ON {1} FROM {2}" .format (privilege ,
734
- database ,
735
- username )
736
+ quote_ident ( database ) ,
737
+ quote_ident ( username ) )
736
738
self .query (text )
737
739
738
740
def get_list_privileges (self , username ):
@@ -754,7 +756,7 @@ def get_list_privileges(self, username):
754
756
{u'privilege': u'ALL PRIVILEGES', u'database': u'db2'},
755
757
{u'privilege': u'NO PRIVILEGES', u'database': u'db3'}]
756
758
"""
757
- text = "SHOW GRANTS FOR {0}" .format (username )
759
+ text = "SHOW GRANTS FOR {0}" .format (quote_ident ( username ) )
758
760
return list (self .query (text ).get_points ())
759
761
760
762
def send_packet (self , packet , protocol = 'json' ):
0 commit comments