Skip to content

Instantly share code, notes, and snippets.

View kubo's full-sized avatar

Kubo Takehiro kubo

  • Japan
View GitHub Profile
@kubo
kubo / query_as_json.rs
Created January 17, 2024 12:32
fetch rows as serde_json::Value
use oracle::{sql_type::OracleType, sql_type::ToSql, Connection, ResultSet, Row};
use std::str::FromStr;
// Usage:
//
// // conn is oracle::Connection.
// for json_result in query_as_json(&conn, sql, &[])? {
// // json_result is std::result::Result<serde_json::Value, oracle::Error>.
// let json = json_result?;
// println!("{}", json);
/*
* Copy this file to the root directory of snzip source tree and compile it as follows:
*
* gcc -o crc32_test crc32_test.c crc32.c crc32_sse4_2.c -msse4.2
*/
#include <stdio.h>
#include "crc32.h"
/* See https://tools.ietf.org/html/rfc3720#appendix-B.4 */
typedef struct {
/*
* ORACLE_HOME-based client:
*
* gcc -o test218 test218.c -I$ORACLE_HOME/rdbms/public -L$ORACLE_HOME/lib -Wl,-rpath,$ORACLE_HOME/lib -lclntsh
*
* Instant client:
*
* IC_DIR=/xxxx # Instant client directory
* gcc -o test218 test218.c -I$IC_DIR/sdk/include -L$IC_DIR -Wl,-rpath,$IC_DIR -lclntsh
*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <oci.h>
/*
Run the following SQL in advance.
drop table clob_test_1755 purge;
create table clob_test_1755 (clob_col clob);
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dpi.h>
static dpiContext *g_context;
#define chkerr(func) do { \
if ((func) < 0) { \
dpiErrorInfo err; \
@kubo
kubo / lauxlib.c
Last active May 6, 2018 14:48
os.execute('exit -1') on windows. patch.dif is a patch file for lua 5.3.x. lauxlib.c, loslib.c and liolib.c are patched files of lua 5.3.4.
/*
** $Id: lauxlib.c,v 1.289 2016/12/20 18:37:00 roberto Exp $
** Auxiliary functions for building Lua libraries
** See Copyright Notice in lua.h
*/
#define lauxlib_c
#define LUA_LIB
#include "lprefix.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dpi.h>
static dpiContext *g_context;
#define chkerr(func) do { \
if ((func) < 0) { \
dpiErrorInfo err; \
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dpi.h>
static dpiContext *g_context;
#ifndef ARRAY_SIZE
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dpi.h>
static dpiContext *g_context;
#define chkerr(func) do { \
if ((func) < 0) { \
dpiErrorInfo err; \
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <dpi.h>
static dpiContext *g_context;
#ifndef ARRAY_SIZE
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))