Logging

This guide assumes familiarity with:

To enable default query logging, just pass { logger: true } to the waddler initialization function:

import { waddler } from 'waddler/...'; // driver specific

const db = waddler({ logger: true });

You can also create a custom logger:

import { Logger } from 'waddler';
import { waddler } from 'waddler/...'; // driver specific

class MyLogger implements Logger {
  logQuery(query: string, params: unknown[]): void {
    console.log({ query, params });
  }
}

const db = waddler({ logger: new MyLogger() });

metadata

mysql2
planetscale-serverless
tidb-serverless
// metadata type
type metadataType = {
  catalog: string;
  charsetNr?: number;
  db?: string;
  schema?: string;
  characterSet?: number;
  decimals: number;
  default?: any;
  flags: number | string[];
  length?: number;
  name: string;
  orgName: string;
  orgTable: string;
  protocol41?: boolean;
  table: string;
  type?: number;
  columnType?: number;
  zerofill?: boolean;
  typeName?: string;
  encoding?: string;
  columnLength?: number;
}[]

// metadata example
[
	{
		catalog: 'def',
		schema: '',
		name: '1',
		orgName: '',
		table: '',
		orgTable: '',
		characterSet: 63,
		encoding: 'binary',
		columnLength: 2,
		type: 8,
		flags: [ 'NOT NULL' ],
		decimals: 0,
		typeName: 'LONGLONG'
	}
]