public MainWindow() { dicZH = new ResourceDictionary { Source = new Uri(@"Languages\ZH.xaml", UriKind.Relative) }; dicEN = new ResourceDictionary { Source = new Uri(@"Languages\EN.xaml", UriKind.Relative) }; try { StreamReader file = new StreamReader("lang.in"); string s = file.ReadLine(); if (s == "en") { Application.Current.Resources.MergedDictionaries[0] = dicEN; } else { Application.Current.Resources.MergedDictionaries[0] = dicZH; } } catch (Exception) { Application.Current.Resources.MergedDictionaries[0] = dicZH; } InitializeComponent(); SetAnimation(); if (Application.Current.Resources.MergedDictionaries[0] == dicZH) { lang.Content = "English"; } else { lang.Content = "简体中文"; } PreviewMouseMove += OnPreviewMouseMove; clr = new ClrBackend(); pgAdmin = new PgAdmin(this, clr); pgLogin = new PgLogin(this, clr); pgMyTicket = new PgMyTicket(this, clr); pgProfile = new PgProfile(this, clr); pgQuery = new PgQuery(this, clr); pgRegister = new PgRegister(this, clr); pgTrain = new PgTrain(this, clr); pgTrains = new PgTrains(this, clr); pgUser = new PgUser(this, clr); pgUsers = new PgUsers(this, clr); Logout(); pageTransition.ShowPage(pgLogin); }
protected override async Task HandleMessage(PgTransaction transaction, MessageBuilder messageBuilder, PipeWriter writer, CancellationToken token) { // TODO: Maybe support multiple SELECT statements in one query - requires parsing the SQL using var query = PgQuery.CreateInstance(QueryString, null, transaction.DocumentDatabase); var schema = await query.Init(true); if (schema.Count != 0) { await writer.WriteAsync(messageBuilder.RowDescription(schema), token); } await query.Execute(messageBuilder, writer, token); await writer.WriteAsync(messageBuilder.ReadyForQuery(transaction.State), token); }
static unsafe void Main(string[] args) { string s = "SELECT * FROM lol;"; fixed(byte *b = Encoding.UTF8.GetBytes(s)) { PgQueryParseResult res = default; try { res = PgQuery.Parse(b); Console.WriteLine(StringFromUTF8NTS(res.parse_tree)); } finally { PgQuery.FreeParse(res); } } }
public static bool TryParse(string queryText, DocumentDatabase documentDatabase, out PgQuery pgQuery) { var match = SqlRegex.Match(queryText); if (match.Success) { var tableName = match.Groups["table_name"].Value; pgQuery = new PowerBIPreviewQuery(documentDatabase, tableName); return(true); } pgQuery = null; return(false); }
public static bool TryParse(string queryText, int[] parametersDataTypes, DocumentDatabase documentDatabase, out PgQuery pgQuery) { if (PowerBIFetchQuery.TryParse(queryText, parametersDataTypes, documentDatabase, out pgQuery)) { return(true); } if (PowerBIAllCollectionsQuery.TryParse(queryText, parametersDataTypes, documentDatabase, out pgQuery)) { return(true); } if (PowerBIPreviewQuery.TryParse(queryText, documentDatabase, out pgQuery)) { return(true); } pgQuery = null; return(false); }
public static bool TryParse(string queryText, int[] parametersDataTypes, DocumentDatabase documentDatabase, out PgQuery pgQuery) { queryText = queryText.NormalizeLineEndings(); if (queryText.Equals(TableQuery, StringComparison.OrdinalIgnoreCase)) { pgQuery = new PowerBIAllCollectionsQuery(queryText, parametersDataTypes, documentDatabase); return(true); } pgQuery = null; return(false); }