def ensure_session(): global testSession global session if testSession is None: print "Creating session...\n" testSession = mysqlx.get_node_session(__uripwd) # Ensures the user on dev-api exists try: testSession.sql( "create user mike@'%' identified by 's3cr3t!'").execute() testSession.sql( "grant all on *.* to mike@'%' with grant option").execute() except: pass else: print "Session exists...\n" session = testSession
# Assumptions: validate_crud_functions available # Assumes __uripwd is defined as <user>:<pwd>@<host>:<plugin_port> from mysqlsh import mysqlx mySession = mysqlx.get_node_session(__uripwd) ensure_schema_does_not_exist(mySession, 'js_shell_test') schema = mySession.create_schema('js_shell_test') mySession.set_current_schema('js_shell_test') # Creates a test table with initial data result = mySession.sql( 'create table table1 (name varchar(50), age integer, gender varchar(20), primary key (name, age, gender))' ).execute() result = mySession.sql( 'create view view1 (my_name, my_age, my_gender) as select name, age, gender from table1;' ).execute() table = schema.get_table('table1') result = table.insert({"name": 'jack', "age": 17, "gender": 'male'}).execute() result = table.insert({"name": 'adam', "age": 15, "gender": 'male'}).execute() result = table.insert({"name": 'brian', "age": 14, "gender": 'male'}).execute() result = table.insert({ "name": 'alma', "age": 13, "gender": 'female' }).execute() result = table.insert({ "name": 'carol', "age": 14,
from mysqlsh import mysqlx # Connect to server session = mysqlx.get_node_session({ 'host': 'localhost', 'port': 33060, 'dbUser': '******', 'dbPassword': '******' }) # Get the Schema test db = session.get_schema('test') # Create a new collection myColl = db.create_collection('my_collection') # Start a transaction session.start_transaction() try: myColl.add({ 'name': 'Jack', 'age': 15, 'height': 1.76, 'weight': 69.4 }).execute() myColl.add({'name': 'Susanne', 'age': 24, 'height': 1.65}).execute() myColl.add({ 'name': 'Mike', 'age': 39, 'height': 1.9, 'weight': 74.3
exports = [] for member in all_members: if not member.startswith('__'): exports.append(member) print 'Exported Items:', len(exports) print 'get_node_session:', type(mysqlx.get_node_session), '\n' print 'expr:', type(mysqlx.expr), '\n' print 'dateValue:', type(mysqlx.date_value), '\n' print 'help:', type(mysqlx.date_value), '\n' print 'Type:', mysqlx.Type, '\n' print 'IndexType:', mysqlx.IndexType, '\n' #@ mysqlx module: get_node_session through URI mySession = mysqlx.get_node_session(__uripwd) print mySession, '\n' if mySession.uri == __displayuri: print 'Session using right URI\n' else: print 'Session using wrong URI\n' mySession.close() #@ mysqlx module: get_node_session through URI and password mySession = mysqlx.get_node_session(__uri, __pwd) print mySession, '\n'
from mysqlsh import mysqlx # Direct connect with no client side default schema defined mySession = mysqlx.get_node_session('mike:s3cr3t!@localhost') mySession.set_current_schema("test")
def createTestTable(session, name): # use escape function to quote names/identifier quoted_name = session.quote_name(name) session.sql("DROP TABLE IF EXISTS " + quoted_name).execute() create = "CREATE TABLE " create += quoted_name create += " (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT)" session.sql(create).execute() return session.get_current_schema().get_table(name) from mysqlsh import mysqlx session = mysqlx.get_node_session('mike:s3cr3t!@localhost:33060/test') default_schema = session.get_default_schema().name session.set_current_schema(default_schema) # Creates some tables table1 = createTestTable(session, 'test1') table2 = createTestTable(session, 'test2')
# Assumptions: ensure_schema_does_not_exist is available # Assumes __uripwd is defined as <user>:<pwd>@<host>:<plugin_port> # validateMemer and validateNotMember are defined on the setup script from mysqlsh import mysqlx #@ NodeSession: validating members nodeSession = mysqlx.get_node_session(__uripwd) all_members = dir(nodeSession) # Remove the python built in members nodeSessionMembers = [] for member in all_members: if not member.startswith('__'): nodeSessionMembers.append(member) validateMember(nodeSessionMembers, 'close') validateMember(nodeSessionMembers, 'create_schema') validateMember(nodeSessionMembers, 'get_current_schema') validateMember(nodeSessionMembers, 'get_default_schema') validateMember(nodeSessionMembers, 'get_schema') validateMember(nodeSessionMembers, 'get_schemas') validateMember(nodeSessionMembers, 'get_uri') validateMember(nodeSessionMembers, 'set_current_schema') validateMember(nodeSessionMembers, 'set_fetch_warnings') validateMember(nodeSessionMembers, 'sql') validateMember(nodeSessionMembers, 'default_schema') validateMember(nodeSessionMembers, 'uri') validateMember(nodeSessionMembers, 'current_schema') #@ NodeSession: accessing Schemas schemas = nodeSession.get_schemas()